我用 flex 生成了一个词法分析器。
[ \t\n\r\v] /* skip whitespace */
[_a-zA-Z]([_a-zA-Z]|[0-9])* printf("IDENT\n");
[0-9]+ printf("INTEGER\n");
[0-9]+\. printf("DOUBLE\n");
现在我想用 C 编写自己的解析器,但我不知道如何从词法分析器中获取标记。我必须在调用 yylex() 中包含“lexer.c”吗?然后我必须返回枚举类型而不是调用 printf()。不使用 bison/yacc 的最佳方法是什么?