Reserverat ord

Ett reserverat ord (eller nyckelord ) är ett ord i programmeringsspråk som har en speciell betydelse. Identifierare med sådana namn är förbjudna.

I lexikal analys visas ett reserverat ord som ett enda tecken av en speciell typ.

Exempel

Direktiv

Direktiv  är ett ord som är reserverat uteslutande i sitt sammanhang; identifierare med sådana namn är fullt möjliga. I Pascal är direktiv ordenread,write,forward,near,faroch några andra.

Till exempel i kod

egenskap XXX : heltal läs fXXX skriv SetXXX ;

readoch writeär direktiv, i motsats till en identifierare writei kod

skriv ( x ) ; // System.Write-funktionen anropas, som skriver ut x till konsolen

Reserverade ord och språkoberoende specifikation

Reserverade ord ger ett visst problem när man översätter text från språk till språk (och ibland även från kompilator till kompilator) och när man skriver programvara vars olika delar är skrivna på olika språk - det kan hända att i språk A skapas en identifierare, vilket är ett reserverat ord av språket B och därför kommer det att vara otillgängligt. Försök vanligtvis undvika ord som är reserverade på något av de välkända språken. Det händer dock att med utvidgningen av språket går ordet från det tillåtna in i det reserverade. Här är några sätt att lösa detta problem.

  • Ungersk notation och andra liknande sätt att namnge variabler gör att identifierare skiljer sig tydligt från nyckelord på alla språk.
  • .NET kräver att alla kompatibla språk tillåter på något sätt att ställa in en identifierare som matchar ett nyckelord. Till exempel i C# är ett ord thisett reserverat ord och @this en identifierare.
  • På liknande sätt gjorde de i den inbyggda Pascal -assemblern : eax - ett reserverat ord (registernamn), &eax - en identifierare.
  • I C börjar alla reserverade ord som inte är standard (leverantörs- och plattformsspecifika) med två understreck. Till exempel, i C Builder kan det finnas en post så här:
__fastcall int DoSomething ( int x ) I det här fallet skrivs det plattformsspecifika reserverade ordet __fastcall(se Calling Convention ) med två understreck.
  • I Embarcadero Delphi kan du byta namn på en funktion som importerats från en DLL som du vill och undvika korsning.

Se även