运算符文法和运算符优先文法有什么区别?也举例说明

What is the difference between operator grammar and operator precedence grammar? Explain with examples too

运算符语法和运算符优先语法有什么区别?也举例说明。 我正在准备考试,但找不到。

在运算符语法中,没有右侧为空,也没有两个连续的非终结符。运算符优先文法是一种运算符文法,其计算的优先关系是明确的。

弗洛伊德 1963 年的论文如今似乎已被付费墙,尽管您可能可以在您的大学访问。但基本属性在 Stefano Crespi-Reghizzi 1978 年论文的前几页进行了总结,Algebraic Properties of operator precedence languages

运算符语法:为定义数学运算符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/