设计一个简单的DFA状态图,从C语言中接受以下4个保留字const、char、case和continue,对给定的任意一个串,能在DFA上动态的表示出每识别出一个字母后状态的转换,最后给出结论,判定该串是否有限自动机可以识别的串;用C语言程序实现该DFA
2021-10-02 17:09:30 2KB 词法分析程序
1
编译原理实验一,词法分析 编译原理第2版 课后实验一,词法分析,通过。
2021-10-02 14:45:50 313KB 词法分析
1
一般的词法分析器都是黑框的,这个是可视化的,交互性比较好
2021-10-02 00:53:40 80KB 词法分析器
1
C++ QT实现的词法分析器 可以直接使用,源码见附件。
2021-10-01 15:35:58 4.22MB 词法分析器 C++(QT)
1
1)C++源代码扫描程序识别C++记号。 C++语言包含了几种类型的记号:标识符,关键字,数(包括整数、浮点数),字符串、注释、特殊符号(分界符)和运算符号等。 (2)打开一个C++源文件,打印出所有以上的记号。 (3)要求应用程序应为Windows界面。 (4)选作部分:为了提高C++源程序的可读性,C++程序在书写过程中加入了空行、空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以存贮一个删除了所有不必要空格和注释的C++源程序的压缩文本。因此,程序中还应该有这样的压缩功能。 (5)选作部分:进一步思考或实现——如何进一步实现减小源文件大小的压缩功能。
2021-09-30 09:27:12 29.22MB 单词扫描程序 词法分析 Qt C++
1
简单的词法分析器 任意输入一个C语言程序的源代码 对输入进行分析,分离出保留字、标识符字符串、常量、算符、和界符
2021-09-29 00:26:55 241KB 简单的词法分析器
1
用C++做的一个简单的词法分析器,可以识别简单的字符。功能框架已经有了,如果想扩能,自己可以加代码。
2021-09-28 15:09:57 99KB C++ 词法分析器
1
编写一个词法分析器,它针对输入文件,实现以下功能: 1)每遇到你的学号,就输出你的名字,对于其他的串原样输出。 2)统计输入文件中字母数,单词数。
2021-09-28 14:25:03 356B 编译原理 词法分析器
1
我自己用C语言写的一个词法分析系统,实现了下面几个功能正则式转化为NFA、NFA转化为DFA、NFA化简、NFA模拟、DFA模拟 如你在使用中有什么问题,请联系我QQ:75732861
1
编译原理课设内容,代码可读性高,关键地方都有注释 对词法分析器各函数说明: void preInit(); //初始化关键字和关键状态 void init(); //对正规文法初始化 void inputEX(string rule); //存储三型文法进入数据结构 set Closure(FA nfa, char st); //对一个状态求闭包 set unionSet(sets1,sets2); //加入闭包结果 set e_move(FA nfa,char st, char ch); //使用子集法的move操作 bool equalSet(set s1, set s2); //使用子集法时若产生相同状态则合并 void createNFA(string express); //产生式->DFA FA createDFA(FA nfa); //NFA->DFA bool isLetter(char ch); //判断是否是数字 bool isDigit(char ch); //判断是否是字母 map getTrans(char nowNode); //从DFA中获得转换关系 Ans runDFA(string str,int pos,int line); //启动识别源程序 对语法分析器各函数说明: void init(); //对正规文法初始化 void initVt(); //初始化所有终结符 void inputEX(string rule); //存储二型文法进入数据结构 void calFisrt(); //计算FIRST集合 void calFollow(); //计算FOLLOW集合 void calSelect(); //计算SELECT集合 int get_column(string target); //得到终结符在预测分析表的列标 int get_row(string target); //得到非终结符在预测分析表的行标 void create_table(); //建立预测分析表 void print_table(); //打印预测分析表(由于预测分析表过于庞大,在程序中被注释) vector split(const string& str, const string& delim); //处理一个token void deal_tokens(); //对词法分析器得到的token表进行处理
2021-09-27 09:05:00 851KB 编译原理 词法分析 LL(1)语法分析
1