概述
如果一种程序设计语言要进行编译,编译程序需要获取它的语法、语义和语用。
语法:对语言结构的定义,即程序是由什么元素组成的。
语义:描述了语言的含义,即一语句是以什么方式运行的。
语用:从使用的角度去描述语言,即一语句的作用是什么。
1、字母表、符号、符号串的定义
字母表:元素的非空 有穷集合。如:∑={a,b,c}
符号(字符):特定字母表的元素。如∑的a,b,c
符号串(字):特定字母表上符号的有穷 有序的序列。如∑上的:ab,ba,bc。
空字符串:ε,长度为0,ε不包含任何符号。
2、符号串的运算:连接、集合的乘积、符号串的幂运算、集合的幂运算
- 符号串的连接:设x,y为字符串,则串xy为x和y的连接。对于任意字符串x,有εx=xε=x。
- 集合的乘积:符号串集合A和B的乘积定义为:AB = { xy | x∈A, y∈B},特别的,{ε} A = A {ε} = A
- 符号串的幂运算:符号串x:x0 = ε, x1 = x, x2 = xx, x