Parsing 有人能帮我把这个ANTLR 2.0语法文件转换成ANTLR 3.0语法吗?

Parsing 有人能帮我把这个ANTLR 2.0语法文件转换成ANTLR 3.0语法吗?,parsing,antlr,rdf,Parsing,Antlr,Rdf,我已经转换了“简单”部分(片段、@header和@member) 但是由于我是Antlr的新手,所以我有一个非常困难的问题 转换树语句等的时间 我使用以下方法 下面是我遇到问题的一些例子: 例如,我在以下方面有问题: n3Directive0!: d:AT_PREFIX ns:nsprefix u:uriref {directive(#d, #ns, #u);} ; 或 您必须使用“=”进行作业

我已经转换了“简单”部分(片段、@header和@member) 但是由于我是Antlr的新手,所以我有一个非常困难的问题 转换树语句等的时间

我使用以下方法

下面是我遇到问题的一些例子:

例如,我在以下方面有问题:

n3Directive0!:
                d:AT_PREFIX ns:nsprefix u:uriref
                {directive(#d, #ns, #u);}
                ;

  • 您必须使用“=”进行作业
  • 然后,令牌可以用作“$tokenname.getText()”
  • 然后,规则结果可以作为“rulename.result”在代码中使用
  • 如果有规则声明了结果名称,则必须使用这些名称。
    “结果”
  • 您必须使用“=”进行作业
  • 然后,令牌可以用作“$tokenname.getText()”
  • 然后,规则结果可以作为“rulename.result”在代码中使用
  • 如果有规则声明了结果名称,则必须使用这些名称。
    “结果”
propertyList![AST subj]
        : NAME_OP! anonnode[subj] propertyList[subj]
        | propValue[subj] (SEMI propertyList[subj])?
        |               // void : allows for [ :a :b ] and empty list "; .".
        ;

propValue [AST subj]
        :  v1:verb objectList[subj, #v1]
                // Reverse the subject and object
        |  v2:verbReverse subjectList[subj, #v2]
        ;

subjectList![AST oldSub, AST prop]
        : obj:item { emitQuad(#obj, prop, oldSub) ; }
                (COMMA subjectList[oldSub, prop])? ;

objectList! [AST subj, AST prop]
        : obj:item { emitQuad(subj,prop,#obj) ; }
                (COMMA objectList[subj, prop])?
    | // Allows for empty list ", ."
    ; 
n3Directive0!:
                d=AT_PREFIX ns=nsprefix u=uriref
                {directive($d, $ns, $u);}
                ;