CS143 斯坦福编译原理 Cool语言概述

本文已收录于 CS143斯坦福编译原理学习笔记 系列,共计 2 篇,本篇是第 1 篇

本文已收录到:CS143斯坦福编译原理学习笔记 专题

编程语言的性价比

问1:为什么有这么多程序语言?

如,科学计算→Fortran,商业程序→SQL,系统程序→C/C++

答:不同程序所解决的领域是不同的

 

Cool语言概述

课程项目:使用c++为Cool语言构造编译器

课程目标:使用c++为Cool语言实现一个完整的编译器。

课程主页:http://web.stanford.edu/class/cs143/

斯坦福CS143课程共含有5个编程任务 (PAs) :

  • 编写一个Cool程序
  • 词法分析器
  • 语法解析
  • 语义分析
  • 代码生成

后四个是编写一个编译器所应有的四部分,采取插件化开发,每个步骤模块都是独立的,这样也方便参考资料和测试。需要注意的是这里并没有代码优化的作业,我们只讲一些优化建议。市面上也有许多关于Cool语言的优化方案,你可以作为一个可选作业来完成。
Cool语言使用:https://www.bilibili.com/video/BV1cE411f78c?p=4

Cool语法规则:https://www.cnblogs.com/pinkman/archive/2013/03/12/2954902.html

在课程视频中用了三节讲述了我们设计的这个编程语言Cool的基本语法。

https://www.bilibili.com/video/BV1cE411f78c?p=4

https://www.bilibili.com/video/BV1cE411f78c?p=5

https://www.bilibili.com/video/BV1cE411f78c?p=6

第一节讲述了 Main类、main函数、函数形参、函数返回类型、初始化类、IO打印输出、Object类、类的继承、self。

第二节讲述了 IO操作、类的继承、函数的声明使用、函数调用、if语句、比较符、局部变量声明初始化、赋值语句、循环语句、i2a内置函数进行数据类型转换。

第三节讲述了 列表、变量的声明初始化、类的初始化、指针、内置isvoid函数、case语句、程序终止函数abort。

更多Cool语言语法细节知识和案例可以查看实验虚拟机中的 /home/compilers/cool/examples 文件夹。

关于实验环境配置和虚拟机请移步:CS143 斯坦福编译原理 实验环境准备

补充资料,Cool语言语法总结:https://www.cnblogs.com/pinkman/archive/2013/03/12/2954902.html

作者: 高志远

高志远,23岁,男生,毕业于上海杉达学院电子商务系。

发表评论

邮箱地址不会被公开。