问题标签 [bisonc++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

bison - 如何获取已安装的 GNU Bison 版本

我正在从 Bison 1.875 升级到 Bison 3.0.4 并希望向后兼容。

  • 函数调用yyparse(void *)在 1.875 中有效,但在 3.0.4 中无效
  • 函数调用yyparse()在 3.04 中有效,但在 1.875 中无效

Bison 输出一个 cpp 文件,其中包含#define YYBISON_VERSION "3.0.2" 我用来strcmp确定实际版本是否是最新版本并决定使用哪个函数调用的行:

但是,正如您将看到的,这是确定的运行时,因此编译器会抱怨他无能为力的函数调用。

我想要一个可以使用的宏,所以我可以使用预处理器指令来选择正确的函数调用。我在野牛文档中找不到这样的宏。

  • 有人知道“__BISON_VERSION”看起来像宏吗?
  • 有其他想法的人根据野牛版本进行正确的函数调用吗?
0 投票
1 回答
239 浏览

bison - 谁是野牛自动生成的文件输出中减少操作的 $default

有人知道这句话:

谁是 $default... 它应该是一个特定的终端,但是是哪一个?

0 投票
1 回答
116 浏览

c++ - 计算器返回 0 值,不能输入双精度数

temp我将as格式化double,但0在输入不带小数点的数字时返回,输入带小数点的数字会导致“无效表达式”。

0 投票
1 回答
737 浏览

compiler-construction - 函数声明和使用的bison语法示例

有人可以举一个函数声明和函数使用的野牛语法示例,如果声明和使用中的参数数量不同,解析器会产生错误吗?

0 投票
1 回答
162 浏览

c++ - 如何优雅地处理野牛中具有多个组件的规则

我曾经在 ocaml 中编程并使用 ocalmyacc 生成解析器。ocaml 的一个非常有用的特性是它的变体类型,如下所示:

使用这样的类型,我可以在解析器中非常优雅地构造一个 AST 数据结构来表示这样的 exp:

那么C++和bison中是否存在类似的机制呢?

0 投票
1 回答
50 浏览

expression - Bison 表达式解析失败 c++

这是我的 Bison 解析器代码。

我给了表达式

23 23 +;

我的结果是:

成立

算术表达式

数字表达

行号:1 .. 解析错误

为什么它不在 expression_statment 解析?它不解析分号。我应该改变什么来使用分号?

0 投票
1 回答
81 浏览

parsing - 使用 flex 和 bison 解析 Block

是否可以通过 flex 和 bison 解析 Block?

例子:

认为

现在我想检查 BEGIN 和 END 是否属于同一个块?/是否可以使用 flex 和 bison

0 投票
1 回答
643 浏览

parsing - 使用 flex 和 bison 解析文件时出现语法错误

我正在解析以下文件:

我的 flex 和 bison 文件如下:

词法

雅卡

编译步骤:

在执行时,它给出了syntax error接近块内容

请帮助我找出我所犯的错误。

太感谢了。

0 投票
1 回答
1709 浏览

bison - 警告:赋值使指针从整数没有强制转换 yylval=atoi(yytext);

我正在尝试使用可重入 lex 和 yacc 编写一个简单的计算器应用程序。在这里,我希望创建两个线程(解析器)来解析输入文件中提供的输入。输入文件中要解析的行在两个线程之间划分。

我的简单计算器的 lex 代码是

我的简单计算器(可重入)的 yacc 文件是

我的输入文件是

当我编译并运行这个程序时,我得到了跟随输出

当我使用 gdb 调试这个程序时,它说程序收到信号 SIGSEGV,下一行出现分段错误。

我不知道如何调试这个程序。对他的帮助表示赞赏。谢谢

0 投票
1 回答
5020 浏览

bison - 忽略 flex 和 bison 中的空白

我正在尝试解析以下几行:

我用来解析上述行的语法正在解析到UNI_PLACE_GLOBAL然后它给出解析错误。

请帮助我找出我所犯的错误。

我认为它不接受空间所以我怎样才能允许解析这些行?

我已经做好了

词汇表

yacc.y