
编译原理
文章平均质量分 79
倒过来是圈圈
这个作者很懒,什么都没留下…
展开
-
【编译原理】LALR(1)语法分析方法(c++实现)
LALR(1)文法的判断,拓广文法,构建DFA,建立LALR分析表,最后对输入串进行文法分析原创 2020-05-29 16:18:29 · 5984 阅读 · 5 评论 -
【编译原理】LR(1)分析方法(c++实现)
前文回顾【编译原理】LR(0)分析方法(c++实现)【编译原理】SLR(1)分析方法(c++实现) 代码和SLR的区别其实只是DFA中多了一个搜索符,构建分析表的时候规约项的列是相应的搜索符而已代码基本上就在SLR的代码上修修补补,但是写的有点乱,以后有时间再整理一下吧Item类#include <iostream>#include <fstream>#include <string.h>#include <string>#i原创 2020-05-26 18:01:19 · 8292 阅读 · 7 评论 -
【编译原理】SLR(1)分析方法(c++实现)
基本流程Created with Raphaël 2.2.0输入文法拓广文法构造DFA(识别活前缀的自动机)SLR(1)分析表SLR(1)分析输入串当然也要求非终极符号的FIRST和FOLLOW集,这个步骤在构建分析表之前做就好,没什么固定顺序 代码测试结果...原创 2020-05-21 21:15:30 · 9227 阅读 · 21 评论 -
【编译原理】LR(0)分析方法(c++实现)
基本流程输入文法->拓广文法->求项目集规范族->GO[I,a]转移函数->构造DFA(识别活前缀的自动机->LR(0)分析表->LR(0)分析输入串代码c++实现原创 2020-04-27 13:19:29 · 11197 阅读 · 11 评论 -
【编译原理】LL(1)分析方法 生成语法树(c++实现)
基本流程输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树原创 2020-04-04 11:38:54 · 17185 阅读 · 10 评论 -
【编译原理】最小化DFA
前文回顾【编译原理】正则表达式转NFA【编译原理】NFA转DFA(子集构造法)C++实现#include <iostream>#include <fstream>#include <string>#include <stack>#include <stdlib.h>#include <algorithm>u...原创 2020-03-15 16:50:15 · 2524 阅读 · 0 评论 -
【编译原理】NFA转DFA(子集构造法)
通过子集构造法完成NFA转DFA的C++实现原创 2020-03-15 16:43:50 · 7826 阅读 · 23 评论 -
【编译原理】正则表达式转NFA
词法分析程序实现流程2.1 正则表达式的识别—— 2.3 正则表达式转换为NFA——2.5 NFA到DFA转换——2.8 最小化DFA——2.9 词法分析过程原创 2020-03-03 20:26:03 · 6903 阅读 · 5 评论