首页 文章
  • 1 votes
     answers
     views

    Lexer的前瞻如何与ANTLR3和ANTLR4中的贪婪和非贪婪匹配一起工作?

    如果有人能够从前瞻性关系背后的混淆中清除我的想法,那就是涉及格雷斯/非贪婪匹配的令牌化,我会非常高兴 . 这是一个稍长的帖子,因为它跟随我的思考过程 . 我正在尝试编写antlr3语法,允许我匹配输入,如: “identifierkeyword” 我在Antlr 3.4中提出了类似的语法: KEYWORD: 'keyword' ; IDENTIFIER : (options {greedy...
  • 2 votes
     answers
     views

    解析器/词法分析器规则的Antlr v3错误

    我的Antlr语法有问题 . 我正在尝试为'typedident'编写一个解析器规则,它可以接受以下输入: 'int a'或'char a' 变量名'a'来自我的词法分析器规则'IDENT',其定义如下: IDENT : (('a'..'z'|'A'..'Z') | '_') (('a'..'z'|'A'..'Z')|('0'..'9')| '_')*; 我的'typedident'解析器规则如...
  • 1 votes
     answers
     views

    ANTLR解析 - 忽略最后一行输入的注释

    我正在使用Antlr 3.2而我在编写语法时无法忽略注释行 . 具体来说,如果注释行是输入的最后一行,后面没有换行符,我会收到错误 . 我的输入是有效的汇编语言,其中注释从行开头的任何地方用分号开始,然后转到行尾 . 其他所有内容都被解析为命令 . 我的语法的缩减版本展示了这个问题: grammar Test; options { language = Java; output ...
  • 1 votes
     answers
     views

    Antlr - 如何使用NEWLINE终止的自由格式unicode字符串?

    我正在尝试使用Antlr来处理一个简单的文本文件,主要是为了重新学习语法设计 . 文本文件中的每一行由关键字“BY:”和EOL终止字符串组成;该文件以一系列' - '结尾;像这样: BY: abc123@gmail.com BY: myCrazy@#$%ID BY: first_name second_name ------------------- 我将语法定义如下: grammar auth...
  • 2 votes
     answers
     views

    无法迁移antlr语法

    我以前从未使用过antlr,但现在必须将旧版本的语法迁移到最新版本 . 我正在尝试为c#目标生成词法分析器和解析器 . 我坚持要迁移下面看到的启动规则 . grammar expr; DQUOTE: '\"'; SQUOTE: '\''; NEG : '-'; PLUS : '+'; OPEN : '('; CLOSE : ')'; PERIOD: '.'; COMMA : '...
  • 2 votes
     answers
     views

    如何在ANTLR中实现将两个节点合二为一的解析器规则?

    The second alternative ((1-9)(0-9)) of the following parser rule results in two nodes in the abstract syntax tree. oneToHundred : ('1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9') | ('1'|'2'|'3'|'4'|'5'|'6'|'...
  • 2 votes
     answers
     views

    为ANTLR回溯词法分析器

    我'm extending a JavaScript ANTLR grammar that uses the C target to handle JScript'的条件编译注释,即 /*@cc_on ... @*/ . 这些需要与正常的块注释分开处理,因为 /*@cc_on /* hello */ @*/ 会导致单个条件编译注释延伸到第二个注释结束标记 . 我从熟悉的词法分析器规则开始: Co...

热门问题