编译器斯坦福公开课学习2
Posted 匡子语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译器斯坦福公开课学习2相关的知识,希望对你有一定的参考价值。
02-01
将会为教学用语言COOL编写编译器,把COOL编译成MIPS汇编语言。会分为五个部分讲解,首先是写一个COOL程序,程序本身会是一个解释器。之后是词法分析、语法分析、语义分析、代码生成。这些部分都是分离的。即在我们自己实现语法分析时,我们将自己完成的部分嵌入到一个参考编译器中。参考编译器中已经有其他的部分了。这便于对各个部分独立排除错误。
一些COOL代码示例,用于熟悉COOL语言。
class Main{ main():Int {1}; };
class Main{ i : IO <- new IO; main():Int { { i.out_string("Hello World!\n"); 1; } }; };
class Main{ i : IO <- new IO; main():IO { i.out_string("Hello World!\n") }; };
class Main{ i : IO <- new IO; main():Object { i.out_string("Hello World!\n") }; };
class Main{ main():Object { (new IO).out_string("Hello World!\n") }; };
class Main inherits IO { main():Object { self.out_string("Hello World!\n") }; };
class Main inherits IO { main():Object { out_string("Hello World!\n") }; };
编译方法:假设代码名为1.cl,先后运行下面两句代码即可。
coolc 1.cl spim 1.s
后注:就这么点东西看了两个小时啊,这哪里是计算机课,这分明就是外语课啊,摔!
以上是关于编译器斯坦福公开课学习2的主要内容,如果未能解决你的问题,请参考以下文章
斯坦福公开课-机器学习2.监督学习应用-梯度下降(吴恩达 Andrew Ng)
斯坦福公开课-机器学习2.监督学习应用-梯度下降(吴恩达 Andrew Ng)
斯坦福大学公开课:iPad和iPhone应用开发(iOS5) 学习笔记 2
斯坦福公开课-机器学习1.机器学习的动机和应用(吴恩达 Andrew Ng)