LL(1)文法

<程序>-><声明列表>|<函数><程序>|ε

<声明列表>-><声明>|<声明><声明列表>

<声明>-> #include < 标识符 . h >

<函数>-><修饰符><标识符><形式参数><复合语句>

<修饰符>->void | int |char |float|double

<标识符>-> <D>|<D><标识符>|<N><标识符>

<D>->a|b|...|z

<N>->0|1|2|...|9

<F>->1|2|...|9

<数字>-><F><数字>|<N><数字>

<形式参数>-><修饰符><标识符>

<复合语句>->{<语句列表>}

<语句列表>-><语句>|<语句><语句列表>

<语句>-><条件语句>|<赋值语句>

<条件语句>-><S1>|<S2>

<S1>->if<b><条件语句> else <条件语句>

<S2>->if <b><条件语句>|<复合语句>

<b>-><逻辑表达式>

<逻辑表达式>-><标识符>|<N>|<逻辑运算符>|<标识符>|<N>

<逻辑运算符>-> >|=|>=|<=|<|!=

<赋值语句>-><标识符>=<表达式>

<表达式>-> T P|T

p-> +T | -T |ε

T->F*F|T/F|F

F->(表达式)|i

i-><数字> | <标识符>

 

posted @ 2016-12-08 07:54  164-刘东  阅读(314)  评论(0编辑  收藏  举报