最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】antlr在技术上的优势

ANTLR crifan 2781浏览 0评论

 

antlr的技术上的优势

1.把之前的computing lookahead的数量级,从之前的O(n^k),降低到O(n*k)

即,从指数级,降低到,线性级。

也就是所谓的:linear approximate lookahead

 

2.之前的LL(k) parser,都是k=1的。

antlr 1.0,即PCCTS做到了,第一个实现了k>1的LL(k) parser generator

 

3.由于LR Parser是在得到了更多的输入的前提下去做出判断的,所以一般来说,LR parser都要比LL(k) Parser的解析能力更强

相反地,由于需要更多的输入,则导致了parser更多的事情,确定性的解析策略(deterministic parsing strategy),由此会导致,对于一些写法很不好的代码,会解析失败(因其不完全符合标准的语法)

比如,C++。

 

【TODO:待完善】

 

参考资料

http://www.antlr2.org/contributions.html

转载请注明:在路上 » 【整理】antlr在技术上的优势

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.185 seconds, using 22.09MB memory