- 博客(11)
- 资源 (12)
- 收藏
- 关注
原创 编译原理:第七节 及词法分析器的C++和Python实现
编译原理:词法分析概述:词法分析是完成编译程序的第一个阶段的工作。所谓词法分析就是对输入字符串形式的源程序按顺序进行扫描,识别其中的字符串作为输出。词法分析器的作用就是完成这个阶段。词法分析器的是所有编译器所必须的。例如:这是Python的架构,我们可以看到Scanner,它所做的就是进行词法分析。举个简单的C/C++的例子,来直观的看一下词法分析器的功能:
2015-09-28 20:33:19 8633 2
原创 编译原理:第六节
编译原理:正规式与有限自动机正规式与正规集正规式的作用:表示语言正规集的作用:表示语言的集合正规表达式是一种表示法,可以详细描述高级程序语言单词符号或者说每一个正规表达式r 表示一个语言 L(r).例如可以用正规表达式表示C++语言的标识符,而C++语言的标识符(集合)可以看作一个语言,因此正规表达式r 实质是用来表示一个语言L(r).具体来
2015-09-20 20:06:56 1174
原创 Android:自定义View(一)
Android:自定义View(一)自定义View:就是继承系统的View,通过添加绘制元素,逻辑以实现自己想要实习的效果的控件。在Android开发过程中,我们想要的效果大多数情况下可以直接使用系统提供的控件来实现,但是还是有很多效果是系统没有提供的,这时候就需要我们自己定义实现View控件或者使用第三方的自定义View控件编写自定义View:首先我们来实现一
2015-09-18 12:30:19 704
原创 编译原理:第五节
有限自动机有限自动机定义与分类:对语言的有穷描述的一种方法,识别方式,能够识别正则文法所定义的语言。分为确定的有限自动机(DFA)和非确定的有限自动机(NFA)。DFA的定义:一个确定的有限自动机M(DFA M)是一个五元组:M = (Q,Σ,f,q0,Z)Q:状态的有限集合,每个集合为一个状态Σ:输入字符的有限集合(有穷字母表),每个元素是一个
2015-09-15 23:31:06 1692
原创 编译原理:文法类型判断C++实现
文法类型判断C++实现#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include using namespace std;const int STRING_MAX_LENGTH = 10;#ifdef WIN32#pragma warning (disable:
2015-09-11 15:21:26 4430
原创 _CRT_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS错误1 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for
2015-09-10 17:34:56 751
原创 编译原理:第四节
形式语言与自动机原理回顾上节内容例:已知文法 G [ S ] 为 S —> aSb | Sb | b , 证明 G [ S ] 为二义性文法 解:存在两棵不同的语法分析树,所以得证 G [ S ] 为二义性文法短语,直接短语和句柄短语:一棵子树的所有叶子自左至右排列起来形成一个相对于子树根的短语。直接短语:仅有父子两代的一棵子树,它的所有叶子自左至右排列起
2015-09-10 16:21:38 1683
原创 编译原理:第三节
形式语言与自动机原理什么是语言?我们知道世界上存在很多种语言:我们可以把他们分为自然语言(人们日常交流的工具)和程序设计语言。自然语言复杂且难以描述,程序设计语言结构规整,便于处理。但两者又有共性,即核心都由语法和语义两部分组成。那什么是语言呢??首先来看一下字母表定义:字母表是元素的非空有穷集合。字母表包含了语言中允许出现的全部符号。例如:英语的字母表包含了英文字母,数字,标点符
2015-09-08 21:18:43 1048
原创 Hanoi汉诺塔问题
Hanoi汉诺塔汉诺塔问题:设A,B,C是三个塔座。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自上到下,由大到小地叠放在一起。现要求将塔座A上的这一叠圆盘移动到塔座C上 ( 可以借助于塔座B),仍按同样的顺序叠置。规定:每次只能移动一个圆盘,任何时刻不允许将较大的圆盘压在较小的圆盘之上。例如 n = 3 时,有:我们讨论对
2015-09-02 22:31:24 1597
原创 编译原理:第二节
编译原理:第二节这一节主要讲解T型图。一个编译程序可以用三种语言来刻画,即源语言,目标语言和宿主语言(编译的实现语言),用T型图可以方便地对其进行表示。其中,T型图的左上角表示源语言,右上角表示目标语言,底部表示实现语言。如图:例如:对于一个用Z语言实现的,从源语言X到目标语言Y的编译程序,可用下图表示: 此编译程序也可以记做:
2015-09-02 17:04:30 5984
原创 编译原理:第一节
编译原理:第一节编译程序:把用某一种程序设计语言写的源程序翻译成等价的另一种语言程序(目标程序)的程序,称之为编译程序或翻译程序源程序的执行:一个源程序编写后要投入运行,需要编译程序支持的执行过程分为两个阶段:编译阶段和运行阶段编译程序的总体结构:整个结构可以分为前端(front end )和 后端 (back end
2015-09-01 08:48:50 1094
PCA教程_pdf
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人