antlr3

    0热度

    1回答

    转换ANTLR的3语法ANTLR的4。这是MySQL的解析器写在v3中,我试图转换到V4。错误在'finally'的底部。错误说” ‘在‘终于’’ // Comment from server yacc grammar: // Keywords that we allow for labels in SPs. Anything that's the beginning of a statemen

    0热度

    1回答

    将ANTLR 3转换为ANTLR 4.我有这样的gabillion警告。我发现其他关于贪婪的SO问题,但不是这个问题。 table_reference: // table_ref in sql_yacc.yy, we use table_ref here for a different rule. table_factor (options { greedy = true; }: joi

    0热度

    1回答

    令牌先行选项已在ANTLR 4时如何删除“K”选项,所以...... 这是ANTLR 3码: declarations: // Order is important here. (options { k = 3; }: DECLARE_SYMBOL identifier (variable_declaration | condition_declaration))* curs

    0热度

    1回答

    时,我有下面的C函数来捕获由ANTLR抛出识别错误: void recognition(pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *list) { pANTLR3_PARSER parser; pANTLR3_EXCEPTION exception; parser = (pANTLR3_PARSER) (

    1热度

    2回答

    使用ANTLR 3,我的词法有规则 SELECT_ASSIGN: 'SELECT' WS+ IDENTIFIER WS+ 'ASSIGN' WS+ (('TO'|'USING') WS+)? ,这也符合 SELECT VAR1 ASSIGN FOO 但是这不符合 SELECT VAR1 ASSIGN TWO 鉴于我在标准中将TO | USING标记为可选项。 从生成的Java代码,

    0热度

    1回答

    在以下代码上运行ANTLR3时,我收到警告消息 - 警告(200):MYGRAMMAR.g:40:36:决策可以使用多个备选方案匹配诸如“QMARK”之类的输入:3,4 因此,对于该输入禁用替代项4。 该警告消息指向我postfixExpr。有没有办法来解决这个问题? grammar MYGRAMMAR; options {language = C;} tokens { BANG

    0热度

    1回答

    如何捕捉词法分析器中的异常?在解析器如果规则失败(或不匹配与给定的输入流)ANTLR的会抛出异常,我们可以轻易地捕获这个exception.Catch在Antlr3.Ref词法分析器异常:Error handeling in antlr 3.0 ... attribute : Value1 integer1["Value1"] { System.out.println("Accepte

    2热度

    1回答

    我是Antlr-4的新手,但对Antlr-3有一些想法,可以在不需要任何分析程序规则的情况下创建词法分析器;为了匹配匹配的一些令牌就像一个词法规则: CLASS: 'Class' WS+ id=ID { System.out.println($id.text); } ID : [a-z]+ ; WS : [ \r\t\n]+ 我怎么能做到这一点了在ANTLR中-4没有任何的解析器,因

    0热度

    1回答

    如何获取Antlr 3解析器中的上一个令牌?其实我可以通过使用“input.LT(-1)”轻松搞定,但我不想使用lookahead.So是否有任何其他方法在解析器中获得前一个标记?

    0热度

    1回答

    我需要将语法文件从antlr2语法重写为antlr4语法,并具有以下问题。 1)Bart Kiers表示在这个SO post中有一个严格的命令:语法,选项,标记,@header,@members。此antlr2.org post不同意声明标题在选项之前。是否有资源说明antlr4的正确顺序(如果存在)? 2)同样的antlr2.org文章指出:“语法的选项部分(如果指定的话)必须紧跟';'在类说明