
编译原理
文章平均质量分 64
不见蝴蝶不见君。
这个作者很懒,什么都没留下…
展开
-
正规表达式
元字符的含义句号 (.) 匹配一个正规表达式中的任意字符(除了换行符)。例如,正规表达式 a.b 匹配的字符串中首先包含字母 a,接着是其它任意单个字符(除了换行符),再接着是字母 b。字符串 axb、xaybx 和 abba 都与之匹配,因为在字符串中隐藏了这种模式。如果您想要精确地匹配以 a 开头和以 b 结尾的一条三个字母的字符串,则您必须对正规表达式进行定位。脱字符号 (^) 元字符指示一...原创 2018-06-22 22:29:13 · 702 阅读 · 0 评论 -
词法分析
词法分析词法分析词法分析概述正规文法与状态转换图正规文法状态转移图正规文法的状态转换图表示正规表达式与有限自动机正规式和正规集有限自动机确定的有限自动机Deterministic Finite Automata非确定的有限自动机Nondeterministic Finite Automata非确定的有限自动机的确定化子集构造法DFA的最简化最小化定义和相关概念具体步骤正规式R与NFA的相互转换正规...转载 2018-06-23 17:28:40 · 1795 阅读 · 0 评论 -
NFA转变为DFA的子集构造法
整体的步骤是三步: 一,先把正规式转换为NFA(非确定有穷自动机), 二,在把NFA通过“子集构造法”转化为DFA, 三,在把DFA通过“分割法”进行最小化。第一步:转换成NFA给出一个例题,来自Google book。本文主要根据这个例题来讲,图2 第二步:子集构造法。 同样的例题,把转换好的NFA确定化,图3 这个表是从NFA到DFA的时候必须要用到的。第一列第一行I的...转载 2018-06-23 21:05:09 · 2173 阅读 · 0 评论 -
编译原理第一章
1.1程序设计语言和编译程序1、汇编语言:用机器语言编写程序不方便且容易出错,编写出来的程序也难以调试、阅读和交流,为此出现了用助记符代替机器语言的另一种语言,这就是汇编语言。2、汇编程序:由于计算机不能直接识别这种符号化语言,用汇编语言编写的程序必须翻译成机器语言才能执行,这种“翻译”是通过专门的软件——汇编程序实现的。3、汇编语言和机器语言一样都是面向机器的,它们都成为低级语言;而...原创 2018-07-27 17:50:08 · 1308 阅读 · 0 评论 -
NFA转化为DFA
NFA转化为DFA NFA转化为DFA的一种常用方法是子集法。我是参照《编译原理及实践教程》来实现的。这里,引用该书中内容来加以阐述。 直接看这些概念应该会很无聊,下面,引用该书中的一个例子,来加以阐述。 ...转载 2018-08-02 14:28:17 · 5428 阅读 · 2 评论 -
编译原理之文法一
一、先简单介绍一下形式语言基本知识 1、字母表:符号的非空有限集合称为字母表 2、符号串:由某一字母表中的符号组成的有限符号序列称为该字母表的符号串 二、非形式化的语言: ①语言L和M的合并,LUM={s|s∈L或 s∈M} ②语言L和M的连接,LM={st|s∈L,t∈M}③语言L的Kleene闭包,L*= ④语言L的正闭包,L...转载 2018-09-06 15:50:16 · 1158 阅读 · 0 评论 -
编译原理之语法分析篇
引用: ==================== S-> aaS|a是什么型的,为什么 S-> aSb|ab是什么型的,为什么 S-> SaS|b是什么型的,为什么 ===================== 答:三种文法都属于上下文无关文法。 四种文法的判断非常简单,说到到,四种文法就是规定产生式的左和右边的字符的组成规则不同而已,其它的不能理解就不要去想了,你只...原创 2018-09-17 19:04:45 · 303 阅读 · 0 评论 -
编译原理之文法
文法:以有穷的集合描述无穷的计划的工具。字母表:元素的非空有穷集合,其中的元素称为符号,因此也叫符号集。符号串:由字母表中的元素组成的任何有穷序列,串中的元素个数叫做符号串的长度,空符号串ε,长度为0。符号串的运算:连接-符号串x = ab,y=cd, xy = abcd方幂-z=xn,当n = 0, z = ε,当 n = 2, z = xx集合的闭包-∑* = ∑0 ∪∑1 ∪∑...原创 2018-09-17 19:23:14 · 30733 阅读 · 2 评论