Description: 1.输入文件解析
2.正则表达式转化为NFA
3.多个NFA合并
4.NFA转换DFA
5代码生成
关于输入文件格式:
没有考虑对lex输入文件的出错处理,所以输入文件务必严格书写正确。
Lex中的正规表达式使用了以下运算符:
[] | * @ ( )
并且正规表达式中不能出现其他的子正规表达式。
如果想要在待识别的正则式中使用上述运算符,请使用转义符号,即\。
例如,如果想用*,可以写成\*
-1. Analysis of the input file 2. Regular expressions into NFA 3. More than the combined NFA conversion 4.NFA Code Generation DFA 5 on input file format: There is no consideration of the lex input file error handling, the input file must be written in strict correct. Lex in the regular expression operators used the following: [] |* @ () and regular expressions can not be a subset of other regular expressions. If you want to be identified in the regular-type operator to use the above, please use the escape symbol, that is, \. For example, if you want to use*, can be written in \* Platform: |
Size: 17408 |
Author:顾添锦 |
Hits:
Description: 用c++实现的此法分析器,包括正则表达式解析,正则到NFA转换,NFA到DFA转换,和最终的匹配,详见包中README文件-Using c++ parser to achieve this method, including regular expression analysis, while the NFA is converted, NFA to DFA conversion, and end the match, see the package README file Platform: |
Size: 16384 |
Author:0x7c00 |
Hits: