摘要: 学习了几天Linux下ftp和ssh的搭建和使用,故记录一下。学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输。废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Archlinux,我是基于vsftpd来搭建的,首先需要安装它: pacman -S vsftpd 接着 阅读全文
posted @ 2017-05-28 17:19 va_chester 阅读(3942) 评论(0) 推荐(0) 编辑
摘要:   语法分析是最难写的,而这部分确实最伤脑的。大量的语义动作分析差点把我逼疯。   简而言之,这部分的作用就是在每次归约之后,都进行一些 ,最终让我们得到测试程序的三地址码,即中间代码。 1. 新的数据结构和函数 为了得到中间代码,我引进了几个struct,如 阅读全文
posted @ 2017-05-21 18:32 va_chester 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:   语法分析算是最难的一部分了。总而言之,语法分析就是先设计一系列语法,然后再用设计好的语法去归约词法分析中的结果。最后将归约过程打印出来,或者生成抽象语法树。 1. 设计文法 以下是我的文法(引入的M和N是方便以后的语义分析): 1.1、基本框架 Program Type ma 阅读全文
posted @ 2017-05-21 11:39 va_chester 阅读(24487) 评论(6) 推荐(1) 编辑
摘要: 1. 定义词法单元Tag   首先要将可能出现的词进行分类,可以有不同的分类方式。如多符一类:将所有逗号、分号、括号等都归为一类,或者一符一类,将一个符号归为一类。我这里采用的是一符一类的方式。C代码如下: 2. 具体步骤 一个一个字符地扫描测试代码,忽略空白字符,遇到回车时,记 阅读全文
posted @ 2017-05-21 11:38 va_chester 阅读(5752) 评论(1) 推荐(0) 编辑
摘要:   在学习了编译原理的相关知识后,逐渐的掌握一个编译器的结构、作用和实现方法。同时,希望自己在不断的努力下写出一个简单的C语言编译器。 实现步骤 1. 词法分析器:将C语言测试代码分解成一个一个的词法单元; 2. 语法分析器:利用LR(1)文法分析算法对词法单元进行归约; 3. 阅读全文
posted @ 2017-05-21 11:37 va_chester 阅读(2167) 评论(0) 推荐(0) 编辑
摘要: 1. 单源最短路径 1.1 Dijkstra算法   给定一个有向图G = (V,E),每条边(i,j)上都标有非负实数C[i][j]作为它的权;在图中指定一个顶点v作为源点,求从v到其他每个顶点的最短路径长度。   为求最短路径,Dijkstra提出按路径长 阅读全文
posted @ 2017-04-22 14:16 va_chester 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 1. 拓扑排序   不存在有向环路的有向图称为无环路有向图。无环有向图可用于表示偏序集。设R是有穷集合X上的偏序关系,对X的每个v,用一个以v为标号的顶点表示,由此构成顶点集V。对R中任意一个序对(a,b),a不等于b,由对应的两个顶点建立一条边(a,b),由此构成边集E,则G= 阅读全文
posted @ 2017-04-21 15:54 va_chester 阅读(3525) 评论(0) 推荐(0) 编辑
摘要: 无向图的双连通分量 1. 概念   设G=(V,E)是连通的无向图,如果V中顶点a是一个 ,若V中有顶点v,w使得v,w,a各不相同且v和w之间的每条路都包含a。换言之,如果删除a和与之相邻的所有边时,就会把图的一个连通分量拆分成多个连通分量。   而若对V中 阅读全文
posted @ 2017-04-20 20:30 va_chester 阅读(2266) 评论(0) 推荐(0) 编辑
摘要: 1. 无向图与开放树   在讲最小生成树之前,先来说一说开放树。连通而无环路的无向图称做 。如果指定开放树中某一顶点为根,并且把每一条边看成是背离根的,则一棵开放树变成一棵树。 开放树有2个性质: 具有n =1个顶点的开放树包含n 1条边 如果在开放树中任意增加一条边,将构成一个 阅读全文
posted @ 2017-04-19 10:28 va_chester 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 深度优先搜索   设无向图G,其中的所有顶点都标记为“没访问过”。选择G中的一个顶点v作为搜索起点,将v标记为“访问过”。然后,递归地搜索与v相邻但没有访问过的顶点。当访问完从v能到达的所有顶点之后,如果G中还有没访问过的结点,则再选一个没访问过的顶点作为新的搜索起点。 算法如下 阅读全文
posted @ 2017-04-18 12:50 va_chester 阅读(256) 评论(0) 推荐(0) 编辑