Flex常用规范有哪些

本篇内容主要讲解“Flex常用规范有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flex常用规范有哪些”吧!

创新互联专注于元宝山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供元宝山营销型网站建设,元宝山网站制作、元宝山网页设计、元宝山网站官网定制、小程序定制开发服务,打造元宝山网络公司原创品牌,更为您提供元宝山网站排名全网营销落地服务。

flex定义段 常用option选项    

    noyywrap          yylex等分析函数结束后不再调用yywrap()函数。

    nodefault         关闭一些默认行为,比如不能匹配的输入则回射到标准输出

    warn              开启所有警告

    case-insensitive  整个过程中匹配输入大小写不敏感,但是yytext还是原本输入匹配的内容

    yylineno          自动的在yylineno变量中维护当前解析的行数总值,如果是解析的多个文件,可以在开打文件后重置它

flex规则段 常用正则表达    

. 匹配任意字符,除了 \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常用规范有哪些”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享标题:Flex常用规范有哪些
网页链接:http://azwzsj.com/article/iesshc.html