yacc 相关问题

计算机程序yacc是由Stephen C.Johnson在AT&T为Unix操作系统开发的解析器生成器。

减少/减少冲突野牛语法

我是野牛解析的新手,我不完全理解它是如何工作的。我有以下简单的野牛语法来解析简单的语言: %{ %} %token T_ASSIGN T_ADD T_SUB T_MUL T_DIV T_MOD T_POW %

回答 1 投票 0

如何让 lex/yacc 匹配长度超过 9000 的字符串?

'[^']*\' 我使用这个规则来使 lex 匹配字符串,当字符串长度小于 9000 时它可以正常工作,那么如何让 lex 匹配长度超过 9000 的字符串 我是否应该改变规则?...

回答 1 投票 0

Yacc/Bison yyerror

我正在尝试创建自己的错误,但显然,调用 yyerror() 不足以告诉解析器存在错误。我做了一个小例子来更好地描述我的问题。 所以这是一个解析...

回答 3 投票 0

使用 yacc 时,如何告诉 yyparse() 要停止解析?

仍在学习 yacc 和 flex,并遇到了我的操作方法和教程未涵盖的场景。我正在尝试解析一个文件,并且在进行过程中,我遇到了一些次要错误

回答 2 投票 0

解决 Yacc 和 Flex 编译器项目中的错误 |无法从 YACC Grammar 生成 AST

我想显示给定表达式的 AST,下面给出的是我的相同代码 莱克斯文件 %{ #include“y.tab.h” #include“ast.h” %} %选项 yylineno 数字 [0-...

回答 1 投票 0

yacc-如何编写检查平衡括号的yacc代码

它应该有效 () ()()()() (()()()(())) 并且无效于 ( ((( ()()) YACC 代码: %{ #包括 int yylex(); int yyerror(char* 错误); 外部文件* yyin; %} %代币打开关闭...

回答 1 投票 0

YACC 解析器中 YYEOF 的正确用法

我一直在尝试编写一个解析器来评估单个文件中的多个算术运算。每个表达式都会计算并且工作正常,除了最后我打印出这个错误(yyeerr...

回答 1 投票 0

yacc:(xxx) 未键入

这是我的 yacc 文件,当我使用 yacc -d xxx.y 时,它显示警告,我不明白为什么会犯这个错误,我不明白为什么它不知道 2 美元是多少,拜托各位,我需要你们帮助。 %{ #包括...

回答 1 投票 0

指针无故改变值?

我必须在 Flex/Yacc 上完成这个项目,其中我必须计算 Insiemistic 表达式的抽象语法树。但真正的问题出在 C 代码中。 我已经创建了这个函数,它创建了...

回答 1 投票 0

为什么 lex 中定义的 main 函数被 cc 报告为重复符号?

我正在运行“Lex & Yacc”(John R. Levine、Tony Mason 和 Doug Brown)中的示例: $ 猫 ch2-04.l %{ 无符号详细; 字符*程序名; %} %% -h ...

回答 1 投票 0

如何在 yacc 中合并 ++ 运算符

在经典的 Kernighan & Pike 书籍(UNIX 编程环境)的第 8 章中,将 hoc1 作为使用 yacc 的简单计算器的示例进行介绍。 本书建议改进源代码...

回答 1 投票 0

使用python ply进行部分解析

有没有一种简单的方法可以使用 python ply 执行部分解析? 换句话说:不是一次解析整个源代码,而是可以解析最多 表达式的结尾,产生其结果...

回答 1 投票 0

Yacc 错误:字段声明的结构类型不完整

我正在使用 Yacc 和 Lex 构建一个解析器,并且我在共享头文件(shared_vars.h)中定义了几个结构。我已在 C 文件 (shared_vars.c) 中初始化了这些结构...

回答 1 投票 0

解决解析带有可选参数的AgeSQL子句时的reduce/reduce冲突

我正在开发一个项目,以在 Postgres psql 上添加对 Cypher 子句的支持。我正在尝试提高解析器性能,解决规则之间的冲突。我创建了一个最小的示例

回答 1 投票 0

在 Lex 和 Yacc 之间传递指针

我的 .l 文件中有正则表达式,用于获取变量名。我通过一个函数运行该名称以获取它的指针,然后尝试返回该指针。在 lex 和 yacc 之间的转换中,

回答 0 投票 0

结合flex和bison进行文件解析

所以我在 flex/bison 中有这个程序。 我的两个问题是: 1)我不知道如何让它适用于文件输入,因为我的大学练习需要它使用文件。 我尝试使用 iostream 库...

回答 1 投票 0

在 Flex/Bison 中如何处理这种情况下的优先级

我正在做一些工作来解析我们项目中的内部配置文件。配置可以是一个简单的字符串,也可以是我们为内部使用而创建的“函数”。函数...

回答 1 投票 0

在 yacc 的 if-else 生产主体中嵌入动作?

我制作了一个 yacc 文件,试图将 miniC 语言(功能有限)转换为三地址代码。这是我遇到冲突的代码片段 /*初始化和头文件*/ 身体:身体...

回答 2 投票 0

Yacc 文件中字符串库的使用

我正在尝试使用 lax 和 Yacc 编写编译器。我首先通过添加任何关联的操作来定义标记和语法树,但是当我编译它时,我遇到了一些错误。 词法分析器: %{ #包括...

回答 2 投票 0

yacc 的输出有延迟

我在 bas.l 和 bas.y 中有以下 lex 和 yacc 代码。我正在尝试构建一个仅包含加法 (+)、减法 (-)、乘法 (*) 和除法 (/) 的简单计算器。 我想要它...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.