问题标签 [lex]

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 投票
4 回答
1082 浏览

parsing - 同一个应用程序中是否可以有两个或多个 Lex/Yacc 解析器

我有一个应用程序,其中我已经有一个用于一种语法的解析器,我需要为另一个目的添加第二种不同的语法。

是否可以拥有多个?

如果是这样,你如何获得另一个入口点?

谢谢

大卫艾伦芬奇

0 投票
1 回答
1548 浏览

bison - Lex/Yacc:输入前打印消息

我试图弄清楚在使用 lex/yacc (flex/bison) 时如何显示消息/提示。

例如, main 看起来像这样:

哪个调用yacc,哪个调用yylex()。这会产生一个在 STDIN 上等待的空行。我怎样才能显示类似...的消息

代替

其中下划线表示光标位置,等待来自 STDIN 的输入...

忘了提,我希望重复打印提示......所以在每次 lex/yacc 从标准输入请求输入之前......

0 投票
8 回答
35055 浏览

c - 弹性词法分析器的字符串输入

我想使用 flex/bison 解析器创建一个 read-eval-print 循环。麻烦的是,flex 生成的词法分析器需要 FILE* 类型的输入,我希望它是 char*。有没有办法做到这一点?

一个建议是创建一个管道,向它提供字符串并打开文件描述符并发送到词法分析器。这相当简单,但感觉很复杂,而且不是很独立于平台。有没有更好的办法?

0 投票
2 回答
2637 浏览

haskell - Haskell 解析工具 - yacc:lex :: happy:?

因此, Happy似乎是 Haskell 中 yacc 的强大替代品。是否有一个同样强大的词法分析器生成器来代替 lex/flex?

0 投票
6 回答
2357 浏览

regex - 最好的现代文本解析?AKA 何时使用 Lex 和 Yacc?

我有作为输入文本块的命令和参数,每行一个,例如

我想验证该XYZ特定命令的参数格式是否正确,如果是,则执行正确的代码块。有大约 100 个命令,其中一些具有可变数量的参数、不同的关系(即,如果XYZ调用了命令,那么我也需要ABC调用命令)。

还存在命令,例如:

文本包含在COMMAND和中很重要ENDCOMMAND

通常对于这样的事情,我会使用 Lex 和 Yacc 而不是正则表达式,但是还有什么更现代的吗?代码是用 C# 编写的。MSDN 中有什么可以做到这一点,而不是老式的 C Lex 和 Yacc?

0 投票
4 回答
663 浏览

python - 使用 lex/yacc 标记剩余数据

原谅我,我对解析和 lex/yacc 完全陌生,我可能有点不知所措,但尽管如此:

我正在用 PLY 编写一个非常基本的计算器,但它的输入可能并不总是一个方程,我需要在解析时确定它是否是。输入的极端情况是可以完美地评估为方程,它可以很好地解析和计算,或者与方程完全不同,它解析失败并且也很好。

灰色区域是具有等式部分的输入,解析器将抓取并计算出这些部分。这不是我想要的——我需要能够判断字符串的某些部分是否没有被拾取和标记,这样我就可以抛出一个错误,但我不知道该怎么做。

有谁知道我如何定义,基本上,一个“抓住任何剩下的东西”令牌?还是有更好的方法可以处理这个问题?

0 投票
3 回答
1338 浏览

regex - 正则表达式

我正在使用 Lex 和 Yacc 开发一个从 MathML 到 Latex 的简单翻译器。在包含正则表达式规则的 lex 文件中,我为算术运算符 [-+*=/] 定义了一个。我想扩展以便它可以识别加减(+-)和不可见时间('&InvisibleTimes'),但我不熟悉正则表达式,我需要一些帮助。

0 投票
3 回答
15707 浏览

parsing - Lex / Flex 中的启动状态

我正在使用 Flex 和 Bison 作为解析器生成器,但是我的扫描仪中的启动状态存在问题。

我正在使用排他规则来处理评论,但这个语法似乎与引用的标记不匹配:

在这个简单的例子中,这一行:

不完全匹配作为评论,除非我包含此规则:

我如何绕过这个而不必将所有这些令牌添加到我的独家规则中?

0 投票
5 回答
45078 浏览

yacc - what is the difference between lex and yacc

I have worked with lex for executing some code whenever some regular expression is found, Can Yacc do something more than that? If yes, then what?

0 投票
2 回答
1235 浏览

php - 在 Delphi 中解析 PHP/JavaScript 文档结构

我需要解析 PHP 和 JavaScript 文档结构以获取有关文档函数及其参数、类及其方法、变量等的信息......我想知道是否有任何解决方案(没有正则表达式) ...我听说过一种叫做“lexing”的东西,但是我找不到任何例子,即使是那些可以告诉我这是否是我正在寻找的东西的例子......

提前致谢