我已经定义了一套语法规则。将此视为示例规则。
public bodylist
: bodyset*
;
public bodyset
: ruleSet
| media
| page
;
如果我必须使用此规则进行解析,我必须按如下方式执行此操作。
Stream inputStream = Console.OpenStandardInput();
ANTLRInputStream input = new ANTLRInputStream(inputStream);
CLexer lexer = new CLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
CParser parser = new CParser(tokens);
parser.bodylist();
我对访问流中匹配的 bodyset 段集的方式感到困惑。看来我必须做另一个解析如下
parser.bodyset();
流中可以有多个 bodyset 语法匹配的段集。
假设在输入流中,我们有不止一个匹配此规则的地方。我想要的是获取有关这些信息集的bodyset
信息(在每个信息中,语法规则的开头和结尾是什么)。
我无法找到一种方法来访问bodyset
流中语法规则匹配集的信息。我对 API 感到困惑。