介绍
文法,是在 词法分析 节点
一个形式文法是一个有序四元组 G=(V,T,S,P),其中:
- V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符。
- T:终结符。是语言的组成部分,是最终结果。
- S:起始符。是语言的开始符号。
- P:产生式。用终结符替代非终结符的规则
例子
分析
a、b没有推导,所以是
终结符 TS、A可以推导出其他,所以是
非终结符 V。推导过程也就是产生式 PS 是起始符,从 S 开始推导
|代表或的意思。如:S -> aAS|a,表示可以推导出aAs或a。注意: 没有先后顺序
解答
题
简单算术表达式的结构可以用下面的上下文无关文法进行描述(E为开始符号),()是符合该文法的句子。
E -> T|E+T
T -> F|T*F
F -> -F|N
N→0|1|2|3|4|5|6|7|8|9
A、2--3*4
B、2+-3*4
C、(2+3)*4
D、2*4-3
分析
选项C
有 (),但是在推导式中没有,所以是错误的
选项A
2--3*4 转成=> 2 - (-3)*4 转成=> 2 + -( (-3)*4 )
看出有些复杂,先不算 A
选项B
2+-3*4 转成=> 2 + (-3) * 4
技巧:
从左往右看,是
加法运算,根据E -> E+T推导出接下来,要将
T推导出(-3) * 4
具体如下:


