2010-12-17 112 views
0
%x ST_IN_SCRIPTING 
%x ST_DOUBLE_QUOTES 
%x ST_BACKQUOTE 
%x ST_HEREDOC 
%x ST_START_HEREDOC 
%x ST_END_HEREDOC 
%x ST_LOOKING_FOR_PROPERTY 
%x ST_LOOKING_FOR_VARNAME 
%x ST_VAR_OFFSET 
%x ST_COMMENT 
%x ST_DOC_COMMENT 
%x ST_ONE_LINE_COMMENT 
%option stack 

LNUM [0-9]+ 
DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*) 
EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) 
HNUM "0x"[0-9a-fA-F]+ 
LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* 
WHITESPACE [ \n\r\t]+ 
TABS_AND_SPACES [ \t]* 
TOKENS [;:,.\[\]()|^&+-/*=%!~$<>[email protected]] 
ANY_CHAR (.|[\n]) 
NEWLINE ("\r"|"\n"|"\r\n") 

%option noyylineno 
%option noyywrap 

到目前为止我熟悉法,{%...%}%%...%%这3段和%%后的部分,但从来没见过以上但语法...有人可以提供以下语法参考吗?

回答

1

下面的语句定义一个启动条件

%x ST_IN_SCRIPTING 

在某些规则操作,你会发现BEGIN(ST_IN_SCRIPTING)和一些规则的图案是由 <ST_IN_SCRIPTING>前缀。

你可以在the Flex manual

找到更多的信息
相关问题