草庐IT

ruby - 哪个是 ANTLR 在 ruby​​ 中创建解析器的最佳对应物?

我使用antlr和javacc/freecc有一段时间了。现在我需要使用antlr语法编写一堆解析器,但此类解析器需要用ruby​​lang编写。我用谷歌搜索但没有找到。是否有任何采用antlr语法并创建解析器的ruby​​解析器生成器?如果有很多,您认为哪个是最好的?TIA保罗 最佳答案 您可以使用JRuby轻松逃脱并将您的ANTLR解析器保存在java中。如果PEGs足以胜任你的工作,treetop和更新的citrus是ruby​​ists使用的常用工具。我在研究项目时挖掘的其他解析器是:peggy,Kanocc,Racc.对于

javascript - ANTLR JavaScript 目标

我一直在使用ANTLR为带有Java目标的标记语言生成解析器+树语法,效果很好。现在我正试图让JavaScript中的目标在我的网络浏览器中使用它。但是,我无法找到有关如何执行此操作的任何好的文档。我在ANTLRIDE中使用eclipse,当我将语言指定为JavaScript时,出现以下错误。这条线有多个标记(10):内部错误:组JavaScript不满足ANTLRCore接口(interface):这些模板上的参数不匹配[treeParser(语法、名称、范围、标记、tokenNames、globalAction、规则、numRules、bitsets、labelType、ASTLa

javascript - 使用 ANTLR 解析 JavaScript 正则表达式

我有一个ANTLRJavaScript语法(取自互联网),它似乎支持除正则表达式文字之外的所有内容。正则表达式文字的问题在于您有两个规则,本质上是:multiplicativeExpression:unaryExpression(LT!*('*'|'/'|'%')^LT!*unaryExpression)*和regexLiteral:'/'RegexLiteralChar*'/'规则RegexLiteralChar使用与普通表达式不同的词法分析器规则(例如,双引号不会终止它)。这意味着我需要以某种方式从我的解析器中更改某种词法分析器状态。我怎样才能做到这一点?有可能吗?

go - 我正在使用 Antlr4 创建一种语言,然后我想用它生成 LLVM IR。我是否需要手写 LLVM IR 来响应我的访问者事件?

在学习Antlr4时,我使用Golang作为目标语言,所以我的玩具语言中的语句如下:$myVar=10$myVar+5将转换为一些生成结果“15”的Golang代码但是,据我所知,ANTLR没有LLVMIR目标,所以问题是:我有什么选择?1)生成C/C++,然后用它来发出LLVMIR?2)尝试找到一个GolangLLVMIR发射器?3)继续使用生成的Go词法分析器/解析器但手写LLVMIR?我尝试浏览LLVM文档并观看了一些关于LLVM的视频提前感谢您的任何见解! 最佳答案 WhilelearningAntlr4,IusedGola

go - Go 中的 AntLR4 : Invalid type assertion: listener

我从Antlr4语法为Go语言生成了解析器。语法在这里:https://raw.githubusercontent.com/antlr/grammars-v4/master/solidity/Solidity.g4我生成解析器如下:java-jar$PWD/antlr-4.7.1-complete.jar-Dlanguage=Go-oparsersyntax/Solidity.g4生成的solidity_parser.go文件在任何地方都有以下错误listener.(SolidityListener)出现:无效类型断言:listener.(SolidityListener)(非接口(i

go - antlr4的golang visitor pattern是否处于可用状态?

我没有看到有效的示例,而且我看到一些拉取请求仍处于打开状态。我想避免沿着花园小径走。https://github.com/antlr/antlr4/pull/1807https://github.com/antlr/antlr4/issues/1843还有一些拉取请求让我觉得golang目标可能已经死了。https://github.com/antlr/antlr4/issues/2152所以我真正想问的是我应该避开golang,还是文档就在谷歌看不到的地方:-) 最佳答案 致那些没有点击问题的人。访问者模式是可用的。我写了一个示例

windows - org.antlr.v4.runtime.misc.TestRig 挂起

我正在尝试从此处执行ANTLRv4示例http://www.antlr.org/wiki/display/ANTLR4/Getting+Started+with+ANTLR+v4.我已经下载了antlr-4.0-complete.jar并将其放入某个目录。我已经创建了bat文件来运行org.antlr.v4.Tool(antlr.bat)和org.antlr.v4.runtime.misc。TestRig(run.bat).工具在没有参数的情况下运行并输出一些东西,所以路径没问题。我创建了包含以下内容的Hello.g4://DefineagrammarcalledHellogramma

C# ANTLR 语法?

我正在寻找交keyANTLRC#语法生成可用的抽象语法树(AST),并且与后端语言无关或以C#、C、C++或D为目标。它不需要支持错误报告。附言我几乎不愿意做任何修复,因为替代方案不是很难。 最佳答案 这可能为时已晚,但您可以获得C#4grammar. 关于C#ANTLR语法?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/358052/

c# - 可视化使用 ANTLR 创建的 AST(在 .Net 环境中)

为了一个宠物项目,我开始摆弄ANTLR。在学习了一些教程之后,我现在正在尝试为我自己的语言创建语法并生成AST。现在我大部分时间都在ANTLRWorks中闲逛,但现在我已经验证了解析树似乎很好,我想(迭代地,因为我还在学习并且仍然需要做出一些关于树的最终结构)创建AST。antlrworks似乎不会将其可视化(或者至少不会使用“解释器”功能,调试在我的任何机器上都不起作用)。底线:可视化AST的唯一方法是手动方式、遍历/显示它还是将树以字符串表示形式打印到控制台?我正在寻找的是一种从输入、语法->可视化AST表示到ANTLRWorks的“解释器”功能的简单方法。有什么想法吗?

c# - Antlr4 C#目标和生成文件的输出路径

我有一个带有Antlr3语法文件的C#解决方案,我正在尝试升级到Anltr4。事实证明语法是最简单的部分(它变得更好,大小减少了三分之一!)。生成解析器被证明是棘手的部分。在旧的解决方案中,当语法文件更改时,我只运行AntlrWorks来更新词法分析器和解析器.cs文件。词法分析器和解析器直接包含在与语法相同的项目中,因此围绕解析器的框架可以直接使用它们。对于C#的Antlr4目标,我注意到(至少在默认情况下)生成的解析器C#类的输出路径位于中间目录中,例如对象\调试。这意味着我不能在同一个项目中直接使用解析器。如果我希望生成的源在我的sln中可用,我是否应该更改输出路径?我不想在我的