thw*_*hwd 3 parsing context-free-grammar
我正在实现 pratt 的自上而下的运算符优先级解析器,我想知道它属于哪个正式类别 - 是 LR(1) 吗?
Pratt 解析器不是 LR 解析器。而且它们也不完全是 LL 解析器。事实上,Pratt 解析器通常是用某种通用编程语言手工编写的;该技术不是基于像下推有限状态自动机这样的抽象。这使得证明关于给定 Pratt 解析器的断言变得有些困难,例如它识别特定的形式语言。
一般来说,如果语法是运算符优先级语法,Pratt 解析器可以很容易地设计为识别一种语言,因此它们可以被认为是运算符优先级解析的对偶,即使运算符优先级解析是自下而上的,而 Pratt 解析器名义上是自顶向下。跟踪 Pratt 解析器和相同语言的运算符优先级解析器的转换将显示相似性。
所以我想可能有可能为 Pratt 解析器提出一种形式主义,但据我所知,不存在。
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |