- 1
- 0
- 约2.72千字
- 约 100页
- 2017-04-22 发布于湖北
- 举报
程序语言的设计
程序语言的设计;第一节 语言的定义;1.几个术语
①字母表:语言允许使用字符的集合,其元素称为字符
②符号:由字符组成的有限串(字符串)
③字汇表:由符号组成的集合,其元素称为字(如关键字表) ;;语言的定义;①一个简单英语句子的描述
I/Students study/run
②文法:记为(N,T,P,S)
句子→主语谓语
主语→I|Students
谓语→study|run
③语言:所有句子的集合; 标识符→字母
标识符→标识符字母
标识符→标识符数字
字母→A|…|Z|a|…|z
数字→0|…|9;表达式→标识符
表达式→(表达式)
表达式→表达式运算符表达式
运算符→+|-|*|/
;3.识别的观点;终结符x
非终结符N
N→?1|?2|…|?n
;?b1;; 若一个终结符序列是合法的,
那么,必须从语法图的入口边通过语法图而到达出口边,
而且在通过的过程中,恰恰能识别该终结符序列。;③语言;;?字母;标识符;语法描述方法;语法描述方法等价;;①表达语言设计者的意图和设计目标;
②指导语言的使用者编写正确的程序;
③指导语言的实现者编写语法检查程序来识别所有语法单位。;语义(规则)
定义语言合法句子的含义(即句子的作用和意义)的规则组合。
例:if(ab) then max:=a else max:=b ;;;;抽象机GAM的组成;ip;抽象机GAM的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;文法自从乔姆斯基(Chomsky)于1956 年建立语言的形式描述以来,形式语言的理论发展很快。
该理论对计算机科学,特别是对程序语言的设计、编译方法、计算复杂性等方面,产生了深刻影响。;;;文法是描述语言语法结构的形式规则。
通用,准确,易于理解, 描述能力强; G=(VT,VN , S , P)
VT为终结符的非空有限集;
VN为非终结符的非空有限集;
S是文法的开始符号, S∈VN ;
P为产生式的非空有限集,;;;产生式的简化;约定;文法的表示;①0型文法
?→?
②1型文法(上下文有关文法)
|α|=|β| (S→?例外);;1. 推导与归约
①直接推导: wα? ?wβ?
即由产生式右边替换产生式左边
②推导:α1 ?*αn、α1 ?+αn ;E→E+E│E*E│(E)│i
i+i*i的最左推导过程
;最右推导(规范推导);文法G=(VT,VN,S,P), S?*α
若α?V*, 则α为文法G的一个句型
若α?VT*, 则α是一个句子;思考;文法G=(VT,VN,S,P)产生的所有句子的集合, 称为由文法G产生的语言, 记为
L(G), 即
L(G)={α│S ?+α且α ?VT * }; I→L|LS
S→T|ST
T→L|D
L→a|b|. . . |z
D→0|1|2| . . . |9; S→aS|aP
P→bP|bQ
Q→cQ|c
L(G3)={aibjck│i,j,k?1}; S→aSBC|aBC
CB→BC
aB→ab
bB→bb
bC→bc
cC→cc
L(G4)={ anbncn│n 0}; 有限规则描述无穷语言。;文法等价;①推导树是一棵有序的标记树
每个结点的标记是文法G的非终结符或终结符;
标记为A的内部结点从左到右有子结点X1,X2,…, Xn,则A→X1…Xn是一个产生式;;;;③推导树的边缘:
推导树所有叶结点从左到右的连接。
④文法的二义性:
一个句子有两棵不同的推导树。;设计的依据:
面向的问题和面向的机器
设计内容(语法):
表达式、语句、程序单元、程序
描述方式:语法-BNF 语义-自然语言;一. 表达式的设计
逻辑表达式
关系表达式
算术表达式;1. 逻辑表达式;1. 逻辑表达式;?、 ?、 ? 的优先顺序由低到高;关系表达式→
算术表达式关系运算符算术表达式
关系运算符 →|=||=|=|;2. 关系表达式;算术表达式→常量|变量|
(算术表达式)|
算术表达式算术运算符算术表达式 ;;算术表达式→算术表达式+项|
算术表达式 - 项| 项
项→项*因子|项/因子|因子
因子→(算术表达式)|常量|变
原创力文档

文档评论(0)