zoukankan      html  css  js  c++  java
  • 【编译器】斯坦福公开课学习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!
    "); 1; } };  
    };
    class Main{
       i : IO <- new IO;
       main():IO { i.out_string("Hello World!
    ") };  
    };
    class Main{
       i : IO <- new IO;
       main():Object { i.out_string("Hello World!
    ") };  
    };
    class Main{
       main():Object { (new IO).out_string("Hello World!
    ") };  
    };
    class Main inherits IO {
       main():Object { self.out_string("Hello World!
    ") };  
    };
    class Main inherits IO {
       main():Object { out_string("Hello World!
    ") };  
    };

    编译方法:假设代码名为1.cl,先后运行下面两句代码即可。

    coolc 1.cl
    spim 1.s

    后注:就这么点东西看了两个小时啊,这哪里是计算机课,这分明就是外语课啊,摔!

  • 相关阅读:
    oracle授权另外一个用户访问自己创建的数据对象
    popupWindow使用详解
    oracle用户管理实例
    oracle用户管理入门
    sqlite数据库修改及升级
    android之listView定位到指定行同时隐藏输入键盘
    oracle数据库常用命令
    Oracle11g安装完成后给用户解锁
    Git学习笔记(一)
    gson使用详解
  • 原文地址:https://www.cnblogs.com/dplearning/p/5515911.html
Copyright © 2011-2022 走看看