我有个灵活的问题。我不明白什么是BEGIN(初始)命令。我认为这是进入我已经处于的当前状态的开始的方法,但我不确定我是否正确。你能简单地给我解释一下BEGIN(INITIAL)是做什么的吗?
提前谢谢你!
发布于 2014-03-20 21:15:06
它会返回到初始状态。假设你有这样的东西:
%x FOO
%%
[A-Z] { BEGIN(FOO); }
. {}
<FOO>. {}
<FOO>\n { BEGIN(INITIAL); }
%%这里,初始状态,即状态初始,是与前两个模式匹配的状态,即“默认”状态。如果您读取任何大写字符,您将以状态FOO结束。在状态FOO中,如果遇到换行符,您将进入初始状态,这也是与前两个规则匹配的状态。
https://stackoverflow.com/questions/22527608
复制相似问题