extern int yylineno; extern char* yytext; extern int yylex();
时间: 2024-03-29 13:39:24 浏览: 141
这是一组与词法分析器相关的声明和函数调用。具体来说:
- extern int yylineno:声明了一个名为 yylineno 的全局变量,用于记录当前词法分析器解析到的行号。
- extern char* yytext:声明了一个名为 yytext 的全局变量,用于记录当前词法分析器解析到的词法单元的文本内容。
- extern int yylex():声明了一个名为 yylex 的函数,该函数是词法分析器的核心函数,用于从输入流中获取下一个词法单元,并返回该单元的类型码。
在使用词法分析器时,通常需要包含一个名为 lex.yy.c 的文件,该文件由词法分析器生成,其中包含了实现上述全局变量和函数的代码。通过调用 yylex 函数,可以逐个获取输入流中的词法单元,并在需要时获取当前行号和文本内容。
相关问题
extern int yylineno; extern char* yytext; extern int yylex();
extern int yylineno;是一个外部声明,用于指示当前词法分析器的行号。它是一个整数变量。
extern char* yytext;是一个外部声明,用于存储当前词法分析器所识别的文本。它是一个字符指针。
extern int yylex();是一个外部声明,用于调用词法分析器。它是一个函数。
这些声明通常用于词法分析器和语法分析器之间的交互,以便在语法分析器中使用词法分析器生成的标记。
阅读全文