Грамматика языка С
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
progr:
| progr OperatorSequence
;
Operator: def
| assign
| if
| while
| OutPut
| BOperator
;
BOperator: BEGIN OperatorSequense END
;
OperatorSequense:
| Operatorsequense operator
;
def: ident varlist SEMICOLUMN
;
varlist: ident
| varlist COMMA ident
;
assgin: ident ASS expr SEMICOLUMN
;
expr
: ident
| INTNUM
| REALNUM
| TRUE
| FALSE
| MINUS expr %prec UMINUS
| LB expr RB
| expr PLUS expr
| expr MINUS expr
| expr MULT expr
| expr DIVIDE expr
| expr EQ expr
| expr NE expr
| expr LT expr
| expr LE expr
| expr GT expr
| expr GE expr
;
operand: ident
| const
;
const : intConst
| realConst
if: IF LB expr RB operator elsepart
;
elsepart:
| operator
while: WHILE LB expr RB operator