编译原理中的NFA确定化和DFA最小化可运行代码以及思路解释