编辑: You—灰機 2019-07-05
编译原理

第一章 编译程序概述

第二章 PL/0编译程序的实现

第三章 文法和语言

第四章 词法分析

第五章 自顶向下语法分析方法

第六章 自底向上优先分析方法

第七章 LR分析方法

第八章 语法制导翻译和中间代码生成

第九章 符号表

第一章 代码优化第一一章 代码生成 文法和语言 编译程序研究如何将源语言程序翻译为目标语言程序;

让计算机熟悉和掌握源语言和目标语言;

让计算机掌握语言的语法和语义对语法和语义进行形式化描述文法是对语法进行形式化描述的工具对文法和语言进行形式化定义 文法的形式化定义语言的形式化定义 文法和语言 构造编译程序的算法是从研究源程序及目标程序产生的,首先找到源语言的形式描述,根据这种描述,构造出相应的分析加工程序.

程序设计语言包括语法和语义两方面.语法是一组规则,可用来产生合乎语法的程序,也可用来分析一个程序是否合乎语法.A:=B+C程序设计语言的语义包括静态语义和动态语义.静态语义是一系列限定规则,用来确定哪些合乎语法的程序是正确的;

动态语义称为运行语义或执行语义,表示程序要做什么,要计算什么.

一、文法的概念

二、符号和符号串

三、文法和语言的定义

四、文法的类型

五、上下文无关文法及其语法树

六、句型的分析

七、有关文法的一些限制 文法和语言 语言 语法:是一组规则,定义符号如何排列,排列与符号含义无关. 语义 :研究语法的含义 静态语义动态语义

一、文法的概念 (写出以下语言的文法) 你是大学生 对 我是教师 对 我大学生是 错 我学习大学生 对 文法是阐述语法的一个工具 文法的概念 〈句子〉∷=〈主语〉〈谓语〉〈主语〉 ∷ =〈代词〉|〈名词〉〈代词〉 ∷ = 我|你|他〈名词〉 ∷ = 王明|大学生|教师|英语〈谓语〉 ∷ =〈动词〉〈直接宾语〉〈动词〉 ∷ = 是|学习〈直接宾语〉 ∷ =〈代词〉| 推导: 我是教师 〈句子〉 ? 〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉 ? 我〈谓语〉 ?我〈动词〉〈直接宾语〉 ?我是〈名词〉 ? 我是教师 文法的概念 符号和符号串 C、PASCAL等程序设计语言是由所有C、PASCAL程序组成的集合;

程序是由一些基本符号组成的;

从字面上看,每个程序都是一个基本符号串;

设有一个基本符号集, C、PASCAL等程序设计语言可看成是在这个基本符号集上定义的,按一定规则构成的一切基本符号串组成的集合. 先讨论一些有关概念:

1、字母表―符号集:是字母的有穷非空集合.汉语字母表包括:汉字、数字、标点符号等Pascal语言字母表包括:字母、数字、若干专用符号以及Begin、if等保留字. 符号和符号串 符号和符号串

2、符号串―字母表的符号组成的任何有穷序列.例:∑={0,1}符号集 符号串有: 0,1,00,01,10,11例:∑={a,b,c}符号集 符号串有:a,b,c,ab,aaca

3、符号串的长度:符号串x有m个符号,则长度就为m,表示|x|=m 如: ababa 则长度是

54、空符号串:用ε表示,长度为0(不含任何符号) 若符号串x ,则有εx = xε= x

5、符号串的运算: (1) 符号串的头和尾 若z=xy,则x是z的头,y是z的尾. 例:设z=abc ,则z的头是ε,a,ab,abc 则z的尾是ε,c,bc,abc(2)符号串的固有头和固有尾 若z=xy符号串,x非空,则y是固有尾;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题