Syntaks-beskrivelser


Et programmeringssprog kan beskrives på flere måder.
Her gennemgås Baccus-Naur-Form og syntaksdiagrammer.

Baccus-Naur-Form (BNF)

< ... > syntaks-enhed (ikke terminaltegn)
  ::= defineres som
    | "eller" (valgmulighed)
[ ... ] indholdet kan medtages 0 eller 1 gang
{ ... } indholdet kan medtages 0, 1, 2, ... osv. antal gange

Eksempel:
(se side 67 i "DAVID" vedr. BNF for WinDavid-assembler syntaksen)

<linie> ::= <label><ordre><kommentar> | <identifier>=<konstant>

Eksemplet rummer kun ét terminalsymbol, nemlig "=".


Syntaks-diagrammer

Eksempel:
(se side 67 i "DAVID" vedr. BNF for WinDavid-assembler syntaksen)




Syntaks-træer

Når man skal beskrive differentiation af et produkt af 2 funktioner i matematik,
kan man anvende syntaks-træer:

Her er udtrykket f * g før differentiationen:

Efter differentiationen får man f ´*g + f*g ´:

På tilsvarende måde kan man opskrive de øvrige regler for differentiation af funktioner.


VISL - Visual Interactive Syntax Learning

Spændende eksempel på brug af syntakstræer i sprog & grammatik på Syddansk Universitet, Odense.

Links:
VISL - Syntakstræ
VISL - Spil: "skyd ordklasser ned i farten"