在使用 flex 创建词法分析器之前,我已经编写了几个解析器,但这次我希望 flex 生成一个 Lexer 类而不是经典的 C 文件,即我希望 flex 生成一个 C++ 扫描器类......事情是它没有为我生成 yyFlexLexer.h,只有 lex.yy.cc
我已经阅读了 Flex 手册 C++ 章节……所以我想知道该怎么做……是我的 flex for windows 不能正常工作吗?
这些是我目前使用的弹性选项:
%option outfile="cmdsLexer.cpp"
%option stdinit
%option case-insensitive
%option c++
%{
#include "global-scope.h"
%}
ANDIGIT [a-zA-Z0-9]
IDNTIFIER [a-zA-Z_]({ANDIGIT}|_|-)*
INTEGER [-+]?[0-9]+
STRING \"[^\n\"]*\"
....