YACC|BISON:如何操作解析树?
我的应用程序的目标是验证 SQL 代码,同时从该代码生成经过一些修改的格式化代码。例如这个 where 子句: 其中 e.student_name= c.contact_name and (…
QLALR - QParser 示例在 Visual Studio 2008 上启动时崩溃
不幸的是我必须解析一种语言(JScript)。我开始研究如何使用 Flex,因为知道 Qt 提供了一个名为 QLALR 的有用工具来生成解析器。 在 \util\qlalr\exa…
在哪里处理浮点数的解析 - 扫描器或解析器?
我正在设计一种小型领域特定语言。 作为扫描器/解析器生成器,我使用 Flex/Bisonc++。 现在,生成的 DSL 编译器前端能够解析八进制、十进制和十六进制…
我不确定在我的野牛解析器中如何输出(复杂)有用的信息
我正在编写一个 Flex/Bison Lexer/Parser 来解析我自己设计的脚本,作为大学的作业。一切进展顺利,我的脚本可以正确解析,检测到任何错误等,并且都…
避免警告:未引用的 find_rule 标签
为了让 flex 和其他版本的 lex 之间有更多的兼容性,我们应该在 flex 命令中添加 -l 选项。 这些不兼容性之一是 yylineno(用于存储行号的全局变量)…
组合两个 lex/yacc 解决方案
为了获得用于解析和分析嵌入式sql代码的完整解决方案,我想知道是否可以组合两个< lex|yacc 解决方案,一个用于 Ansi C,另一个用于 SQL,在同一程序…
windows 中的 flex 和 bison 不起作用
我读过 如何在 Windows 上编译 LEX/YACC 文件? 。我执行了所有步骤,但在我的 CMD 中它没有找到任何 Flex 或 Bison ...,你能帮助我吗?…
即使输入较新,MSBuild 目标文件也不会导致构建输出
我正在尝试为 flex 创建一个 msbuild/VS2010 .targets 文件,以便我可以在 Visual Studio 2010 中使用 .l 文件。到目前为止,我已经生成了这个:
如何在 bison 语法中匹配字符串?
如何在 bison 语法中匹配字符串?比方说,一个代表自身的字符串,例如“polySphere”。我是否必须在 .lex 文件中创建一个令牌(如 POLYSPHERE),然后…
如何获取flex和bison中token的字符串值?
我的 .lex 文件中有此标记: [a-zA-Z0-9]+ { yylval = yytext; return ALPHANUM; } 并且 .y 文件中有此代码: Sentence: "Sphere(" ALPHANUM ")." { F…
会员请求;在非结构或联合的事物中
这是我的 .lex 文件: "Sphere" {return SPHERE;} "(" {return LBRACKET;} ")" {return RBRACKET;} "." {return DOT;} [a-zA-Z][a-zA-Z0-9]* {yylval.…
当与词法分析器中的 strdup() 一起使用时,Flex/bison 中的 Char* as YYSTYPE 仅返回标记中的第一个字符
我在使用 flex 和 bison 构建的编译器中使用 char* 作为 YYSTYPE 。该行 #define YYSTYPE char* 位于我的语法文件的顶部。我的词法分析器中的一些标记…
是否可以设置规则的优先级以避免“最长-最早”的情况?匹配模式?
另一个简单的问题:有什么方法可以告诉 flex 更喜欢匹配较短事物的规则而不是匹配较长事物的规则?我找不到任何关于这方面的好的文档。 这就是我需要…