仅从Antlr生成一个Lexer

仅从Antlr生成一个Lexer,antlr,antlr4,Antlr,Antlr4,我试图使用Antlr对输入流的令牌进行标记化和分类。有人知道如何使用只包含Lexer规则的语法从Antlr生成Lexer吗?您可以使用语法标题行指定所需的语法类型 grammar MyGrammar; 用于组合语法 lexer grammar MyLexer; 对于词法语法(等)。当然,在纯lexer语法中,您只能使用lexer规则。您基本上可以生成一个解析器并扩展侦听器类,然后在每个exitMethod()中将标记推入堆栈 你不能只生成一个lexer。如果您不熟悉ANTLR 4语法或生成解

我试图使用Antlr对输入流的令牌进行标记化和分类。有人知道如何使用只包含Lexer规则的语法从Antlr生成Lexer吗?

您可以使用语法标题行指定所需的语法类型

grammar MyGrammar;
用于组合语法

lexer grammar MyLexer;

对于词法语法(等)。当然,在纯lexer语法中,您只能使用lexer规则。

您基本上可以生成一个解析器并扩展侦听器类,然后在每个exitMethod()中将标记推入堆栈

你不能只生成一个lexer。如果您不熟悉ANTLR 4语法或生成解析器所需的步骤,我建议您花10分钟阅读本书“ANTLR 4的权威”