162得票6回答
为什么C++不能用LR(1)分析器解析?

我正在阅读有关解析器和解析器生成器的内容,发现维基百科的LR分析页面中有以下陈述: 许多编程语言可以使用某种变体的LR解析器进行解析。一个显著的例外是C ++。 为什么会这样呢?C ++的特定属性导致它无法使用LR解析器进行解析吗? 通过谷歌搜索,我只找到了C可以使用LR(1)进...

92得票2回答
什么是正则语言?

我试图理解语言级别的概念(常规、上下文无关、上下文相关等)。 我可以轻松查找此信息,但是所有我找到的解释都是一堆符号,并且谈论了“集合”。 我有两个问题: 您能用通俗易懂的语言描述什么是常规语言,以及这些语言之间的区别吗? 人们在哪里学习了解这些内容?据我所知,这是正式的数学知识?我在大...

44得票4回答
为什么我们需要前缀、后缀表示法

我知道它们之间如何相互转换,但从未真正理解它们的应用。通常的中缀操作非常易读,但是它在哪些方面失败了,导致了前缀和后缀表示法的出现呢?

35得票2回答
哪些当代计算机语言是 LL(1) 的?

(我正在用假期时间研究一些语言理论,如果这是一个幼稚的问题,请见谅。) 根据此处所述: LL语法,特别是LL(1)语法,具有很大的实际意义,因为这些语法的解析器易于构建,并且许多计算机语言都是为了这个原因而设计成LL(1)。 出于好奇,那么哪些当代计算机语言是LL(1)?C、Ja...

28得票5回答
在哪里可以找到MATLAB的正式语法?

我想编写一个词法分析器生成器,将 MATLAB 语言的基本子集转换为 C#、C++ 等语言。为了帮助我完成这个工作,我想找到包含 MATLAB 正式语法的文档。经过一些调查,似乎 Mathworks 并没有提供这样的文档。 有人知道我能在哪里找到这样的文档吗?

27得票3回答
现代正则表达式引擎可以解析哪些形式语言?

在SO上,人们有时会说“你不能用正则表达式解析X,因为X不是一个正则语言”。然而,从我的理解来看,现代正则表达式引擎可以匹配更多不仅仅是乔姆斯基的意义下的正则语言。我的问题是: 如果给定一个支持以下功能的正则表达式引擎: - 反向引用 - 无限宽度的环视断言 - 递归,如(?R) 它能解...

22得票2回答
左线性和右线性语法

我需要帮助构建以下语言的左线性和右线性文法?a) (0+1)*00(0+1)* b) 0*(1(0+1))* c) (((01+10)*11)*00)* 对于 a) 我有以下内容:Left-linear S --> B00 | S11 B --> B0|B1|011 Rig...

19得票3回答
JavaScript是一种无上下文语言吗?

这篇关于浏览器如何工作的文章解释了CSS是上下文无关文法,而HTML则不是。但JavaScript呢?JavaScript是上下文无关的吗? 我正在学习CFG和正式证明,但离理解如何解决这个问题还有很长的路要走。有人知道JavaScript是上下文无关的还是不是吗?

18得票3回答
乔姆斯基谱系和编程语言

我正在尝试学习与编程语言相关的某些Chomsky层次结构方面的内容,我还需要阅读《龙书》。 我已经了解到大多数编程语言可以被解析为上下文无关文法(CFG)。就计算能力而言,它等同于一个下推非确定性自动机。我的理解正确吗? 如果是这样,那么CFG如何包含无限制文法(UG),它是图灵完备的呢?...

17得票4回答
创建“无上下文语法”的技巧

我是CFG的新手,可以有人给我一些创建生成某种语言的CFG的提示吗? 例如: L = {a^m b^n | m >= n} 我得到的是: So -> a | aSo | aS1 | e S1 -> b | bS1 | e 但我认为这个区域是错误的,因为b的数量可能大于a的数量。