问题标签 [parser-generator]
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.
state-machine - 如何构建 LR 状态机解析器?
我想尝试创建一个 LR 解析器生成器。有谁知道描述如何从语法创建状态机表的好(免费)资源?
c++ - boost.org 的 Spirit 解析器生成器框架有哪些缺点?
在几个问题中,我从boost.org看到了关于Spirit解析器生成器框架的建议,但是在评论中,使用 Spirit 的人不满意的抱怨。请那些人站出来向我们其他人解释使用 Spirit 的缺点或缺点是什么?
c++ - 如何在 C++ 中解析字符串
我想解析字符串,以便检查它们是否具有指定的语法。
例子:
这里我的要求是在后面Z
应该有一个数字,然后是 a-
和之后R
应该有一个数字,然后是l
,然后是一个空格,然后是 finally t
。
如果除此之外有任何其他内容,它应该是一个错误。
我必须像这样解析许多不同类型的语法。如果为每种所需的语法类型编写一个函数,我会很尴尬。听说yacc或者lex可以解决这个问题。
任何人都可以对我的问题有所了解吗?
java - 如何解析代码以在 Java 中构建编译器?
我需要编写一个编译器。这是大学的家庭作业。老师告诉我们,我们可以使用任何我们想做的API来做代码的解析,只要它是好的。这样我们就可以更专注于我们将生成的 JVM。
所以是的,我会用 Java 编写一个编译器来生成 Java。
你知道有什么好的API吗?我应该使用正则表达式吗?我通常手动编写自己的解析器,尽管在这种情况下不建议这样做。
任何帮助,将不胜感激。
java - 解析器,Java 生成器,具有以下要求
我正在寻找一个用于 Java 的解析器生成器,它执行以下操作:我的语言项目非常简单,只包含一小组标记。
以纯 READABLE Java 代码输出,以便我可以修改它(这就是我不使用 ANTLR 的原因)成熟的库,至少可以在 Java 1.4 上运行和工作
我查看了以下内容,它们可能会起作用:JavaCC、jlex、Ragel?
python - 帮我找到合适的 ruby/python 解析器生成器
我使用的第一个解析器生成器是 Parse::RecDescent,可用的指南/教程很棒,但它最有用的功能是它的调试工具,特别是跟踪功能(通过将 $RD_TRACE 设置为 1 激活)。我正在寻找一个可以帮助您调试它的规则的解析器生成器。
问题是,它必须用 python 或 ruby 编写,并且具有详细模式/跟踪模式或非常有用的调试技术。
有谁知道这样的解析器生成器?
编辑:当我说调试时,我指的不是调试 python 或 ruby。我指的是调试解析器生成器,看看它在每一步都在做什么,看看它正在读取的每个字符,它试图匹配的规则。希望你明白这一点。
赏金编辑:为了赢得赏金,请展示一个解析器生成器框架,并说明它的一些调试功能。我再说一遍,我对 pdb 不感兴趣,但对解析器的调试框架感兴趣。另外,请不要提及树梢。我对此不感兴趣。
regex - 什么时候使用解析器生成器,什么时候正则表达式就足够了?
我还没有进入计算机科学的形式语言领域,所以我的问题可能很愚蠢。我正在用 C++ 编写一个简单的 NMEA 解析器,我必须选择:
我的第一个想法是手动构建一个简单的有限状态机,但后来我想也许我可以用更少的工作,甚至更有效地做到这一点。我以前用过正则表达式,但我认为NMEA正则表达式很长,应该需要“很长时间”才能匹配它。
然后我想到了使用解析器生成器。我认为所有人都使用相同的方法:它们生成 FSA。但我不知道哪个更有效。您通常什么时候使用解析器生成器而不是正则表达式(我认为您可以在解析器生成器中编写正则表达式)?
请解释差异,我对理论和经验都感兴趣。
c# - 什么是好的 C# 编译器/解析器生成器?
我正在寻找一个为 LL(k) 语言提供 EBNF 的解析器生成器,它将给我一个 C# 解析器并生成在 EBNF 中定义的类型的类。
delphi - Delphi的解析器生成器?
谁能推荐一个可以生成win32 Delphi代码的解析器生成器?我想要做的是创建一个简单的领域特定语言。