运算符语法和运算符优先级语法有什么区别?也要举例说明。 我正在为考试做准备,但找不到。
答案 0 :(得分:1)
在运算符语法中,右侧不为空,也没有两个连续的非终结符。运算符优先级语法是其运算后的优先级关系明确的运算符语法。
尽管您可能会在大学里就读,但如今弗洛伊德(Floyd)在1963年发表的论文似乎受到限制。但基本属性在Stefano Crespi-Reghizzi 1978年的论文Algebraic Properties of operator precedence languages的前两页中进行了总结。
答案 1 :(得分:0)
运算符语法:为定义数学运算符而生成的语法或identifier
被称为运算符语法,对语法有一些限制。
示例:E->E+E/E*E/id
其中; 运算符优先级语法是无上下文语法,它具有以下特性:没有任何产品的右侧有一个空的右侧(空产品)或两个相邻的非终端。 示例:
S->SAS/a
A->bSb/b
尽管如此,我们可以将其转换为运算符语法:
S->SbSbS/SbS/a
A->bSb/b
希望它会对您有所帮助。为了进一步学习,您可以查看此内容
https://www.geeksforgeeks.org/theory-computation-operator-grammar-precedence-parser/