草庐IT

javascript - 如何使用 PEG.js 构建左关联运算符树?

如何使用AbstractSyntaxTree为左关联运算符构建AST(PEG.js)?我试着根据网上的资料写了一些代码,但是我好像犯了一个错误。我编写的代码为大多数表达式生成了不正确的AST。表达式12-6-4-2*1-1预期的AST{"left":{"left":{"left":{"left":12,"operator":"-","right":6},"operator":"-","right":4},"operator":"-","right":{"left":2,"operator":"*","right":1}},"operator":"-","right":1}生成的AST{

javascript - JavaScript 语法中有效的左侧表达式是什么?

好的,我们都知道有效的左侧表达式是什么。有点。*但是,查看theECMA-Scriptstandard中的定义,我很困惑:LeftHandSideExpression:NewExpressionCallExpression这只是定义中的错误,还是我在这里弄错了?我的意思是,这不是真正的意思吗newObject=1;//NewExpressionAssignmentOperatorPrimaryExpressionfunction(){returnfoo;}()=1;//CallExpressionAssignmentOperatorPrimaryExpression应该是有效的赋值表达

php - 尝试运行种子类时发出 "Grammar::parameterize() must be of the type array"

我在Laravel5.3.x(最新)中有以下播种器类:publicfunctionrun(){$faker=Faker::create();$bands=\App\Band::all()->pluck('id')->toArray();for($i=1;$i$faker->randomElements($bands),'name'=>$faker->name,'recorded_date'=>$faker->date(),'release_date'=>$faker->date(),'number_of_tracks'=>$faker->randomNumber(5),'label'=

java - 用于 Java 类/代码的 PHP 解析器?

我有一个Java类(更准确地说是一个jpa实体),我想在PHP中“解析”它。我想获取那个类的字段,每个字段关联的注解等等。有没有可以读取java源代码并“解析”它的PHP工具?我想避免用我自己的自定义正则表达式重新发明轮子... 最佳答案 我建议编写一个小型Java应用程序,它编译/加载目标Java文件并最终返回/打印,例如通过调用Java的内省(introspection)API生成的JSON数据。这可能会有所帮助或提供有用的类:IntrospectionToolfortheJava(TM)Platform1.0虽然它不提供类签名

php - 语法检查 API?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion是否有任何API可以检查给定字符串的语法?如果可以,能举个例子吗?

java - 永远无法达到以下替代方案 : 2

我正在尝试创建一个非常简单的语法来学习使用ANTLR,但我收到以下消息:“永远无法达到以下备选方案:2”这是我的语法尝试:grammarRobot;file:command+;command:(delay|type|move|click|rclick);delay:'wait'number';';type:'type'id';';move:'move'number','number';';click:'click';rclick:'rlick';id:('a'..'z'|'A'..'Z')+;number:('0'..'9')+;WS:(''|'\t'|'\r'|'\n'){skip(

java - 测试 ANTLR 语法

因此,我一直在使用ANTLRv3.4在Eclipse中制作语法,并且制作了一个可以使用的语法,并且我想确保在编辑它时一切仍然有效。我每次都可以进入口译员,但这似乎是在浪费时间。问题:我读过有关gunit的内容,但它提供了下载gUnit的链接:(http://antlr.org/hudson/job/gUnit/org.antlr$gunit/lastSuccessfulBuild/)不起作用。我怎样才能得到gUnit。测试语法的最佳方法是什么?它实际上是gUnit还是我应该像jUnit测试那样做java测试? 最佳答案 这个问题很老

java - Bison Java示例

有谁知道网上是否有一些关于将GNUBison与Java结合使用的教程和/或示例。我已经通过网络搜索了。但我没有设法找到任何东西。我试图实现一个示例,但我无法编译它(因为我还需要一个词法分析器)。这是我的例子:%{staticvoidmain(String[]args){yyparse();}%}%union{intnumber;charoperator;}%language"Java"%tokenNUMBER%tokenOPERATOR%typeexp%leftOPERATOR%%input:/*Emptystring*/|exp{System.out.print("Result>>"

java - 词法语法和句法语法有什么区别?

我正在阅读Java语言规范8。我正在努力理解第2章的语法。这是我已经学到的:语义:语义学是对意义的研究。含义:在语义学中,意义被定义为外延:词/短语所指的世界中的事物,加上意图:词/短语唤起的概念/心理意象。语法:句法是关于句子的结构,以及决定哪些单词出现在何处的因素。制作:计算机科学中的产生式或产生式规则是一种重写规则,指定可以递归执行以生成新符号序列的符号替换。字母表:当一个非空集在字符串操作中的预期用途应被指明时,它被称为字母表。词位:词位是构成句法单元的字符串。句法单位:句子是“最高”(即最大)的句法单位,最低(即最小)的句法单位是单词,中间句法单元是短语。token:标记是表

Java - 抽象语法树

我目前正在寻找一个Java6/7解析器,它生成一些(可能是标准化的)形式的抽象语法树。我已经发现ANTLR有一个Java6语法,但它似乎只生成解析树,而不是语法树。我还阅读了有关JavaCompilerAPI的内容——但提到的所有来源都认为它设计过度且文档不足(而且我还没有发现它是否真的生成了AST)。你知道有什么好的解析器库,输出尽可能标准化吗?谢谢 最佳答案 基本上JavaCC和ANTLR是目前最好的工具。您可以在project'sgrammarrepository中找到可用的Java6语法.JavaCC有点老派,很少更新,但很