Грамматика языка С: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Ksanderer (обсуждение | вклад) (Новая: progr: | progr OperatorSequence ; Operator: def | assign | if | while | OutPut | BOperator ; BOperator: BEGIN OperatorSequense END ; OperatorSequense: | Operatorsequense op...) |
Ksanderer (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
progr: | <source lang="">progr: | ||
| progr OperatorSequence | | progr OperatorSequence | ||
; | ; | ||
Строка 53: | Строка 53: | ||
const : intConst | const : intConst | ||
| | | realConst | ||
if: IF LB expr RB operator elsepart | if: IF LB expr RB operator elsepart | ||
Строка 62: | Строка 62: | ||
while: WHILE LB expr RB operator | while: WHILE LB expr RB operator | ||
</source> |
Текущая версия от 14:23, 15 сентября 2011
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