编译原理第二章高级语言及其语法描述内容总结

本文总结了高级语言的定义、语法和语义,包括程序设计语言的分类、特征,以及上下文无关文法的概念。讨论了文法的二义性及其消除方法,并通过实例解释了最左推导、最右推导和语法分析树。最后,作者分享了学习编译原理的感受,强调了理论与实践相结合的重要性。
摘要由CSDN通过智能技术生成


一、学习内容

首先我们需要对高级语言有明确的定义,了解程序设计语言是建立在有限字母集之上的一个符号系统,具体如下:

(一)程序语言主要由语法和语义两方面定义

1.语法:一组规则,用这组规则可以产生形式上正确的程序。

三个基本概念包括:字母表(一个有限的字符集包括大小写英文字母,数字和特殊字符);单词符号(一般包括:常数,标识符,基本字、算符和界符);语法单位(一般包括表达式,语句,分程序,函数,程序)

2.语义:定义一个语言的单词符号和语法单位的意义,指使用它可以定义一个程序的意义的规则。

语义描述方法:属性文法和基于属性文法的语法制导翻译方法。

 

其次我们了解了不同类型的高级语言,并介绍了高级语言的一般特征:

(二)高级语言的一般特征

1.高级语言分类:

1)按照程序设计范型:强制式语言(过程式语言)、应用式语言、基于规则的语言、面向对象的语言

2)按照编译时是否需要类型检查:静态类型语言(编译确定类型)、动态类型语言(运行时确定)

3)按照类型检查强弱:弱类型语言、强类型语言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值