注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
本帖最后由 czbnlzd920706 于 2018-3-12 06:52 编辑
这周工作比较忙。好久没开一亩三分地了。本来打算放弃这门课了。今天打开网站,发现还是有好些人想跟着一起上的。
决心带好这个头,不能自己给自己打脸。至少先撑一个月。
第一周很幸运,没有家庭作业。
课程主要介绍了下Compiler, 分成五个部分。
- Lexical Analysis
- Parsing
- Semantic Analysis
- Optimization
- Code Generation
我本人最感兴趣的是第五部分。
然后介绍了教授为这门课自己开发的语言 cool。
看完介绍这门语言的几个视频后,不得不惊叹,这竟然是一个OOP语言,跟Java的概念和基本功能上,没有太大的区别。本来打算放弃的我,还是决心把这门课上完。应该会对程序语言到底怎么玩的,有更深入的理解。
虽然这周没作业,但是强烈建议大家把作业环境搭配好。需要安装这门课搞的 image,然后在虚拟机上跑。
https://lagunita.stanford.edu/co ... eba0969a5a7592916d/
https://lagunita.stanford.edu/co ... 3c89d2ed498f26a019/
在配置环境的时候碰到了几个问题,估计大家也会碰到,放在这里。
1. 没有权限 mkdir, ...
我的解决方法是直接输入: sudo su
拿去超级权限吧。懒得烦了,反正是虚拟机。上完课就删了。
2. 找不到 coolc, spim
这个有些棘手,尤其是当你打算用 apt-get install spim, 发现还失败了。
其实这门课的老师都帮你把可执行文件存在这个image里面了。
我的解决方法是:
> which coolc
现在应该是什么输出都没有,因为环境变量没配置。
> ls -l /home/compilers/cool/bin/
你可以看到,你要的 coolc, spim 都在这里。所以需要配置一个全局环境变量指向这里
> sudo vim ~/.bash_profile
进入后,输入 i, 进入 vim 编辑模式
复制下面的
# configure path of compiler
export PATH=$PATH:/home/compilers/cool/bin
然后输入
:wq
保存并退出。这样就会让bash看到这些可执行文件
> which coolc
还是没输出??怎么回事
我们需要重新扫描下bash_profile
> source ~/.bash_profile
> which coolc
> which spim
现在应该啥都有了。
尝试着用coolc&spim 跑下程序吧。作为开课的第一个作业,就把跑完 hello_world.cl 的内容粘贴在这个帖子下面吧。
hello_world.cl 是课程提供的一个example, 在:[size=1em]/usr/class/cs143/examples/hello_world.cl
你可以把他复制到你的文件夹下:
cp /usr/class/cs143/examples/hello_world.cl .
coolc hello_world.cl
spim hello_world.s
Output:
SPIM Version 6.5 of January 4, 2003Copyright 1990-2003 by James R. Larus (larus@cs.wisc.edu).All Rights Reserved.See the file README for a full copyright notice.Loaded: /usr/class/cs143/cool/lib/trap.handlerHello, World.COOL program successfully executedStats -- #instructions : 152 #reads : 27 #writes 22 #branches 28 #other 75
如果你遇到了什么问题,麻烦在下面留言。相信其他人应该会有解决方案的。如果感兴趣,可以看下 hello_world.s, 还是很有趣的。希望上完这门课后,可以知道,这个文件是如何生成的,之后是怎么用的。
|