编译原理
好喜欢吃红柚子
行到水穷处,坐看云起时
展开
-
sdut 编译原理 表达式语法分析——递归子程序法
注意:输出格式不要忘记换行 exit(0)的使用,与return不同 E和T候选式进入条件是要为 i 或者 ( ,否则error 匹配成功一个字符后指针要后移#include<iostream>using namespace std;#include<stdio.h>#include<stdlib.h>char s[100];int i=0;int c=0;void E();void G();void T();void S();v.原创 2021-10-19 16:35:55 · 163 阅读 · 0 评论 -
sdut 编译原理 识别浮点常量问题
目录一、判断流程(表格分析)二、代码示例三、代码易错点方法:有穷自动机FA算法有穷自动机FA的输入需要两个参数:当前状态和字符一、判断流程使用switch-case语句完成状态的选择 状态state 此时字符 后面可以出现的字符 1 初始状态,无字符 正负号 、数字 2 正负号 数字 3 数字 数字、小数点、e/E 4 ...原创 2021-09-25 18:10:33 · 167 阅读 · 0 评论 -
编译原理实验——小C语言词法分析器
分析:输入以空格和回车为界划分为不同字符串界符和操作符前后必定为标识符、关键字和整数在没出现界符和操作符之前,将前面的字符串先存起来,在判断函数中做判断hhh原创 2021-09-11 10:40:39 · 284 阅读 · 0 评论 -
编译原理自学三
第三单元 词法分析part2RE ---> NFA ---> DFA ---> 词法分析器代码(每一步转化分别涉及三个算法)目录第三单元 词法分析part23.1 Thompson算法:从正则表达式(RE)-> NFA3.2 子集构造算法:NFA->DFA3.3 Hopcroft算法:DFA的最小化3.1 Thompson算法:从正则表达式(RE)-> NFA基于对RE的结构做归纳 递归算法3.2 子集构造算法:N.原创 2021-08-03 11:13:09 · 99 阅读 · 0 评论 -
编译原理自学二
2.4有限状态自动机1.有限状态自动机(FA)图片***串是否可以被自动机接受:读完串后到达结束状态则可被接受例子1(确定的有限状态自动机DFA)**例子2(非确定有限状态自动机NFA)**确定的有限状态自动机DFA:对于任意字符,最多有一个状态可以转移非确定有限状态自动机NFA:对于任意字符,有多于一个状态可以转移2.DFA的实现有向图:转化为矩阵...原创 2021-08-03 09:54:02 · 153 阅读 · 0 评论 -
编译原理自学一
目录第一章 简介编译器的实现第二章 词法分析二、词法分析器三、正则表达式1.正则表达式2.语法糖第一章 简介编译器的实现阶段一:语义分析阶段二:语法树的建立阶段三:代码生成第二章 词法分析一词法分析:将字符流分割成特定关键字、字符串、符号等组成的单词流。记号:编译器返回的单词。LPAREN:左括号RPAREN:右括号enum kind{IF,LPAREN,ID,INTLIT,...};struct token{ e...原创 2021-08-02 11:31:16 · 164 阅读 · 0 评论