编译原理与编译构造 课堂笔记2

本文以课堂笔记为主,可能略有删减、补充。

理念:

  • 自上而下,逐步求精——文法
  • 有限状态自动机(描述状态的模型)——由图灵机发展而来

计算机之父

  • 理论:图灵
  • 实际:冯诺依曼

编译做的事情有两件:

  1. 分析——判断程序是否正确,具体做法是将程序化为字符流

字符流

  • 词法:字符–>单词 判断单词是否合法
  • 句法:单词–>句子 判断句子是否合法

程序正确

  • 合法——符合语法规则
  • 语义正确性判断(做该做的事情,并且不做不该做的事情)——做正确的事情
  1. 综合部分——把正确的源程序化为优化的目标代码程序

连接1、2的桥梁是语法树与分析树(parse tree)

parse tree = syntax tree + syntax construction rule(语法构造规则)


语言组成的最小成分是字符,字符可以组成字符表

字符–>字符串(单词) 字符串是字符序列,不是字符集合,是有序序列

空串表示为ε

Σ是字符全集

Σ=Σ0Σ1Σn

Σ+=ΣΣ0 (所有有意义的单词)

所有的句子: (Σ)


推导、规约是逆过程

对于计算机来说,推导有最左推导、最右推导,而人的话随便怎么推导都无所谓,因此计算机的推导也称为惰性推导

同样,规约也是有最左规约、最右规约

最左规约、最右推导是逆过程


文法

当时没有怎么听得懂,所以没有记全,因此在百度上搜了两篇文章

参考文章1

参考文章2

如有侵犯,立马删除

补充

嵌入式文法

A->aBc,A是非终结符,a是终结符序列,B是非终结符,c也是终结符序列


本节课一个很重要的内容是由语言构造文法,由于一次没有讲完所有方法,因此另开一文

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值