grammar

grammar

文章 0 浏览 2

关于使用 yacc 解析器构建符号表的问题

如果我的 yacc 解析器遇到以下代码: int foo(int a, int b) 是否应该添加 int a 和 int b 作为 foo 的属性?按照我现在的方式,它输入 a 和 b 作为单…

怎樣才叫好 2024-08-12 17:39:30 4 0

Yacc 程序无法识别函数声明

我认为我的程序应该能够将以下内容识别为函数声明: int fn(int i) { int n return } 但事实并非如此。 这是我的 yacc 文件的相关部分: program : de…

污味仙女 2024-08-12 16:00:32 4 0

从一组属性生成 XML 路径

我有一组 XML 文档,它们都共享相同的架构。 (它们是带有语义标签的 SAPI 语法,如果这很重要的话。)我可以使用文档来匹配文本字符串,返回一组具有…

一杯敬自由 2024-08-12 04:49:21 2 0

此 yacc 代码中是否存在移位/归约错误?

我收到 yacc 发来的消息,说存在移位/归约冲突。我认为它来自 yacc 文件的这一部分。 statement : expression_stmt | compound_stmt | selection_stmt…

余厌 2024-08-12 04:29:07 1 0

在 Linux 上使用 Bison --graph=[file] 的技巧

最近(大约一个月前),我试图向公司的内部扩展语言引入新的构造,并与一些减少-减少错误作斗争。虽然我最终解决了这个问题,但深入研究 y.output 文…

盗梦空间 2024-08-12 02:08:57 1 0

我的语法有什么问题

我尝试将以下内容输入到我的 yacc 解析器中: int main(void) { return } 根据 yacc 文件中的定义,它对我来说看起来有效,但在返回后我收到“语法错…

欢烬 2024-08-12 00:15:07 2 0

为什么使用 flex 和 yacc 编写的程序中出现语法错误?

我编写了一个应该识别简单语法的程序。当我输入我认为有效的语句时,我收到错误。具体来说,如果我输入 int a 整数b; 它不起作用。当我输入 int a 后…

空城仅有旧梦在 2024-08-11 22:07:09 2 0

如何将文字从 flex 返回到 yacc?

在我的 yacc 文件中,我有如下内容: var_declaration : type_specifier ID '' | type_specifier ID '[' NUM ']' '' type_specifier : INT | VOID I…

旧城空念 2024-08-11 15:53:45 1 0

使用 ANTLR 容忍格式错误的语句(例如,用于代码完成)

我有一个简单 DSL 的 ANTLR 语法,如果没有语法错误,一切都会顺利进行。然而,现在我需要支持自动完成机制,我需要从对属性、函数等执行基本类型检查…

梦魇绽荼蘼 2024-08-11 07:49:18 3 0

正则表达式排除 101 和 110

接受语言 {0,1} 上的所有内容但不包含子字符串 110 或 101 的正则表达式是什么? 接受: 111111 000011111 100001000001001 010 1 拒绝: 100110 0101…

安静 2024-08-10 16:17:44 3 0

语法中的左递归会导致冲突

在整个 Bison 语法中,我使用右递归,并且我读到左递归更好,因为它不必首先构建整个堆栈。 然而,当我尝试在其中任何一个上切换到左递归时,我总是会…

帅的被狗咬 2024-08-10 09:58:32 0 0

振奋精神,转发声明问题

有人可以给我一些关于如何处理需要查看进一步声明以便能够在当前时刻做出正确语义操作的情况的建议/想法吗?例如,当某人编写某种不支持“前向声明”…

残龙傲雪 2024-08-09 13:48:03 4 0

如何确定该语法中 E 的第一组?

我想知道如何用语法确定 E 的 FIRST 集: E -&gt XYE | e X -&gt x Y -&gt y 任何人都可以给我一些指导吗?…

桃气十足 2024-08-09 10:07:17 2 0

Ruby 有类似于 Perl 6 语法的插件吗?

多年来,Perl 一直是我首选的编程语言工具之一。 Perl 6 语法看起来是一个很棒的语言功能。我想知道是否有人为 Ruby 开始了类似的事情。…

糖粟与秋泊 2024-08-09 00:57:11 5 0

消除 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 2 0
更多

推荐作者

qq_FjTq5B

文章 0 评论 0

18273202778

文章 0 评论 0

WordPress小学生

文章 0 评论 0

〃温暖了心ぐ

文章 0 评论 0

迷乱花海

文章 0 评论 0

niuniu

文章 0 评论 0

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