![]() |
![]() |
![]() |
|
Der Assembler ist so gestaltet, daß sich ein anderer/neuer Befehlssatz relativ einfach einbauen läßt. Die Auswertung der Argumente eines Befehls geschieht daher außerhalb der eigentlichen Syntax.
programm ::= befehls_zeile \
| programm NEW_LINE befehls_zeile \
\
befehls_zeile ::=\
| befehl \
| label befehl \
| label \
\
label ::= IDENT DPUNKT \
\
befehl ::= BEFEHL argumente \
| DEFINE IDENT ausdruck \
| UNDEFINE IDENT \
\
argumente ::= \
| ausdruck \
| argumente KOMMA ausdruck \
\
ausdruck ::= IDENT \
| INTEGER \
| EKLAMMER_AUF indirekt EKLAMMER_ZU \
| ausdruck PLUS ausdruck \
| ausdruck MINUS ausdruck \
| ausdruck MAL ausdruck \
| ausdruck GETEILT ausdruck \
| ausdruck MODULO ausdruck \
| KLAMMER_AUF ausdruck KLAMMER_ZU \
| MINUS ausdruck \
| PLUS ausdruck \
\
indirekt ::= IDENT PLUS ausdruck \
| IDENT MINUS ausdruck \
| ausdruck