我嘗試用ANTLR製作一個具有以下特徵的文法。ANTLR中有>和空白區域的標識符可能嗎?
它可以解析像的標識符:
foo > bar > 67
其中foo>欄是標識符,因爲如果>後跟一個字母它包含識別符和它的其他操作者相比更大。
我應該解析之類的東西
((a = 1) AND (b = 2)) OR (c = 3)
,其中()是必要的。
我對這個話題和ANTLR真的很陌生,希望有人能幫忙。
我目前有這個語法
grammar testgrammer;
start : statement EOF;
statement
: operation (AND operation)*;
operation
: '(' ID OPERATOR INT ')';
AND : 'AND';
OPERATOR: '=' | '>';
ID
: ('a'..'z'| 'A'..'Z')+ (WS '>' WS ('a'..'z' | 'A'..'Z')+)?
;
WS
: ' '+ {skip();}
;
INT : '0'..'9'+
;
但在一個ID,我不能之間>找出HOWTO開關和>作爲操作員。
你已經嘗試過自己的東西嗎? –
我目前嘗試,但antlrworks的一些問題,但我嘗試儘快更新 – Sebastian