您好,登錄后才能下訂單哦!
本篇內容主要講解“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。