本篇内容主要讲解“Flex常用规范有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flex常用规范有哪些”吧!
noyywrap yylex等分析函数结束后不再调用yywrap()函数。 nodefault 关闭一些默认行为,比如不能匹配的输入则回射到标准输出 warn 开启所有警告 case-insensitive 整个过程中匹配输入大小写不敏感,但是yytext还是原本输入匹配的内容 yylineno 自动的在yylineno变量中维护当前解析的行数总值,如果是解析的多个文件,可以在开打文件后重置它
. 匹配任意字符,除了 \n。 - 用来指定范围。例如:A-Z 指从A 到 Z 之间的所有字符。 [ ] 一个字符集合。匹配括号内的 任意字符。如果第一个字符是 ^ 那么它表示否定模式。例如: [abC] 匹配 a, b, 和 C中的任何一个。 * 匹配 0个或者多个上述的模式。 + 匹配 1个或者多个上述模式。 ? 匹配 0个或1个上述模式。 $ 作为模式的最后一个字符匹配一行的结尾。 { } 指出一个模式可能出现的次数。 例如: A{1,3} 表示 A 可能出现1次或3次。 \ 用来转义元字符。同样用来覆盖字符在此表中定义的特殊意义,只取字符的本意。 ^ 否定。 | 表达式间的逻辑或。 "<一些符号>" 字符的字面含义。元字符具有。 / 向前匹配。如果在匹配的模版中的“/”后跟有后续表达式,只匹配模版中“/”前面的部分。如:如果输入A01,那么在模版A0/1 中的 A0 是匹配的。 ( ) 将一系列常规表达式分组。
FILE *yyin/*yyout Lex中本身已定义的输入和输出文件指针。 这两变量指明了flex生成的词法分析器从哪里获得输入和输出到哪里。默认指向标准输入和标准输出。 char *yytext 指向当前是别的词法单元的指针。 int yyleng 当前词法单元的长度。 yylineno 提供当前的行数信息 ECHO lex中预定义的宏,相当于fprintf(yyout, "%s", yytext) , 即输出当前匹配的词法单元。
yylex() 这一函数开始分析,它由lex自动生成。 yywrap() 这一函数在输入或文件的末尾调用。返回0继续扫描,-1结束扫描。 yymore() 这一函数告诉lexer将下一个标记附加到当前标记后。 yyless(int n) 返回当前匹配项除了开始的n个字符内的所有的内容到输入缓冲区, 解析器处理下一匹配时,他们将会被重新解析。
到此,相信大家对“Flex常用规范有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。