context-free-grammar相关内容

使用NLTK检查英语语法

我开始使用 NLTK库,我想检查一下英语句子是否正确是否. 示例: “他看见鲍勃"-不正确 “他看见鲍勃"-正确 我阅读了此,但这对我来说很难. 我需要一个简单的例子. 解决方案 语法检查是NLP研究的活跃领域,因此目前尚无100%的答案(甚至可能没有80%的答案).最简单的方法(或至少是一个合理的基线)是一个n-gram语言模型(规范话音长度的LM概率并为“语法" ..
发布时间:2020-05-18 00:40:33 其他开发

PEG和CFG有什么区别?

从此维基百科页面: 之间的根本区别 上下文无关的语法和解析 表达语法是PEG的 选择运算符已订购.如果 第一个选择成功,第二个 替代方案被忽略.因此下令 选择不是可交换的,不像 无序选择,如无上下文 语法和正则表达式. 有序选择类似于软 削减一些逻辑运算符 编程语言. 为什么PEG的选择运算符会使匹配短路?是因为要尽量减少内存使用(由于记忆)? 我不确定正则表达式中的选择运算符是 ..

JavaScript是一种上下文无关语言吗?

这篇关于浏览器如何工作的文章解释了CSS如何无上下文,而HTML是不。但是,JavaScript的上下文是免费的吗? 我正在学习CFG和正式证明,但距离理解如何解决这个问题还有很长的路要走。有没有人知道JavaScript是否没有上下文? 解决方案 不,JavaScript不是一种无上下文的语言。 非常接近1,ECMAScript 5规范确实使用上下文 - 免费语法 1 来描述 ..
发布时间:2019-06-06 01:04:47 前端开发

Java,C ++,C#等如何解决这种特殊的句法模糊性与<和>?

我曾经认为C ++是一个“奇怪的”,与 的所有含糊不清,但在尝试实现解析器之后,我想我找到了一个打破 每个 语言的示例,该语言使用 用于泛型类型: f(g (j)); 这可能在语法上被解释为泛型方法调用( g ),或者可以解释为给出 f 两次比较的结果。 如何做这些语言(特别是Java,我认为应该是LALR(1) -parsable?)解决这种语 ..
发布时间:2018-12-25 20:30:27 Java开发

是csv格式常规语法还是上下文无关文法?

我目前正在写一个csv解析器。 csv格式的定义由 RFC4180 (由ABNF定义)给出。所以csv的定义绝对是一个没有contex的语法。但是,我想知道csv是否是正规语法?所以我可以解析它只用一个有限状态机。 解决方案 如果是正规语法,可以通过有限状态机解析,那么是否也可以通过正则表达式解析? div> 这个问题没有明确的答案,因为CSV是一个非常宽松的格式。在我观察到的CSV阅读器 ..
发布时间:2017-02-24 21:40:36 Office

左递归消除

我尝试通过消除间接递归,然后直接递归来消除CFG中的左递归,因为此算法显示。 我会用这个语法: A = A a | A B C | B C | DD 当 i = 1 和 j = 1 我们正在寻找将 A - > A r 格式的所有作品替换为: A - >δ 1 γ | δ 2 γ | .. | δ k γ 所以当我看看匹配的 A - ..
发布时间:2016-12-22 23:25:20 其他开发

LL1语法中的左递归消除

我试图从语法的以下提取中消除左递归 - expression:= fragment((+ | - | * | /)fragment)* fragment:= identifier |数字| (+ | - )片段|表达式 问题是表达式可以去片段,可以去表达式。我已经尝试了一堆方法来消除它,一些看起来像他们工作(在JavaCC),但我不能确定他们的正确性,和b)肯 ..
发布时间:2016-12-22 22:24:59 Java开发

如何定义编程语言的语法

如何为要从头设计的新编程语言(命令式编程语言)定义语法(无上下文)。 换句话说: 解决方案 一次只能执行一次步骤。 没有认真的,从表达式和运算符开始,向上到语句,然后到函数/类等。保存一个用于什么标点符号的列表。 在并行定义语法中引用变量,数组,散列,数字文字,字符串文字,其他内置文字。 要检查你的语法是否有意义关注一个关卡(文字/变量,运算符,表达式,语句,函数等 ..

如何使用分析树?

我目前正在学习解析器。我一直在看视频,并试图写代码,但我开始很难理解。我认为可能会理解一个解析器的动机可以帮助我们理解它们的工作原理以及它们应该如何构建。 解析器将获取一串令牌并创建一个解析树。我可以理解一个解析树是什么,但我只是不知道如何使用。最终,编译器使用解析树来创建机器代码,但它究竟是如何做到这一点?可以有人给我一个例子吗? 还有什么是解析(和解析树)用于? 解决方案 ..
发布时间:2016-12-22 14:30:51 其他开发

是否有标准的C ++语法?

标准是否指定官方的C ++语法? 我搜索过,但没有找到它。 另外,我想详细了解一下C ++语法,比如它所属的语法类别等等。任何指向正确方向的链接都会有所帮助。 按类别,我的意思是 取自这里。 解决方案 是的, 语法在整个标准中有详细的描述,并在附录A:语法摘要(在C ++ 03标准和C ++ 0x final final draft draft。) 您可 ..

是D的语法真的上下文无关吗?

我已经在几个月前在D新闻组发布了这个消息,但由于某种原因,答案从来没有说服我,所以我想我会在这里问。 D的语法显然无上下文/ a>。 然而,C ++的语法不是(即使没有宏)。(请仔细阅读) em>现在批准,我什么也不知道(正式)关于编译器,词法分析器和解析器。所有我知道的是从我在网络上学到的。 这里是什么(我相信)我已经理解上下文,在不那么技术lingo: 语言的语法 ..
发布时间:2016-10-22 17:13:21 C/C++开发