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"