【编译原理】(1)程序语言的语法描述
来源:互联网 发布:学了Java再学什么 编辑:程序博客网 时间:2024/04/28 20:53
1.语言
某一特定字母表上的符号串组成的集合,分为自然语言和形式语言。
程序设计语言是一种符号语言,具有一般形式语言的共同特征。
1.1子母表
字母表是有穷非空的符号集合,用∑表示,字母表上的一个元素成为符号。
1.2符号串
字母表∑上的符号串是指由∑上的符号构成的一个有穷序列。
(1)不包括任何符号的序列称为空字ε
(2)符号串中的符号是有序的,ab和ba是不同的符号串
2.符号串的运算
2.1连接(积)
设a和b是同一字符表上的两个字符串,把b的各个符号相继写在a符号之后得到的符号串称为a和b的链接记为ab。
2.2方幂(n次连接)
设α是字母表上的一个字符串,把a自身链接n次,即γ=α α α…α(n个α),称为符号α的n次方幂,记为:γ=αn
当n=0时α0=ε
3.符号串集合及运算
若集合U中的所有元素都是某字母表∑上的符号串,则称U为该字母表∑上的符号串集合字母表∑中所有符号串集合用∑*表示。
不含任何元素的空集合{ }用∅表示
∑={a,b}∑*={ε,a,b,aa,ab,ba,bb,...}
3.1符号串集合的连接
定义∑*的子集U和V的连接定义为
UV={αβ|α∈U ^ β∈V}
两个符号串集合U和V的连接UV也是一个集合,其中的符号串满足α∈U并且β∈V的一切符号串αβ所构成的集合。
说明:
对任意符号串α有εα=αε=α{ε}U=U{ε}=UBut:∅A=A∅=∅
3.2符合串集合的方幂
集合V的方幂是集合V的多次自身连接
Vn=VVV…V
字母表∑的方幂为:
∑0={ε},∑1=∑,∑n=∑∑n-1
3.3符号串集合的闭包和正则闭包
a.规定:V0={ε}
令V=V0∪V1∪V2…则称V是V的闭包
b.如果不允许空符号串,得到的集合为正闭包
V+=V1∪V2…
阅读全文
0 0
- 【编译原理】(1)程序语言的语法描述
- 【编译原理】高级语言及其语法描述
- 通用高级程序语言的语法内容
- 程序语言的底层描述(1)——汇编基础概念的开始之入门
- 编译原理 实验2 语法分析器的构造 LL(1)
- 【编译原理】文法的语法图
- typedef的语法描述
- typedef的语法描述
- 编译原理--语法分析器
- 编译原理 语法分析器
- 【编译原理】语法分析器
- 编译原理语法分析器
- 编译原理--语法处理器
- 程序语言,编译?解释?
- [转]typedef 的语法描述
- 编译原理--语法推导树
- 编译原理-语法分析器-总结
- 编译原理学习笔记---语法
- 并查集, 畅通工程(简单并查集)
- 汉字数字转阿拉伯数字
- spring源码解析之bean的子元素
- 内部排序-选择类排序
- stdout、stdin和stderr
- 【编译原理】(1)程序语言的语法描述
- Java 序列化Serializable详解
- 韩信点兵(南洋理工ACM)
- Educational Codeforces Round 25 G. Tree Queries(dfs)
- 数据结构总结
- css的布局的定位(了解)
- hdu3605—Escape(二分图的多重匹配)
- HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
- hdu 1009 FatMouse' Trade