问题标签 [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.
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”看起来像宏吗?
- 有其他想法的人根据野牛版本进行正确的函数调用吗?
bison - 谁是野牛自动生成的文件输出中减少操作的 $default
有人知道这句话:
谁是 $default... 它应该是一个特定的终端,但是是哪一个?
c++ - 计算器返回 0 值,不能输入双精度数
temp
我将as格式化double
,但0
在输入不带小数点的数字时返回,输入带小数点的数字会导致“无效表达式”。
compiler-construction - 函数声明和使用的bison语法示例
有人可以举一个函数声明和函数使用的野牛语法示例,如果声明和使用中的参数数量不同,解析器会产生错误吗?
c++ - 如何优雅地处理野牛中具有多个组件的规则
我曾经在 ocaml 中编程并使用 ocalmyacc 生成解析器。ocaml 的一个非常有用的特性是它的变体类型,如下所示:
使用这样的类型,我可以在解析器中非常优雅地构造一个 AST 数据结构来表示这样的 exp:
那么C++和bison中是否存在类似的机制呢?
expression - Bison 表达式解析失败 c++
这是我的 Bison 解析器代码。
我给了表达式
23 23 +;
我的结果是:
成立
算术表达式
数字表达
行号:1 .. 解析错误
为什么它不在 expression_statment 解析?它不解析分号。我应该改变什么来使用分号?
parsing - 使用 flex 和 bison 解析 Block
是否可以通过 flex 和 bison 解析 Block?
例子:
认为
现在我想检查 BEGIN 和 END 是否属于同一个块?/是否可以使用 flex 和 bison
parsing - 使用 flex 和 bison 解析文件时出现语法错误
我正在解析以下文件:
我的 flex 和 bison 文件如下:
词法
雅卡
编译步骤:
在执行时,它给出了syntax error
接近块内容
请帮助我找出我所犯的错误。
太感谢了。
bison - 警告:赋值使指针从整数没有强制转换 yylval=atoi(yytext);
我正在尝试使用可重入 lex 和 yacc 编写一个简单的计算器应用程序。在这里,我希望创建两个线程(解析器)来解析输入文件中提供的输入。输入文件中要解析的行在两个线程之间划分。
我的简单计算器的 lex 代码是
我的简单计算器(可重入)的 yacc 文件是
我的输入文件是
当我编译并运行这个程序时,我得到了跟随输出
当我使用 gdb 调试这个程序时,它说程序收到信号 SIGSEGV,下一行出现分段错误。
我不知道如何调试这个程序。对他的帮助表示赞赏。谢谢
bison - 忽略 flex 和 bison 中的空白
我正在尝试解析以下几行:
我用来解析上述行的语法正在解析到UNI_PLACE_GLOBAL然后它给出解析错误。
请帮助我找出我所犯的错误。
我认为它不接受空间所以我怎样才能允许解析这些行?
我已经做好了
词汇表
yacc.y