簡體   English   中英

如何從ANTLR語法中收集“返回”

[英]How to collect 'returns' from ANTLR grammar

如果我有ANTLR語法,而我有類似這樣的規則,並帶有“ returns”語句:

string_decl returns [Pair s] : STR id EQUAL ex=str_literal ';'{$s = new Pair($id.text, $ex.text);} ;

然后在我的主要我有這樣的代碼:

 Lexer lexer = new Lexer(CharStreams.fromFileName(inputFileName));
 CommonTokenStream tokens = new CommonTokenStream(lexer);
 Parser parser = new Parser(tokens);

 System.out.println(parser.program()); //prints out empty array ?

如何打印所有“退貨”清單?

returns值被建模為規則上下文的成員。 查看您是否具有String_declContext.s成員。 另請參閱ANTLR4文檔中的“ 規則屬性定義 ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM