JavaCC不会转到下一个可能的令牌

时间:2016-07-15 17:22:38

标签: java javacc

我有这两个令牌<进口>和< \ import>,我需要捕获此TAG中的所有数据。我试过这段代码:

< CODIGO_JAVA_IMPORT_OPEN: "<import>" >
< CODIGO_JAVA_IMPORT_CLOSE: "<\\import>" >

void InsertImportJavaCode():{}
{
    < CODIGO_JAVA_IMPORT_OPEN >
    InsertImportJavaCodeRecursiva() 
}

void InsertImportJavaCodeRecursiva():
{
    Token t;
}
{
    (
        LOOKAHEAD(2)
        t = < CODIGO_JAVA_IMPORT_CLOSE >
    |
        t = < ~[] > 
        {
            // code to use information of token t
        }
        InsertImportJavaCodeRecursiva()
    )
} 

但是,JavaCC总是进入InsertImportJavaCodeRecursiva()的第一个选项 例如:如果我有这样的导入代码:

<import>
    import something from there.
<\import>

JavaCC抛出令牌&#34;从那里导入内容的错误。&#34;不是&lt; \ import&gt;。

0 个答案:

没有答案