我正在使用C++编写手工Lexer和Parser。我已经按照以下方式编写了Lexer:如果它发现例如
;
,它会打印"SEMICOLON",如果它发现while
,它会打印"KEYWORD",如果它发现hello
,它会打印"IDENTIFIER"等等。然而,现在我需要将这些标记传递给解析器。例如如何使用列表完成此操作?我发现需要存储令牌类型和令牌值。
get_next_token()
方法来实现。 - j_random_hackerget_next_token(Token * tok)
,类似这样的吗?我的意思是这个函数将填充传递的Token对象的所有字段,包括令牌类型(也称为令牌种类),令牌值,例如标识符的字符串。 - ollydbg23