Синтез синтаксического анализатора

Описание формальной грамматики

Грамматика целевого символа:

 

(1) <S> -> using <USING_LIST> <NEXT>

(2) <S> -> public <CLASS> <NEXT>

(3) <NEXT> ->; <S>

(4) <NEXT> -> e

 

Грамматика описания using:

 

(5) <USING_LIST> -> ID <NEXT_USING>

(6) <NEXT_USING> ->. <USING_LIST>

(7) <NEXT_USING> -> e

 

Грамматика описания класса:

 

(8) <CLASS> -> class ID { <CLASS_BODY> }

(9) <CLASS_BODY> -> public <DEF> <NEXT_BODY>

(10) <NEXT_BODY> ->; <CLASS_BODY>

(11) <NEXT_BODY> -> e

 

Грамматика описания определения полей и методов класса:

 

(12) <DEF> -> uint <DEF_LIST>

(13) <DEF> -> bool <DEF_LIST>

(14) <DEF> -> const long int <DEF_LIST>

(15) <DEF_LIST> -> ID <NEXT_DEF>

(16) <NEXT_DEF> -> (<VAR_LIST>) { <OPER_LIST> }

(17) <NEXT_DEF> ->, <VAR_LIST>

(18) <NEXT_DEF> -> = <EXPR> <VAR_LIST>

(19) <NEXT_DEF> -> e

(20) <VAR_LIST> -> ID <NEXT_VAR>

(21) <NEXT_VAR> ->, <VAR_LIST>

(22) <NEXT_VAR> -> = <EXPR> <VAR_LIST>

(23) <NEXT_VAR> -> e

 

Грамматика описания списка операторов:

 

(24) <OPER_LIST> -> <OPERATOR> <NEXT_OPER>

(25) <NEXT_OPER> ->; <OPER_LIST>

(26) <NEXT_OPER> -> e

 

Грамматика описания операторов:

 

(27) <OPERATOR> -> for (ID = <EXPR>; <COND>; ID <LET>) { <OPER_LIST> }

(28) <OPERATOR> -> break

(29) <OPERATOR> -> continue

(30) <OPERATOR> -> write (<VAR_LIST>)

(31) <OPERATOR> -> read (<VAR_LIST>)

(32) <OPERATOR> -> ID <LET>

(33) <LET> -> = <EXPR>

(34) <LET> -> * = <EXPR>

(35) <LET> -> / = <EXPR>


Грамматика описания арифметического выражения:

 

(36) <EXPR> -> (<EXPR>) <OPERATION>

(37) <EXPR> -> ID <OPERATION>

(38) <EXPR> -> NUM <OPERATION>

(39) <OPERATION> -> + <EXPR>

(40) <OPERATION> -> - <EXPR>

(41) <OPERATION> -> e

 

Грамматика описания условия:

 

(42) <COND> -> (<COND>) <RELATION>

(43) <COND> -> <EXPR> <RELATION>

(44) <RELATION> -> > <COND>

(45) <RELATION> -> < <COND>

(46) <RELATION> -> = = <COND>

(47) <RELATION> -> e

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: