- 1
- 0
- 约9.44千字
- 约 130页
- 2026-02-08 发布于北京
- 举报
安徽大学编译原理课件第三章详解演示文稿;优选安徽大学编译原理课件第三章;知识结构;3.1文法的直观概念;程序设计语言的描述:;例如,对于赋值语句x:=a+b*c的非形式描述是:
语法:赋值语句=变量+:=+表达式
语义:先求右部,然后把结果给左部变量
语用:赋值语句可用来计算和保存表达式的值
形式化方法:用一整套带有严格规定的符号体系来描述问题的理论和方法
形式语言:一种不考虑含义的符号语言;程序设计语言的语义分成:
静态语义:是一系列限定规则,并确定哪些合乎语法的程序是合适的
动态语义(运行语义、执行语义):表明程序要做什么,要计算什么;以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构:;例如,有一组规则:
句子::=主语谓语
主语::=冠词形容词名词
冠词::=the
冠词::=a
形容词::=big
谓语::=动词直接宾语
动词::=ate
直接宾语::=冠词名词
名词::=cat
名词::=mouse
显然,由这一组规则可以产生句子:
Thebigcat/mouseateamouse/cat;这样的语言描述称为文法
使用文法作为工具,不仅为了严格地定义句子的结构,也是为了适当条数的规则把语言的全部句子描述出来,可以说文法是以有穷的集合刻画无穷的集合的一个工具。;3.2符号和符号串;重要约定:
小写字母a,b,c,???,r表示符号
小写字母s,t,u,???,z表示符号串
大写字母A,B,C,???,Z表示符号串集合;二.符号串的运算
1.符号串相等
设x、y是字母表?上的两个符号串,若x与y的诸符号依次相等,则该两符号串相等,记为x=y。;2.符号串长度
设x是字母表?上的符号串,符号串中包含符号的个数称为符号串x的长度,用?x?表示
例:(1)|?|=0;
(2)|ax|=|xa|=|x|+1(a∈∑);3.符号串的连结
设x与y是字母表?上的两个符号串,把y的所
有符号相继写在x的符号之后所得到的符号串称为
x与y的连结,用xy表示
注意:
|xy|=|x|+|y|
?x=x?=x
xy≠yx(一般说来);4.符号串的逆;5.符号串的前缀、后缀和子串
设x、y、z是字母表?上的符号串,则称x为符号串xy的前缀,y是符号串xy的后缀,x、y、z、xy、yz是符号串xyz的子串
例:字母表A={a,b,c}上的符号串x=abc,则x的
前缀有?,a,ab,abc;后缀有?,c,bc,abc;真
前缀有?,a,ab;真后缀有?,c,bc。
;6.符号串集合的乘积
设A、B为两个符号串集合,其乘积为AB={xy|x?A,y?B}
例:(1)若A={ab,cd},B={ef,gh}
则AB={abef,abgh,cdef,cdgh}
(2)∵?x=x?=x
∴{?}A=A{?}=A;7.空集
不含任何元素的集合,记为?
注意:(1)?A=A?=?;
(2)???;8.符号串的幂
设x是字母表?上的符号串,则x的幂运算
为x0=?x1=xx2=xx??????xn=xn-1x(xxn-1)
例:若x=ab,则x0=?,x1=ab,x2=abab,??????,
xn=abab???ab;9.符号串集合的幂
设A是符号串集合,则符号串A的幂运算为:
A0={?}A1=AA2=AA??????An=An-1A(AAn-1)
例:若A={ab,cd}
则:A0={?},A1={ab,cd},
A2={abab,abcd,cdab,cdcd},??????;注意:
A*=A0∪A+
A+=AA*=A*A
若A={a,b}
则:A*={?,a,b,aa,ab,ba,bb,aaa,???}
A+={a,b,aa,ab,ba,bb,aaa,??
您可能关注的文档
最近下载
- 妇女权益保护法律知识讲座.ppt
- 2026年不动产登记专员考试题库与答案.docx VIP
- [石油标准]SYT 6340-2010 防静电推荐作法.pdf
- SY∕T 5329-2022 碎屑岩油藏注水水质指标技术要求及分析方法.pdf
- 2025年药店医保自查报告范文.docx VIP
- 《ISO 31000:2018风险管理 指南》实用指导手册(译2022-04).docx VIP
- 最新人教版八年级物理上册 基础训练题(全册合集)(含答案).docx
- 提高妇科术后患者踝泵运动规范率.pptx VIP
- 风险管理——实施BS ISO 31000:2018的实施规程和指南(2022-译)(推荐下载).pdf VIP
- 2020上海电气2MW风力机组变桨系统培训.pdf VIP
原创力文档

文档评论(0)