首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于分析编程语言的CKY

用于分析编程语言的CKY
EN

Stack Overflow用户
提问于 2012-04-30 01:42:55
回答 1查看 430关注 0票数 1

使用CKY图表解析算法来解析编程语言的语法(知道它主要用于解析自然语言的语法)是个好主意吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-30 01:54:29

CKY可以解析任何上下文无关的语言,但与其他语言相比,时间复杂度并不高。CKY要求语法是Chomsky范式,这可能会扩大语法的大小,并影响运行时间。对于快速语法分析器来说,这是一种不错的方法,但是当您试图扩展到更大的输入或复杂的语法时,就会遇到问题。

如果您正在寻找一种易于理解且实现相对简单的解析算法,请看一下解析表达式语法(PEGs)。它们可以识别上下文无关语言的很大子集,以及一些上下文敏感度有限的语言。一旦您有了一个可以正常工作的PEG解析器,就很容易添加memoization,这就为您提供了一个线性时间内运行的Packrat解析器。关于允许左递归语法的PEGsPackratthis extension的学术论文都是很容易理解的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10374390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档