2
我正在嘗試使Xtext語法識別文件的結尾作爲有效的語句,但到目前爲止我嘗試過的所有操作都不起作用。如何在Xtext中使用EOF
嘗試使用EOF直接會告訴我的消息在編輯器「在輸入‘EOF’沒有可行的替代方案」:
Object :
typ=('char'| 'any' | 'number' | 'space' | 'symbol') (' ' | ';' | EOF)
;
於是,我就介紹鏈接到EOF終端:
terminal ETX: EOF;
...
Object :
typ=('char'| 'any' | 'number' | 'space' | 'symbol') (' ' | ';' | ETX)
;
的XTEXT是編譯的這種方式,但會給我同樣的錯誤如上在
「語言編輯器窗口」
(其運行XTEXT作爲Eclipse的應用程序時,將打開一個)當我不輸入最後一個元素後面的空格或分號(焦炭),出現的錯誤:
symbol number char(!)
當我把所有三個允許的元素到終端同樣的事情發生:
terminal END: (' ' | ';' | EOF);
...
Object :
typ=('char'| 'any' | 'number' | 'space' | 'symbol') END
;
的語法用於描述一種正則表達式語言,它將用於解析定義格式的字符串。例如:
(我將代替空格用下劃線搞清楚)
char_symbol_number_
char_symbol_number;
由編碼校正接受(不顯示任何錯誤)。
而
char_symbol_number
會給我第二Eclipse編輯器窗口中的上述錯誤。
(的一個與我定義的語言代碼完成等。)
指出這一點,我想要做到的是一個純粹的化妝品的調整,
這樣我就可以離開最後一個語句是而不必添加空格或分號。
所以問題是:如何使Xtext識別EOF(無)作爲有效的結束語?
感謝您的快速響應。不,它不起作用,我得到相同的「輸入'''錯誤沒有可行的替代。 –
請發佈您的完整語法和您期望有效的完整示例文件。 –