context-free-grammar

context-free-grammar

文章 0 浏览 3

消除 E := EE+|EE-|id 的左递归

如何消除以下语法的左递归? E := EE+|EE-|id 使用通用过程: A := Aa|b 翻译为: A := b|A' A' := ϵ| Aa 将其应用到我们得到的原始语法: A = E, a …

无戏配角 2024-08-08 19:19:39 4 0

一元加法的上下文无关语法

给定一个 1 的字母表,我想解析以下形式的加法: 1^k + 1^j = 1^k+j 这很容易用下推自动机来表示,只需将前两个 1 中的每一个 1 压入堆栈,然后弹出最…

一江春梦 2024-08-08 00:39:02 4 0

上下文无关语法定义中的可选终止符与强制终止符

在有关编译器的书籍章节中,有以下语法定义和示例代码。 ... statement: whileStatement | ifStatement | ... // Other statement possibilities | '{…

瑾兮 2024-08-03 18:37:31 4 0

使用 XML 的 EBNF 实现 XML 转换器

我正在考虑使用编译器生成器实现 XML 转换器的想法,该编译器生成器基于 W3C 的 XML 1.1规范,其中包括完整的EBNF语法。 更准确地说,我计划使用 Qi-Y…

七秒鱼° 2024-08-03 10:51:55 3 0

将 CFG 转换为 IL

我从任意 IL 构建一个 CFG,并希望将该 CFG 转换回 IL。 CFG中顶点的顺序当然不等于原始IL指令的顺序。 这很好,但有些东西过于复杂。想象一下: Jump…

眼藏柔 2024-08-02 14:48:54 5 0

是 C++ 上下文无关还是上下文相关?

我经常听到这样的说法:C++ 是一种上下文相关语言。 举个例子: a b(c) 这是变量定义还是函数声明? 这取决于符号c的含义。 如果 c 是一个变量,则 ab…

很快妥协 2024-07-29 03:10:16 9 0

解析 Gmail 风格的高级搜索语法?

我想使用 Perl 解析类似于 Gmail 提供的搜索字符串。 示例输入为“tag:thing by:{user1 user2} {-tag:a by:user3}”。 我想将其放入树形结构中,如 {a…

寂寞花火° 2024-07-27 20:12:39 7 0

如何消除以下语法中的左递归?

这是语法,它应该描述一种以逗号作为分隔符的嵌套大括号的语言: L ::= {L} | L,L | 我希望语法接受和拒绝的一些字符串示例: 接受: {,{,,{,}},,{,}}…

扛起拖把扫天下 2024-07-26 07:16:26 7 0

LL 和递归下降解析器之间的区别?

我最近一直在尝试自学解析器(用于语言/上下文无关语法)如何工作,除了一件事之外,大多数内容似乎都是有意义的。 我特别关注LL(k)语法,其中两个主…

淡淡绿茶香 2024-07-25 09:44:21 9 0

我如何构建生成这种语言的语法?

我正在研究有限自动机和 语法测试,我被这个问题困住了: Construct a grammar that generates L: L = {a^n b^m c^m+n|n&gt=0, m&gt=0} 我相信我的产…

原谅我要高飞 2024-07-24 08:27:49 8 0

描述正则表达式的上下文无关语法?

我正在尝试编写一个正则表达式引擎。 我想手工编写一个递归下降解析器。 对于正则表达式语言(不是可以用正则表达式描述的语言)来说,没有左递归的上…

淡莣 2024-07-23 05:18:57 7 0

哪些编程语言是上下文无关的?

或者,更准确地说:哪些编程语言是由上下文无关语法定义的? 据我所知,由于宏和模板之类的原因,C++ 并不是上下文无关的。 我的直觉告诉我,函数式语…

意中人 2024-07-22 06:14:14 14 0

寻求一个交互式实用程序来创建上下文无关的解析器语法

我想要一个实用程序,我可以给出一段文本(在文本框中)并尝试解析器语法(通过编辑类似的 BNF)和标记结构,同时我可以看到解析树的外观(如果它是无…

浸婚纱 2024-07-19 19:45:54 7 0

分割字符串(尤其是在 Java 中使用 java.util.regex 或其他东西)

有谁知道如何在考虑到转义序列的情况下拆分字符上的字符串? 例如,如果字符为“:”,则“a:b”将被拆分为两部分(“a”和“b”),而“a:b”则根本不…

空‖城人不在 2024-07-18 08:11:15 5 0

为什么在线解析器似乎停在正则表达式处?

我一直想知道为什么似乎没有任何解析器,例如 BNF,其行为类似于各种库中的正则表达式。 当然,还有像 ANTLR、Yacc 和许多其他生成代码,而这些代码又…

記憶穿過時間隧道 2024-07-18 00:55:56 5 0
更多

推荐作者

1CH1MKgiKxn9p

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

JackDx

文章 0 评论 0

信远

文章 0 评论 0

yaoduoduo1995

文章 0 评论 0

霞映澄塘

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文