课程专用语言概述
这门语言叫cool语言,是一门面向对象的语言,cool语言设计初衷是为了学习编译器,因此它应该可以被快速实现,但如果实际应用则会带来诸多不便。
应该包含的设计要素:
1.抽象,静态类型、复用(继承)、内存管理等等。
2.完整的编译器
可以编译为 MIPS assembly language, MIPS是真正的指令集,针对于1980年代设计的机器。
3. 5个编程任务
-写一个很酷的程序
--文本分析
--解析
--语义分析
--代码生成
语法尝试
class Main {
i : IO <- new IO;
main(): IO {
i.out_string("hello world");
};
};
class Main inherits IO {
main(): IO {
self.out_string("hello world");
};
};
这儿实际写了一个阶乘程序,大家可以去看视频,
class Main {
main(): Int {
(new IO).out_string((new IO).in_string().concat("\n\"));
};
};
赋值符号 <-
后面实现了一个字符串的连接,扁平化函数,不太好描述,看视频更清楚一点