问题标签 [flex-lexer]
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.
parsing - Lex / Flex 中的启动状态
我正在使用 Flex 和 Bison 作为解析器生成器,但是我的扫描仪中的启动状态存在问题。
我正在使用排他规则来处理评论,但这个语法似乎与引用的标记不匹配:
在这个简单的例子中,这一行:
不完全匹配作为评论,除非我包含此规则:
我如何绕过这个而不必将所有这些令牌添加到我的独家规则中?
flex-lexer - Windows 版 flex 的更新版本何时可用?
我在一个项目中使用flex(词法分析器,而不是 Adobe Flex)。但是,我也希望能够在 Windows 平台上编译,但是Windows 版本的最新版本只有 2.5.4a,所以它不会为 2.5.35 版本编译我的文件。不,我无法降级到受支持的最高 Windows 版本。
任何人都知道升级 Windows 版本的计划,或者有关于在 Windows 上编译的建议吗?
ide - Flex/Bison IDE?
我正在寻找一个良好的开发环境,可以在其中使用 flex 或 bison 或两者兼而有之。
是否有任何具有这些功能和/或适合此功能的 IDE?
(如果不是下一个最普遍的问题是是否有带有 IDE 的词法分析器/解析器生成器?)
谢谢~亚历克斯
bison - 将生成的文件添加到分发的最佳方法?
我有一个使用 autoconf / automake 的非常复杂的(C++)项目,其中包括一些“生成的”文件(foo.yy -> foo.cc)。实际构建是使用“控制脚本”(Gentoo .ebuild 对于那些熟悉该概念的人)在各种平台上完成的。
现在,其中一个目标平台不正确支持 foo.yy -> foo.cc 步骤,必须使用在 Linux 机器上生成的 foo.cc 文件。
现在我有两种方法可以解决这个问题:
1) 将 foo.cc 签入项目存储库,并以某种方式修补 configure.in(或其他)以包括对 foo.yy / foo.cc 的时间戳检查,如果在有问题的目标上运行时会生成一个可理解的错误消息,并且过时foo.cc;
2) 将 foo.cc 签入到控制脚本库中,并有脚本控制时间戳并给出错误消息。
我可以做 2) 没问题,但我认为这不是放置 foo.cc 的正确位置。
另一方面,我对 autoconf / automake 了解不多,也不知道如何在 configure.in (或任何地方)中实现时间戳检查 / 错误消息。
您有什么建议,这里有人知道如何解决解决方案 1)吗?
编辑:使用解决方案 3) 解决,调整有问题的目标框,直到它能够自己执行 foo.yy -> foo.cc 步骤。我的问题解决了。
但我会留下这个问题 - 如何使用 autoconf / automake 进行时间戳检查 / 可理解的错误消息?
c - 当我编写词法分析器时,tokens.h 有什么用?
我正在用 C 编写一个词法分析器,我在某处读到了有关头文件的信息tokens.h
。它在那里吗?如果是这样,它的用途是什么?
c++ - 在 vc6 中使用 bison 和 flex
当我在 vc6 中使用 bison 和 flex 时,出现以下错误
lex.yy.c(395):错误 C2146:语法错误:缺少 ';' 在标识符 'YY_PROTO' lex.yy.c(395) 之前:致命错误 C1004:发现意外的文件结尾
这是什么原因?请帮忙。
复制自评论:
c - 如何初始化 Bison 的 %union 值?
在野牛我有一个工会
我想像这样使用它
在 Lex 中:
而不是
轻松防止内存泄漏
但是我需要一些方法来分配一个 std::string 到 sval 开始。
我怎样才能做到这一点?
parsing - 在 Lex 而不是 Yacc 中处理错误条件?
假设我有一个 lex 正则表达式
如果用户输入
它会匹配
但是如果用户说类似的话
我希望它出错并说“无法识别字符 K,期待 S”
我现在正在做的只是像这样写
然后实质上重新对 Yacc 中的字符串进行词法分析,以便我可以有有意义的错误条件
我怎样才能解决这个问题?
我唯一能想到的是使用命名组?
lex - lex.yy.c 中的“yy”代表什么?
lex.yy.c 中的“yy”代表什么?
c - 使用 yacc 或 Bison 和 Flex 创建 foreach 关键字
我开发了一种解释型编程语言。它强烈基于 C。问题是,我想添加一个foreach
指令,但不知道如何添加。
我使用 Bison 和 Flex 作为解析器和词法分析器生成器。