Syntaks fejl - Syntax error

I datalogi er en syntaksfejl en fejl i syntaksen for en sekvens af tegn eller tokens, der er beregnet til at blive skrevet i kompileringstid . Et program vil ikke kompilere, før alle syntaksfejl er rettet. For fortolkede sprog kan der imidlertid opdages en syntaksfejl under programkørsel , og en tolks fejlmeddelelser kan muligvis ikke differentiere syntaksfejl fra fejl af anden art.

Der er en vis uenighed om, hvilke fejl der er "syntaksfejl". For eksempel vil nogle sige, at brugen af ​​en ikke -initialiseret variabels værdi i Java -kode er en syntaksfejl, men mange andre ville være uenige og klassificere dette som en (statisk) semantisk fejl.

I 8-bit hjemmecomputere, der brugte BASIC tolk som deres primære brugergrænseflade, blev SYNTAX ERROR fejlmeddelelsen noget berygtet, da dette var svaret på enhver kommando eller brugerinput, tolken ikke kunne analysere.

En syntaksfejl kan også forekomme, når en ugyldig ligning indtastes i en lommeregner . Dette kan f.eks. Skyldes, at du åbner parenteser uden at lukke dem, eller mindre almindeligt, at du indtaster flere decimaler i et tal.

I Java er følgende en syntaktisk korrekt sætning:

System.out.println("Hello World");

mens følgende ikke er:

System.out.println(Hello World);

Det andet eksempel ville teoretisk trykke variablen i Hello Worldstedet for ordene "Hej verden". En variabel i Java kan dog ikke have et mellemrum, så den syntaktisk korrekte linje ville være System.out.println (Hello_World).

En kompilator markerer en syntaksfejl, når en kildekode gives, der ikke opfylder kravene i sprogets grammatik.

Typefejl (f.eks. Et forsøg på at anvende ++ inkrementoperatoren på en boolsk variabel i Java) og ikke-erklærede variabelfejl betragtes undertiden som syntaksfejl, når de opdages ved kompileringstidspunktet. Det er dog almindeligt at klassificere sådanne fejl som (statiske) semantiske fejl i stedet.

Syntaksfejl på lommeregnere

Image
Syntaksfejl i en videnskabelig lommeregner

En syntaksfejl er en af ​​flere typer fejl på lommeregnere (oftest fundet på videnskabelige lommeregnere og grafregnere ), hvilket repræsenterer, at den ligning, der er blevet indtastet, har en forkert syntaks for tal, operationer og så videre. Det kan resultere på forskellige måder, herunder men ikke begrænset til:

  • Et åbent beslag uden at lukke parenteser (medmindre manglende lukkeparentes er i slutningen af ​​ligningen)
  • Brug af minustegn i stedet for negativt symbol (eller omvendt), som er forskellige på de fleste videnskabelige lommeregnere. Bemærk, at mens nogle videnskabelige lommeregnere tillader et minustegn at stå for et negativt symbol, er det omvendte mindre almindeligt.
  • Manglende tal i en ligning (f.eks. "12 + × 5", mangler et tal mellem + og × tegnene)

De må ikke forveksles med matematiske fejl (for eksempel ved dividering med 0 , eller ligningen resulterer i for stort et tal til at blive vist). De fleste ikke-videnskabelige lommeregnere har ikke sondring mellem forskellige former for fejl (ofte vist med et E), hovedsageligt fordi der er mindre fleksibilitet i input (forhindring af syntaksfejl). Nogle lommeregnere (især videnskabelige lommeregnere) har også andre typer fejl, såsom stakfejl.

Se også

Referencer