1.终结符
它们不能被分解成更小的单位。确切地说,一个语法的规则不能改变终结符。例如说,下面的语法有两个规则:
x -> xa
x -> ax
在这种语法之中,a是一个终结符,因为没有规则可以把a变成别的符号。不过,有两个规则可以把x变成别的符号,所以x是非终结符。一个形式语法所推导的形式语言必须完全由终结符构成。
2.非终结符
非终结符是可以被取代的符号。一个形式文法中必须有一个起始符号;这个起始符号属于非终结符的集合。
3.举例
下面使用巴科斯范式的变种来表示:
integer ::= [’-’] digit {digit}
digit::= ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’
在这个例子之中,符号 (-,0,1,2,3,4,5,6,7,8,9) 都是终结符,而 digit 和 integer 都是非终结符。
终结符号和非终结符号
最新推荐文章于 2023-06-24 16:53:17 发布