11 2022 档案
摘要:环境:腾讯云Ubuntu Server 20.04 LTS 64bit 1、安装git sudo apt-get install git 2、安装vim sudo apt-get install vim 3、安装gcc 11、g++11 sudo apt-get install software-p
阅读全文
摘要:确定有限自动机 对状态图进行形式化定义 确定有限自动机(Deterministic Finite Automata, DFA) M是一个五元式 M=(S, Σ, f, S 0, F),其中: S: 有穷状态集 Σ:输入字母表(有穷) f: 状态转换函数,为S×Σ→S的单值部分映射,f(s, a)=s
阅读全文
摘要:1、回顾 词法分析器的功能 输入源程序、输出单词符号 词法分析器的设计 给出程序设计语言的单词规范——单词表 对照单词表设计识别该语言所有单词的状态转换图 根据状态转换图编写词法分析程序 正规式和正规集 正规集可以用正规式表示 正规式是表示正规集一种方法 一个字集合是正规集当且仅当它能用正规式表示
阅读全文
摘要:1、词法分析器的结构 预处理子程序在扫描器的调用下,将源程序输入到输入缓冲区,预处理子程序读取输入缓冲区的字符进行文本的预处理。 经过预处理后规范性更好的文本被送到扫描缓冲区,预处理子程序返回到扫描器, 扫描器继续从缓冲区中读取预处理后的文本,根据词法规则识别出单词的符号。 扫描缓冲区 两个半区互补
阅读全文
摘要:编译程序总框 词法分析的任务 词法分析的任务 从左到右做个字符地对源程序进行扫描,产生一个单词符号 词法分析器(Lexical Analyzer) 扫描器(Scanner) 执行词法分析的程序 词法分析器的功能 功能 输入源程序、输出单词符号 单词符号的种类 基本字:如begin, repeat,
阅读全文
摘要:乔姆斯基于1956年建立形式语言体系,他把文法分成四种类型: 0, 1 ,2, 3型 与上下文无关文法一样,它们都由四部分组成但对产生式的限制有所不同 G=(VT, VN,S,P) VT :终结符(Terminal)集合(非空) VN :非终结符(Noterminal)集合(非空) ,且VT∩VN=
阅读全文
摘要:1、推导和语法树 最左推导和最右推导 从一个句型到另一个句型的推导往往不唯一 E+E⇒i+E⇒i+i E+E⇒E+i⇒i+i 最左推导:任何一步α⇒β都是对α中的最左非终结符进行替换 最右推导:任何一步α⇒β都是对α中的最右非终结符进行替换 语法树 用一张图表示一个句型的推导,称为语法树 一颗语法树
阅读全文
摘要:1、文法生成语言推导 定义:当αAβ直接推导出αγβ,即αAβ⇒αγβ,仅当A→γ是一个产生式,且α,β∈(VT∪VN)*。 注:按照我的理解是两个字符串的推导。 如果α1⇒α2⇒…⇒αn,则我们称这个序列是从α1到αn的一个推导。若存在一个从α1到αn的推导,则称α1可以推导出αn。 对文法G(E
阅读全文
摘要:1、文法2、语言描述的几个基本概念基本概念1字母表:一个有穷字符集,记为∑字母表中的每个元素称为字符∑上的字(也叫字符串)是指由∑中的字符所构成的一个有穷序列不包含任何字符的序列称为空字,记为ε用∑* 表示∑上所有字的全体,包含空字ε例如:设∑={a, b}, 则∑*={ε, a, b, aa, a
阅读全文