为什么是' yy_do_before_action'由野牛的%代码不确定需要序言吗?
我有一个使用野牛(3.8.2)和Flex(2.6.4)的编译器项目,并在Windows 10上使用Cygwin构建。不使用%代码需要 Prologue,我的项目将根据预期构建和运…
野牛轮班/减少限制
我有以下 pascal 语法的开始 语法正常工作。我不明白的是,我的 6502组装程序中的语法没有任何减少/转移冲突。 %no-lines %{ // ********************…
弯曲/野牛有时会错过
我使用Flex/Bison构建CLI,并且我经历了flex有时不会获得令牌。 我的.l看起来像这样: %{ #include #include #include "hmd.tab.h" #include "cmd.h" …
野牛文件中的Platformio编译错误
我将野牛与Flex一起使用Platformio中的Arduino框架。编译.y和.l文件没有问题,但是当我试图在平台中进行构建时,我会收到这些错误: error: cannot co…
野牛的自定义错误消息
使用野牛,我使用函数生成自定义错误消息: int yyreport_syntax_error(const yypcontext_t *ctx)通过指定%parse.error custom custom 。 我正在寻…
如何访问flexlexer的输入功能而不来自yyflexlexer?
我正在为简单的C语言编写一个简单的编译器。为此,我想使用Flex和Bison,但在现代C ++的背景下使用它们 现在,我的设置由一个main.cpp组成,cpp仅实例…
特殊$ end token in Bison的友好名称
使用较旧版本的野牛,详细错误消息有时看起来像这样: syntax error, unexpected [, expecting $end 有没有一种方法可以给出 $ end 一个更友好的名称…
变体类型没有内存泄漏的野牛令牌
什么是最佳的非内存渗透变体类型用于野牛中的文本(例如%token< std :: string> )? 我想用更现代的类型替换 char *作为代币的变体类型(主…
弹性和野牛$变量给出意外的价值
在我的Lexer文件中,我将令牌“ name”设置为“ yylval.str = yytext”。然后,在我的野牛文件中,我尝试读取该str值以将名称作为字符串获取。但是,…
他们的任何语法文件是否以Flex/Bison格式为Flex/Bison输入文件?
我想编写一个flex和野牛,该弯曲和野牛会生成纯-CPP标头文件,以便平台独立。 实际上,我写了一些代码。 我使用一些字符串技巧来解析Flex和Bison输入…
由于使用Flex和Bison具有模棱两可的语法,因此无序的结果
我正在尝试使用Flex和Bison创建一个用于可变声明的部分(与HTML有点相似),我的语法是正确的(没有词汇或语法错误),但是未订购显示的结果。 示例.t…
Flex 和 Bison 编译器在遇到语法错误时不会显示词法错误
我正在使用Flex和Bison编码编译器,我对Yyerror(char*)和一些printf()消息进行了编码,以显示词汇和语法错误。我通过在文件“ programm.txt”中添…
Bison 调用 yyerror 并打印成功
由于某种原因,当尝试使用 bison 并测试其输入时,无论如何,我每次都会不断地获得成功和失败。我不确定我做错了什么。这是我的 .y 文件: %{ #includ…
如何使用 Jflex 在 Bison 中表达语法规则
我一直在尝试制作一个解析器,它从词法分析器(jflex)获取令牌,并且我使用 Java 和 bison 作为解析器。这是迄今为止我的解析器代码: %define api.p…