lex文件(myscanner.l)是如何工作的,它是令牌的标记,char的char

时间:2016-02-06 18:48:06

标签: flex-lexer lex

我希望看到文本的迭代在任何情况下扫描lex文件或lex.yy.c文件。

1 个答案:

答案 0 :(得分:0)

词法扫描程序一次读取输入一个字符,并在识别令牌时执行某些操作。如果用户定义的操作包含return,那么yylex将返回该点,否则它会继续扫描以查找下一个令牌(如果再次调用yylex,也会发生这种情况用户操作返回后。)

在尝试识别令牌时,词法扫描程序可能会读得太远,因为令牌可能是较长的潜在令牌的前缀,而后者的剩余输入不会匹配。在这种情况下,扫描仪会将扫描重置为已识别令牌的末尾。

如果使用-d(调试)选项构建词法扫描程序并将其与-lfl链接,则应该能够在调试跟踪中看到所有重要的扫描程序操作。如果这不足以满足您的需求(或好奇心),我建议您使用调试器。