草庐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,还是文档就在谷歌看不到的地方:-) 最佳答案 致那些没有点击问题的人。访问者模式是可用的。我写了一个示例

javascript - 如何将 JavaScript 代码转换为 ast 的 xml 表示形式?

我正在使用ANTLR构建JavaScript抽象语法树的XML序列化程序。生成器非常完整,但我想知道是否有关于某些问题的约定,例如:如何处理字符串或正则表达式中的尖括号?如何翻译if-then-else(例如,else节点是否在if中)?更一般地说:这样的翻译器是否已经存在?这种基于XML的语言是否有任何现有的XSD?编辑我目前只对免费工具感兴趣。 最佳答案 从XML执行代码生成并从代码生成XML的解析器很容易获得:CustomPMDRules-O'ReillyMediaestools/esvalid:confirmthataSpi

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# 动态方法 - IL 与表达式树

我正在玩和学习ANTLR,为.NET构建一个简单的DSL,将字符串中的脚本转换为动态方法。我的第一个想法是翻译成IL操作码,但现在我正在阅读有关DM创建的表达式树。似乎我可以使用表达式树生成任何方法,就像IL代码一样?谢谢!代码:https://github.com/ricardoborges/NPortugol2 最佳答案 ILCode为您提供更多功能。例如,您可以使用它发出适用于.NETCLR的代码,但不一定是您可以用C#或VB.NET编写的代码。但总的来说是的,你应该能够用表达式树做任何你想做的事情,而且它们更容易理解。发出I

C# ANTLR 语法?

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