perl pa1-grading.pl
flex 文件结构
%{
/ *代码块* /
%}
/ *定义部分* /
%x STATE_X
%%
/ *规则部分* /
ruleA / *正则表达式后* / {/ *代码块* /} / *代码块后* /
/ *规则部分(缩进)* /
<STATE_X> {
RuleC ECHO;
RuleD ECHO;
%{
/ *代码块* /
%}
}
%%
/ *用户代码部分* /
全局字符指针yytext中提供与该匹配相对应的文本(称为token),并在全局int变量yyleng中提供长度。
然后执行与匹配模式(pattern)相对应的操作(action),然后扫描剩余的输入寻找下一个匹配。
%x 定义的区域可以在规则部分 用 BEGIN() 进入。
进入后 正则匹配 对呀 <> 前缀的环境下进行
%x STRING
%%
xxx BEGIN(STRING)
<STRING>正则 {操作}