《编译原理》第二章

简介 高级语言及其语法描述


程序语言的定义

一个程序就是一个记号系统,如同自然语言一样,程序语言主要是由语法和语义两个方面定义,有时程序语言定义也包含语用信息。


语法:

任何一个语言都可以看成是一定的字符集(称为字母表)上的一串字符串(有限)。所谓语言的语法及时指这样的一组规则,用它可以生成一个合式的程序。这些规则一些部分称为词法规则,还有一部分称为语法规则。

词法规则是指单词符号的形成规则,现今的多数程序语言中,单词符号一般包括:各类型的常数,标识符,基本字,算符,界符等。

语言的语法规则规定了如何从单词形成更大的结构(语法单位),语法规则是语法单位的形成规则。一般的程序语言的语法单位有:表达式,语句,分程序,函数,过程和程序等等。


语言的词法规则和语法规则规定了程序的形式结构,是判断输入字符串是否构成一个程序的依据。


语义:

所谓的语言的语义就是指这样的一组规则,使用它可以定义一个程序的意义。这些规则称为语义规则。

一个程序语言的基本功能是描述数据和对数据的运算。所谓一个程序,从本质来看,可以说是描述一定数据的处理过程,现如今的程序语言中,一个程序大体可以视为下面所示的层次结构:




高级语言的一般特征

高级语分类:

1. 强制式语言

主要特征是:命令驱动,面向语句

2. 应用式语言

主要特征是:注重表示的功能

3. 基于规则的语言

主要特征是:检查条件,满足一定条件时候就执行适合的动作

4. 面向对象的语言

主要特征是:封装继承多态




数据类型与操作:

基本数据类型

1. 数值数据

2. 逻辑数据

3. 字符数据

4. 指针类型

数据结构

1. 数组

2. 记录

抽象数据类型

1. 数据对象的集合

2. 作用于这些数据对象的抽象运算的集合

3. 这种类型对象的封装,即除了使用类型定义外,用户不能对这些对象进行操作




语句与控制结构

1. 表达式

一个表达式由操作数与操作符组成例如 2+3,5-9

2. 语句

赋值语句

控制语句

说明句

简单句复合句



程序语言的描述

文法是描述语言结构的形式化规则(即语法规则),这些规则必须是准确的,易于理解的。而且,应当有相当强的描述能力,足以描述不同的结构。

上下文无关文法:

所谓上下文无关文法就是,不考虑山下文的语法环境而完全就事论事,进行处理。

上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组产生式。




形式语言:
乔姆斯基把文法分为四种类型:即0型,1型,2型,3型。

0型强于1型,1型强于2型,2型强于3型。

0型文法:也称短语文法。

1型文法:上下文有关文法。

2型文法:上下文无关文法。

3型文法:右线性文法(左线性文法)也称正规文法


文章评论

Top