antlr3

    1热度

    1回答

    我正在寻找antlr解析/树尽可能多的输入,以便信息可以用于intellisense。也许这是错误的方法,但似乎是在输入不是100%有效时获得体面信息的唯一方法。 语法的语句由分号分隔。我特别想要的是antlr尝试解析/分隔由分号分隔的所有内容。含义1破坏语句不应阻止其他语句被解析。 我能够很容易地使用以下内容将它添加到解析器语法中。 statements : (statement (a

    0热度

    1回答

    我们的一个Web应用程序由于其内存不足而死亡。我们从内存转储中收集到的稀疏数据表明在我们的antlr解析实现中存在一个问题。我们看到的是一个包含超过一百万项目的antlr tokenstream。导致此问题的输入文本尚未找到。 这有可能与零宽度项目相匹配吗? 语法中是否会存在另一个问题,导致内存使用率过高? 这里是我们使用当前语法: grammar AdvancedQueries; optio

    -1热度

    1回答

    我有一个完整的解析器语法,而不是生成一个AST,我可以说使用重写规则和树操作符是正确的。目前,我被困在创建树grammar.I的阶段有这样的错误: 规则的以下几组相互左递归[direct_declarator,说明符]和[abstract_declarator,direct_abstract_declarator] 重写没有输出选项的语法或运算符;设置输出= AST 这是我的树语法。 tree g

    1热度

    1回答

    我开始我的符号表,它仍然是新的,但面对antlr给出的一些错误引用我的init_declarator规则。任何提示请 declaration : declaration_specifiers init_declarator_list? SEMICOLON! {currentScope.defineVariable($init_declarator_list.name,$declarati

    0热度

    1回答

    我需要在我的大部分规则中进行自定义初始化&清理。有没有办法避免@ init/finally块中的重复? 目前我的规则是这样的: rule @init { int mark = init(); } // Don't want to duplicate this! ... ; finally { cleanup(mark); } // ... and that! 所以,我要的是申报莫名其妙

    0热度

    1回答

    我想用antlr解析一段触发代码。虽然我能够在Windows上成功解析它,但在函数MATCHT()(它又调用match()函数)中,它在Linux中导致异常。 Linux和Windows之间有什么区别?

    1热度

    2回答

    我正在研究将Oracle SQL转换为ANSI SQL的工具。我有一个解析Oracle SQL和ANSI SQL的语法。 我想从AST的where子句部分提取Oracle外部连接表达式,并在AST的from子句部分的末尾插入新的连接子句以用于匹配的select或subquery。 具有重写规则的树解析器可以执行这种类型的树转换吗? 即采取从Oracle SQL SELECT a.colu

    0热度

    1回答

    我需要一些关于尝试解决使用树语法时遇到的问题的指导。基本上,我希望能够做到的是替换/复制可能在树中发现的声明。最好通过一个例子来解释。 下面是一个示例输入: int a = 10; new function A; function A { int x; int y; new function B; } function B { float b =

    0热度

    1回答

    我有一个解析SQL脚本的语法。对于语法词法正常工作与下面的代码: with open("/path/to/sql/script.sql") as f: query = f.read().upper() tokenStream = antlr3.StringStream(query) lexer = MyLexer(tokenStream) for token

    0热度

    1回答

    我正在使用ANTLRv3。我定义了一个语法。 现在我想要显示分析树(就像在ANTLRWorks分析树或堆栈中一样)。 我试过http://www.antlr.org/wiki/display/ANTLR3/Interfacing+AST+with+Java(步行通过孩子),但它忽略语法中的子句,在解析字符串中没有出现 。 例如,我有一个SQL语法。 我正在解析SELECT标题,来自文档的描述。 在