【生活质量系列】评测几款用过的咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 507|回复: 4
收起左侧

Stanford Compiler Week 1

[复制链接] |试试Instant~
我的人缘0
czbnlzd920706 发表于 2018-3-12 06:44:46 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  96% (123)
 
 
3% (4)  踩

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

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, 还是很有趣的。希望上完这门课后,可以知道,这个文件是如何生成的,之后是怎么用的。






评分

参与人数 1大米 +5 收起 理由
debuger + 5 感谢!

查看全部评分


上一篇:ASIC Bootcamp: STA Basic Concepts
我的人缘0
luochenhuan 发表于 2018-3-13 02:21:40 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  80% (50)
 
 
19% (12)  踩
给lz点赞👍
回复

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
lulu_0386 发表于 2018-6-10 07:37:15 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  93% (15)
 
 
6% (1)  踩
楼主是用print 看 match 了什么来debug 吗 ? 写的作业match得不对。。。
回复

使用道具 举报

我的人缘0
嘎嘎嘎嘎大魔王 发表于 2018-7-19 05:27:40 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  40% (2)
 
 
60% (3)  踩
lulu_0386 发表于 2018-6-10 07:37
楼主是用print 看 match 了什么来debug 吗 ? 写的作业match得不对。。。

可以跑一下他给的grading script. 会generate出来一个grading的directory里面有test case和expected output. 可以照着这个debug. 感觉有些corner case直接写还是挺难cover到的,比如说各种奇怪的white space...
回复

使用道具 举报

我的人缘0
lulu_0386 发表于 2018-7-19 10:16:05 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  93% (15)
 
 
6% (1)  踩
嘎嘎嘎嘎大魔王 发表于 2018-7-19 05:27
可以跑一下他给的grading script. 会generate出来一个grading的directory里面有test case和expected outp ...

嗯嗯,谢谢~
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

GMT+8, 2018-9-22 21:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表