Brzozowski正则表达式对语法的导数方法的推广?


18

Brzozowski的导数方法是一种非常漂亮的技术,可以以很好的代数方式从正则表达式构建确定性自动机。我已经对该技术进行了一些可爱的概括,以处理更大的语法类别,但是这些算法非常简单明了,因此很可能以前就已经发现了它们。但是,谷歌搜索对该技术的后代的引用似乎并不多。有人知道吗?


2
我对您正在考虑的语法类别感到很好奇。关于后代,Antimirov的技术非常好,它可以产生不确定的自动机,它非常好:正则表达式和有限自动机构造的偏导数,TCS 155(2),1996,(dx.doi.org/10.1016/0304-3975 ( 95 )00182-4)。
西尔万

您是说对更复杂的语言的概括,例如常规<上下文无关<上下文敏感<...?
s8soj3o289

我一直在寻找CFG子系统,这些子系统大多位于VPL附近。
Neel Krishnaswami

...但那时导数集不是有限的。的确,如果您想要像Brzozowski的方法那样具有确定性的东西,则可能只限于DCFL(因此我认为对于VPL来说是有意义的)。
西尔万

Answers:



12

您可能对本文感兴趣:

Yacc已死,马修·威特(David Might)和戴维·达赖斯(David Darais),2010年

我们提出了两种新颖的方法来解析上下文无关的语言。第一种方法基于Brzozowski派生词从正则表达式到上下文无关文法的扩展。第二种方法基于派生器对解析器组合器的泛化。这些技术的回报是一个小型的(少于250行代码),易于实现的解析库,能够将任意上下文无关的语法解析为惰性解析森林。提供了Scala和Haskell的实现。使用S-Expressions的初步实验每秒可解析数百万个令牌,这表明该技术足够有效地用于实践。

也可能引起关注:


非常有趣的论文标题!:-)
戴乐

7

早在80年代中期,当我从事递归上升解析器和语法分解的工作时,我首先定义了语法的偏导数。

那里有很多不错的理论。

您有什么具体问题吗?


现在,我只是在四处寻找相关工作。由于我一直在考虑递归下降解析器,因此我会像您所建议的那样找到适用于LR样式解析的应用程序。你能指出我的任何论文吗?
Neel Krishnaswami
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.