Det finns vissa relationer mellan syntax och semantik där varje semantiskt element är kopplat till minst en syntaktisk återgivning och den andra försäkrar att varje syntaktisk representation har en särskiljande betydelse.
Jämförelsediagram
Grunder för jämförelse | Syntax | Semantik |
---|---|---|
Grundläggande | Tillåten fraser av ett språk. | Tolkning av fraserna. |
fel | Hanteras vid sammanställningstiden. | Konfronteras vid körning. |
Relation | Syntaktisk tolkning måste ha viss särskiljande betydelse. | Semantisk komponent är associerad med en syntaktisk representation. |
Definition av syntax
Syntaxen i ett programmeringsspråk används för att indikera strukturen av program utan att överväga deras mening. Det betonar i grunden strukturen, utformningen av ett program med sitt utseende. Det handlar om en samling regler som validerar sekvensen av symboler och instruktioner som används i ett program. Den pragmatiska och beräkningsmodellen visar dessa syntaktiska komponenter i ett programmeringsspråk. Verktygen som utvecklats för specifikationen av syntaxen i programmeringsspråken är regelbundna, kontextfria och attribut grammatiker.
Vad är grammatikens användning i denna aspekt? Grammerna är i allmänhet omskrivningsreglerna vars syfte är att identifiera och generera programmen. Grammatik lita inte på beräkningsmodellen istället för att användas i beskrivningen av språkets struktur. Grammatiken innehåller en begränsad uppsättning grammatiska kategorier (t.ex. substantivfras, verbsatsning, artikel, substantiv etc), ensamma ord (element i alfabeterna) och de välformulerade reglerna för att specificera ordningen inom vilka komponenter i de grammatiska kategorierna ska visas.
Syntaxanalys är en uppgift som utförs av en kompilator som undersöker om programmet har ett korrekt associerat derivatträd eller ej.
Syntaxen i ett programmeringsspråk kan tolkas med hjälp av följande formella och informella tekniker:
- Lexisk syntax för att definiera reglerna för grundläggande symboler med identifierare, bokstäver, punctuators och operatörer.
- Betongsyntax anger den verkliga representationen av programmen med hjälp av lexiska symboler som dess alfabet.
- Abstrakt syntax överför endast den viktiga programinformationen.
Typer grammatiker
- Kontextfri grammatik används vanligtvis för att ta reda på hela språkstrukturen.
- Regelbundna uttryck beskriver de lexiska enheterna (tokens) i ett programmeringsspråk.
- Attribut grammatiker anger den kontextkänsliga delen av språket.
Definition av semantik
Semantik termen i ett programmeringsspråk används för att räkna ut förhållandet mellan syntaxen och beräkningsmodellen. Det betonar tolkningen av ett program så att programmeraren kan förstå det på ett enkelt sätt eller förutsäga resultatet av programkörning. Ett tillvägagångssätt som kallas syntaxstyrd semantik används för att kartlägga syntaktiska konstruktioner till beräkningsmodellen med hjälp av en funktion.
Semantiken för programmeringsspråket kan beskrivas med olika tekniker - Algebraisk semantik, Axiomatisk semantik, Operativ semantik, Denotations semantik och Translation semantik.
- Algebraisk semantik tolkar programmet genom att definiera en algebra.
- Axiomatisk semantik bestämmer betydelsen av ett program genom att bygga påståenden om en förening som håller fast vid varje punkt i programmets genomförande (dvs. implicit).
- Operativ semantik jämför språkna till abstrakt maskin, och programmet utvärderas sedan som en sekvens av tillståndsövergångarna.
- Denotationssemantiken uttrycker programmets mening i form av en uppsättning funktioner som fungerar i programtillståndet.
- Translational semantik fokuserar på de metoder som används för att översätta ett program till ett annat språk.
Viktiga skillnader mellan syntak och semantik
- Syntax avser strukturen i ett program som skrivs på ett programmeringsspråk. Å andra sidan beskriver semantiken förhållandet mellan programmets känsla och beräkningsmodellen.
- Synaktiska fel hanteras vid sammanställningstiden. Däremot är semantiska fel svåra att hitta och möter vid körning.
- Till exempel, i c ++ deklareras variabeln s som "int s;", för att initiera den måste vi använda ett heltal värde. I stället för att använda heltal har vi initialiserat det med "Seven". Denna deklaration och initialisering är syntaktiskt korrekt men semantiskt felaktig eftersom "Sju" inte representerar heltal.
Slutsats
Syntaxen i ett programmeringsspråk är en samling regler för att ange kodens struktur eller form medan semantiken avser tolkningen av koden eller den associerade betydelsen av symbolerna, tecknen eller någon del av ett program.