来自莱克斯,
假设lex结构的定义是:
... definitions ...
%%
... rules ...
%%
... subroutines ...
在一个示例文件中,我首先从定义部分中看到以下行:
%x PP PRAGMA
然后在规则部分,我看到:
<PP>[ \t\r]* { }
<PRAGMA>. { }
^[ \t]*#[ \t]*version { BEGIN PP; return VERSION_TOK; }
所以,我的问题来了(我理解 lex 的一般概念):
- 什么是 PP PRAGMA?我应该如何理解 %x?
- 对于规则部分:是什么意思?他们不应该是象征,对吧?
- BEGIN PP 是什么意思?