编译原理第四章 程序语言的设计

编译原理第四章 程序语言的设计

程序语言的定义

程序设计语言是用来描述计算机所执行的算法的形式表示;

语言定义是语言实现的基础:

从语言用户角度看
语言初等成分的实际含义是什么?
如何有意义地使用它们?
怎样以有意义的方式组合它们?

从编译程序设计者角度看
哪些构造允许出现
即使一时不能看出某种构造的实际应用,或者判断实现该结构会导致严重的困难,但仍必须严格根据语言的定义实现它

语言=语法+语义
语法:用以构造程序及其成分的一组规则的集合
语义:用以规定语法正确的程序或其成分的含义的一组规则的集合

语法

程序本质上是一定字符集上的字符串。
语法:一组规则,用它可以形成和产生一个合式(well-formed)的程序。

词法规则:单词符号的形成规则。
单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、基本字、算符、界符等。
描述工具:有限自动机
语法规则:语法单位的形成规则。
语法单位通常包括:表达式、语句、分程序、过程、函数、程序等;
描述工具:上下文无关文法

词法规则和语法规则定义了程序的形式结构,判断输入串是否构成合式程序的依据。
语法单位比单词符号具有更丰富的意义。如何定义语法单位的含义属于语言的语义问题。

语义

语义:一组规则,用它可以定义一个程序的意义。
描述方法:
自然语言描述:隐藏错误、二义性和不完整性
形式描述:
操作语义(PL/1)
指称语义(ADA)
代数语义(PASCAL)

程序语言的基本功能和层次结构

程序语言的基本功能:描述数据和对数据的运算。
所谓程序,本质上说是描述一定数据的处理过程。

GAM抽象机

由存储器,控制器,处理器,指令指针 ip组成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gowi_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值