一个简易的词法分析器4月12日4月10日4月7日4月6日4月5日2017年4月4日清明节记要一个更加简洁的parser (2017年3月23日)版本3 (2017年3月20日更新)版本2 (2017年3月16日更新)版本1
代码大概1000行左右,使用了C++进行编写,实现的功能主要是将正则式转换成为一棵二叉树,然后对于这棵二叉树的结构,递归地来构建NFA,然后通过Thompson的方法将这个NFA转换成为了DFA,当然,我这里直接用表格的方式来表示DFA,所以后面的Hopcroft算法将DFA最小化可能并没有太多的意义,随意我将这个算法包裹了起来。不过我也完整的实现了Hopcroft算法。当然,正则式支持不完整,只支