Грамматика языка С

Материал из Вики проекта 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