2
我想ANTLR認識到「10」(包括單引號)包圍的數量,但它只是給 我的錯誤:缺少「出現在‘10’ANTLR - 用單引號
這裏'是我有什麼爲Test.g4
:
grammar Test;
rules : number;
number : QUOTE NUM QUOTE;
NUM : [0-9]+;
QUOTE : '\'';
WS : [' '\t\r\n]+ -> skip ;
然後司機文件看起來像:
public class TestStuff{
public static void main(String [] args){
CharStream input = new ANTLRInputStream(" '10' ");
TestLexer lexer = new TestLexer(input);
CommonTokenStream tokens = new CommonTokenStream (lexer);
TestParser parser = new TestParser(tokens);
parser.rules();
}
}
我已經想盡變化我能想到的和我得到的是:missing QUOTE at '10'
我使用4.1版本,如果它很重要。
你的例子是不完整的,因爲如果你只是添加一個'語法Sample;'子句到你發佈的東西,那麼它工作正常。 –
對不起,這不是整個文件。我只是把相關的部分放進去。我在java中使用這個字符串,看起來像「東西」10「等等等等」如果這很重要。我不認爲我需要在java中逃避單引號。 – user3321348
好吧我已經更新了更多的信息。 – user3321348