问题标签 [antlrworks]
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.
unicode - Lexer 和 unicode,例如德语变异元音
两个问题:
1. 为什么abäcd
不能用下面的语法识别字符串(ANTLRWorks 1.4.2)(结果只有abcd
,这意味着ä
缺少德语变异元音)?
2.我如何在规则中划分Vowels
和VowelsUpper
使用VowelsLower
这两个规则Vowels
?
antlr - ANTLR antlrWorks 错误消息未显示到输出控制台
在第三行输入以下错误时:
我用antlrWorks调试了一下,发现调试器输出窗口显示了第三行对应的错误信息:
output/__Test___input.txt line 3:8 required (...)+ loop does not match any at input '' output/__Test___input.txt line 3:9 缺少 END_COMMAND at 'tenga'
但是当我自己运行应用程序时,这些错误消息不会显示在控制台上。
每当错误出现在第一行时,错误消息就会显示在控制台上,例如:
控制台输出:
inputSql.rst 行 1:8 需要 (...)+ 循环与输入“”处的任何内容都不匹配 inputSql.rst 行 1:9 在“tenga”处缺少 END_COMMAND
当错误不在第一行时,我怎么能让它们也显示在控制台上?
antlr - antlr3 c#代码生成
我能够为使用 ANTLRWorks 编写的语法成功生成 C# 代码 (CSharp2)。但是我想在没有默认生成的所有调试语句的情况下做同样的事情。有没有办法做到这一点?
parsing - 使用不完整的语法进行解析
有没有常见的解决方案如何使用不完整的语法?就我而言,我只想检测 Delphi (Pascal) 文件中的方法,这意味着procedures
和functions
. 以下第一次尝试正在工作
但这是一个解决方案吗?有没有更好的解决方案?是否可以通过动作停止解析(例如在检测到之后implementation
)。使用预处理器有意义吗?如果是 - 怎么做?
antlr - 让 ANTLRWorks 自动处理空格
我有这样的 ANTLR 语法:
我希望它解析以下文本:hello qwerty ;
. 它不以这种方式工作。如果我将字符串更改为helloqwerty;
,一切都很好。我还可以将语法更改为:
在这种情况下,hello qwerty ;
工作正常。是否可以让 ANTLR 自动跳过空格?(即 - 我想让 HelloGrammar1 使用hello qwerty ;
)
更新
如果有意义:我正在 ANTLRWorks 中对其进行测试。
更新 2
也试过这种方式:
还是不行。
更新 3
我正在使用“解释器”选项卡并选择了“声明”规则。
timeout - Antlr 超时等待连接到远程解析器
我正在使用最新的 ANTLR。我在尝试调试此语法时收到此错误消息:
输入是:
我假设这是语法的错,因为另一个正在编译并且工作正常。你能指出我可能的错误吗?
recursion - ANTLR中的初学者递归,没有调用堆栈?
从存在调用堆栈的意义上说,ANTLR 中是否存在递归?例子:
应该只验证左括号和右括号一样多。但是在 ANTLRWorks 1.4.3 中,当我在解释器中输入 '((()))' 时,我得到
我的其他正确的父母在哪里?!我做错了什么吗?谢谢!
antlr - 忽略 ANTLRworks 中的空格
我有以下 ANTLR 语法:
只有 ASSIGNMENT 规则实际上是我的,其余的是 ANTLRWorks 1.4.3 添加的默认值。
当我在解释器中尝试语法时,“a=5”之类的字符串成功,但“b[space]=[space]6”之类的字符串失败:由于空格,我得到一个 MismatchedTokenException:
通过阅读 ANTLR 网站,以及
本/语法规则,似乎应该忽略空格,但事实并非如此。我究竟做错了什么?
antlr - 为什么这个 ANTLR 语法文件不生成,我该如何解决?
这是我在 ANTLRWorks 控制台中收到的错误消息
如果我注释掉string
它生成代码的行,我如何同时拥有规则string
和number
规则?