由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
WebRadio版 - 潜水员冒泡兼征版友意见
相关主题
*** 告版友书 + 总动员 *** (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
Hey there Delilah - 一首两年前的新歌 (转载)有患巧克力囊肿后成功怀孕的版友吗?
It's still hot!将军们没发现国内体制内涨了不少工资么
老印还挺不好伺候的,不准备打交道了 (转载)博士还有两年毕业,今年要孩子还是明年要孩子
老印还挺不好伺候的,不准备打交道了 (转载)求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
老印还挺不好伺候的,不准备打交道了 (转载)请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
老印还挺不好伺候的,不准备打交道了请教一下各位教授
急问一个b超的问题,希望得到贵版版友的帮助offer选择,请支招
相关话题的讨论汇总
话题: error话题: type话题: expecting话题: syntax话题: unexpected
进入WebRadio版参与讨论
1 2 3 下页 末页 (共3页)
d**********o
发帖数: 1321
1
一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。
选择来贵版续写这个故事,是因为这里有铅笔头老师,狐帅,瓜老板,可爱的小碧妹妹
等等等等, 窃以为,贵版是mitbbs的一汪清泉,一缕清风, 这里有着诸多各种样的原
创和自由自在的灵魂,贵版版友的灌水风格,相互间的包容,和自己的曾经写故事的痛
苦经历都让偶觉得, 能在贵版续写,自己作为写作者的情绪能够较好地不受外界环境
影响, 却也能受各位老师启迪精进。加上版上诸多老师朋友都有自己的连载故事,我
也很真诚地希望能够向版上的各位大牛学习写作,希望能把自己的故事写得更精彩。但
作为潜水员的我也弱有担心,不速之客的到来会否打扰大家的清幽闲适,会否给贵版带
来不便,贵版的版友们会否介意?所以特来先行报到~~(现在还不会,计划在一两个月
后等眼下的生活安定时来继写)。如若这里的版友们并不支持,我应该会选择滚回自己
的dreamer老家,在哪里孤独地继续?
l*****o
发帖数: 19653
2
请继续。。。


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

h*****i
发帖数: 9112
3
这么客气,我都脸红了


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

l*******Q
发帖数: 1995
4
正能量的东西当然好啊。。为啥说的那么惨兮兮的样子呢,为啥总说最后一次呢,点解


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

L**********s
发帖数: 12988
5
一縷清风
l*****o
发帖数: 19653
6
说你了吗?

【在 h*****i 的大作中提到】
: 这么客气,我都脸红了
:
: ,
: 乐。

L**********s
发帖数: 12988
7
自动对号入座?

【在 l*****o 的大作中提到】
: 说你了吗?
h*****i
发帖数: 9112
8
君子要时时自省
你脸红了吗?

【在 l*****o 的大作中提到】
: 说你了吗?
l*****o
发帖数: 19653
9
也许红了,也许没有,即便红了,也得晚上才知道。。。

【在 h*****i 的大作中提到】
: 君子要时时自省
: 你脸红了吗?

L**********s
发帖数: 12988
10
自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?

【在 h*****i 的大作中提到】
: 君子要时时自省
: 你脸红了吗?

相关主题
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
老印还挺不好伺候的,不准备打交道了有患巧克力囊肿后成功怀孕的版友吗?
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
进入WebRadio版参与讨论
h*****i
发帖数: 9112
11
不脸红的自省不是真自省

【在 L**********s 的大作中提到】
: 自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?
l*******Q
发帖数: 1995
12
鉴定,此楼已歪成美容楼
h*****i
发帖数: 9112
13
有个神器叫做镜子,推荐使用

【在 l*****o 的大作中提到】
: 也许红了,也许没有,即便红了,也得晚上才知道。。。
l*****o
发帖数: 19653
14
因为火柴自省的方式就是擦火柴皮。。。

【在 L**********s 的大作中提到】
: 自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?
h*****i
发帖数: 9112
15
火柴火焰的光是泛黄的,侬该检查视觉了

【在 l*****o 的大作中提到】
: 因为火柴自省的方式就是擦火柴皮。。。
l*****o
发帖数: 19653
16
取决于温度和燃烧成分。。。

【在 h*****i 的大作中提到】
: 火柴火焰的光是泛黄的,侬该检查视觉了
l*****o
发帖数: 19653
17
现在不都用手机当镜子吗?你懂得,美人相机那种效果。。。

【在 h*****i 的大作中提到】
: 有个神器叫做镜子,推荐使用
L**********s
发帖数: 12988
18
不用那么麻烦,请参照古已有之的法子。。。

【在 h*****i 的大作中提到】
: 有个神器叫做镜子,推荐使用
l*****o
发帖数: 19653
19
我觉得古法不可取,要先找个平整的地方,还不能漏水,还要有点凹度,还要采光好。
。。

【在 L**********s 的大作中提到】
: 不用那么麻烦,请参照古已有之的法子。。。
h*****i
发帖数: 9112
20
出门挖坑即可

【在 l*****o 的大作中提到】
: 我觉得古法不可取,要先找个平整的地方,还不能漏水,还要有点凹度,还要采光好。
: 。。

相关主题
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香offer选择,请支招
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
进入WebRadio版参与讨论
l*****o
发帖数: 19653
21
结论:自省需挖坑。。。

【在 h*****i 的大作中提到】
: 出门挖坑即可
l*****k
发帖数: 5933
22
"我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
赞!~
艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
幸。
楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金
牛女们对我长期的一如既往的人参公鸡我也不能取得如此辉煌的成就~~~
再次感谢我LP~~~
我真得做菜去了哈~~~
侬就写吧,我看侬这么曲折的经历,可以写一部平凡的世界也说不定哦~~~
就是得注意身体~~~,平时多吃瓜果类食品~~


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

b*s
发帖数: 82482
23
在线等……


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

K**3
发帖数: 74
24
赞1


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

a********3
发帖数: 26787
25
欢迎新妹纸~
瓜老板不要吓新妹纸~!要注意你作为偶像滴形象啦~



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

h*****i
发帖数: 9112
26
侬这个排名很讲究啊,哈哈



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

l********1
发帖数: 5909
27
求解?何以晚上才知道?

【在 l*****o 的大作中提到】
: 也许红了,也许没有,即便红了,也得晚上才知道。。。
b*s
发帖数: 82482
28
毛……

求解?何以晚上才知道?

【在 l********1 的大作中提到】
: 求解?何以晚上才知道?
g****t
发帖数: 2751
29
我擦, 这马屁拍的


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

l******k
发帖数: 27533
30
哈哈,什么时候对你人生攻击啦
原来侬有颗玻璃心呀
还“们”呢,除了我还有谁?



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

相关主题
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
求助,我该接受这个教学职位吗?It's still hot!
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
l******k
发帖数: 27533
31
你看出了什么名堂?

【在 h*****i 的大作中提到】
: 侬这个排名很讲究啊,哈哈
:
: ,

j*****x
发帖数: 18139
32
矮油,
惭愧地匍匐在地以突破人体极限的姿势高举一牌,
上书两个大字
“欢迎欢迎热烈欢迎,期待期待非常期待”


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 老师们的教导、生活的经历告诉我们,在这个世界上,没有什么事情是做不到的,只有
: 可能你想不到。而要想到这些,人的心也需要修炼。为此,多年来我一直跟随你们这帮
: 我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很感谢你们大家带给我的快乐。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过

d**********o
发帖数: 1321
33
没想到瓜老板这么热心
一句小小的关心 偶竟然觉得很温暖
改天偶帮瓜老板卖西瓜去~~ 呵呵



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

d**********o
发帖数: 1321
34
狐帅这样偶很害怕~~
狐大仙可是偶景仰的大神, 怎可以这样~~ 谢啦

【在 j*****x 的大作中提到】
: 矮油,
: 惭愧地匍匐在地以突破人体极限的姿势高举一牌,
: 上书两个大字
: “欢迎欢迎热烈欢迎,期待期待非常期待”
:
: ,
: 乐。

d**********o
发帖数: 1321
35
轻量版剧透
2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
日毕业;第一学期同 的老师达成不成文默契:系里允许我两
年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
,沉默,上课不回答问题,默默地自己学习。甚至老师一再B,都没计较,毕竟学校允
许我两年毕业。
2013年四月之后,导师问我找工作怎么样,我告诉他系里大牛说我学得好学得快的话当
年12月就可以毕业。我喜欢现在这个专业,所以想要拿到自己的硕士学位再走。导师说
即便现在,我还可以找学校等地方所非工业界H1B离开这里,但我想着自己近在咫尺的
学位,坚绝没找,想要拿到自己的学位。
春天的学期里我很为自己秋天的学费操心,没有经济来源。我旁听算法的导师课堂上他
暗示若能作两年研究,他或系里可能能有有限的经费可以帮助我。但考虑到还有暑假,
我可以找实习,既然自己实在没有攻克三年的耐力,依靠自己去找经济来源会更好些,
至少需要自己先偿试一下,便示弱装笨默拒了别人的好意。
2013年秋天,我暑假挣到钱便都交了秋天的学费(到这时累计三学期我已然交了多过$
33000的学费交尽了自己挣的每一滴血汗,毕业在望)。因为没有春天的学费,我找系里的
大牛求情,想要毕业,他允许我春天part-time注册两个research学分到八月毕业,并
建议我换了导师。我感激老师能为学生辛辛苦苦两年的人力物力时间投资的生路考虑,
毕竟每个选择留下来的人心里都有着希望。并承诺大牛,若能在这个国度生存下来,必
将为学校donate些钱好让系里老师们多点儿科研经费。
2013年秋天那时选编译课,课堂上若有感觉代课老师想要黑我,课堂气氛显得诡异,便
不再沉默,整个学期正当防卫性回答问题四次,但最终还是没能逃脱得C的命运。
面对这个C的结果,因为之前的课程老师全给B, GPA 3.0以下,老师稍微一个不小心或
是小动作,小兵都将死于无形,小兵便开始了刀锋上讨生活的殊死挣扎,像刺猥一样竖
起全身的寒毛,破斧沉舟,殊死防卫!
秋天里后来系里小秘说有一个老师愿意支助我春天给我奖学金。因为转专业毕竟我只学
了不到两年,多学一些课程还是有帮助的。加上自己始终有回报学校的心, 我便坦然
接受了。拿系里的奖学金,便理所当然地选导师给推荐的课,导师让选什么就选什么,
我只需要1个Directed Study学分导师希望我选2个省得他麻烦,小兵便听了导师的。我
问过系里的小秘是哪位老师帮忙支助了我,但小秘不愿意,没有告诉我是谁。系里别的
同学tutor十小时改一门作业十小时,他们安排小兵tutor十五小时,改作业五小时,小
兵也默默承受,没有任何抱怨。
可春天里,一如去年秋天,系里舆论上仍不但施加压力希望我能拖一年,可姐老了,拖
不起啊。包括最近EC的代课老师说“No Free Lunch Theory”。小兵怕代课老师不知道
,便去他办公室找他告诉他说了先前我同大牛承诺过的话, 因为小兵并不愿意从来没
有想要白白点用系里的资源, 一如第一学期同代课老师达成的默契。
同系里的这一切都说得这么清楚了,可舆论上系里释放出的信号似乎还是不放人。小兵
实在不知道该怎么办了,不知该如何破现在的状况。
而这么多年来,小兵的身体状况日益恶化。2001年7月29日小兵在武汉市第一外科医院
作了阑尾炎切除手术。因为那次发病当时正处生理期间,医院非常正规地作了B超检查
,发现右侧卵巢囊肿,便在作手术时特请妇科医生在场,一并作了右侧巧克力卵巢囊肿
穿刺手术。手术后伤口感染,到十一期间伤口彻底长好。来美国后2009年春夏最先感觉
身体不适。但因还不严重加上经济原因,便一直拖着。2010到2012年8月OPT期间因为自
己身体还过得去,这期间从来不曾买医疗保险便也一直没看医生。这次回学校读书,身
体的不适一次次侵袭,看过几次小病,而这期间小兵也真正意识到作为女性她的生理周
期已经紊乱很长一段时间了,而且生理期痛日益严重。小兵严重怀疑其右侧囊肿发作。
虽然一拖再拖,可读了再多书如果健康都不能保证,活这一辈子又是为什么,虽然一直
交学费房租,向朋友已然借了不少钱,但想到自己的身体状况,还是最终觉得健康更重
要,借债也得看病!今年三月在病痛的折磨下最终鼓足勇气去看了医生,作了
ultrasound 检查,检查结果子宫增生(参数大概是10.5 cm X 3.5 cm X 4.1cm什么的
,结果不在身边,明天会更新说细结果)。小兵因为这两年在系里小镇上受到了孤立心
理上略为扭曲,对医生超声波检查的结果也稍有怀疑,因为很多病征都与至少右侧卵巢
囊肿相符(极小可能性手术伤口感染造成右侧脏器粘连),但在作ultrasound 检查时即
使小兵当时就说了右侧更严重,希望检查员检查右边,但检查员的超声波探头依然始终
只放在左边。多年来(至少从2009年开始)小兵右半侧生殖器官麻木,现又确诊子宫增生
,外加怀疑右侧囊肿严重加重(至少同2001年完全没感觉比较起来非常严重了)严重的
话变可能会需要切除, 小兵为自己的身体状况极为担心。
这个13岁遭遇性侵,接下来五六年生活在梦魇里,一直担心自己将来不能生小孩,甚至
间接导致高考失败的小兵,在短暂地遗忘这件事几年后,近年来却又再次成为心头大患
。后来诊断增生后看的妇科医生认为不容易确诊是什么原因导致的,只有三种选择的药
物止痛让小兵对这边的医疗略显绝望。八年来小兵不曾回家,期间爸爸车祸离世,妈妈
劳累成疾,病倒并被诊患脑动脉瘤却并未作肿瘤手术。小兵希望能尽早毕业,拥有一份
工作,尽早回国看妈妈,也对自己的身体作彻底的检查。小兵希望并呼吁社会舆论监督
和帮助,希望能尽早参加工作,尽最大可能保存将来作母亲的权利,希望还能够拥有一
个健全、完整的人生。
小兵1979年润6月22日出生,阳历8月14日,狮子座,AB血型,今年35岁。热爱工作,是
个工作狂。小兵希望能有一个工作岗位能让自己尽早治病,根除心头大患。而小兵也愿
意在工作上发挥自己旁若无人,挑战极限的个性,愿意前往接受任何有挑战的工作(只
要有相对不错的mentor或manager指导),加班加点在所不辞获得工作上的满足感,也
以这种方式回报公司。小兵从来也不是贪心的人,在国内献过三次血共计600 CC,在美
国为现在的学校donate过$1000, 并将自己的第一辆旧车在无意修理时捐献给了社会慈
善机构。小兵愿意接受社会舆论的监督,将来回报学校和社会,作一个对社会有贡献的
人。也很希望知道现在的困境缰局能有什么好破法。
Q****n
发帖数: 1351
36
向小兵致敬

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再B,都没计较,毕竟学校允

l*****k
发帖数: 5933
37
我靠~~~~
J都是发生在了一个人身上的事情???
这是真人真事还是侬臆想杜撰的?

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再B,都没计较,毕竟学校允

Q****n
发帖数: 1351
38
这对瓜老板的用生命点评有影响吗?

【在 l*****k 的大作中提到】
: 我靠~~~~
: J都是发生在了一个人身上的事情???
: 这是真人真事还是侬臆想杜撰的?

Q****n
发帖数: 1351
39
我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
物。。。

【在 l*****k 的大作中提到】
: 我靠~~~~
: J都是发生在了一个人身上的事情???
: 这是真人真事还是侬臆想杜撰的?

l******k
发帖数: 27533
40
哪三种药物止痛呀?
有效的话一个就够了
not always the more the better呀

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再B,都没计较,毕竟学校允

相关主题
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
老印还挺不好伺候的,不准备打交道了 (转载)急问一个b超的问题,希望得到贵版版友的帮助
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
进入WebRadio版参与讨论
l*****k
发帖数: 5933
41

有点SHOCK
一时全无头绪

我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
物。。。

【在 Q****n 的大作中提到】
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

l*******Q
发帖数: 1995
42
我选择不发言

【在 l*****k 的大作中提到】
: 擦
: 有点SHOCK
: 一时全无头绪
:
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

i*****a
发帖数: 7272
43
看着不像小说。没有比身体更重要的了,别的先放一边。这个世界会无缘无故帮人的也
许不多但无缘无故害人的更少。身体好了,精神面貌会更好,做事情就会顺手一些,一
步一步脚踏实地,会走出困境的。
美国对学生的保险和医疗都会有些照顾,搞清楚这些门道,尽早康复。

【在 Q****n 的大作中提到】
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

G*******h
发帖数: 1391
44
坐等有头绪的瓜老板专评

【在 l*****k 的大作中提到】
: 擦
: 有点SHOCK
: 一时全无头绪
:
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

L**********s
发帖数: 12988
45
妹纸,先治病要紧,其他都是浮云。也别想太多,很多病都是心理问题造成的。

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再B,都没计较,毕竟学校允

d**********o
发帖数: 1321
46
一种是打针,每针$200, 每个月打一次连续6个月后再检查,
另两种不记得了
本身超声波检查我的保险只报$400,还剩至少大几百(账单还没到)还得自己出
因为医生说只能止痛,就觉得又看了个医生还是只能止痛,
那痛偶还是忍了
等改天回国再来个彻查吧,不过还是觉得时间有点儿等不起啊~~

【在 l******k 的大作中提到】
: 哪三种药物止痛呀?
: 有效的话一个就够了
: not always the more the better呀

d**********o
发帖数: 1321
47
占座更新
a********3
发帖数: 26787
48
沙发等~~~

【在 d**********o 的大作中提到】
: 占座更新
L**********s
发帖数: 12988
49
祝福

【在 d**********o 的大作中提到】
: 占座更新
d**********o
发帖数: 1321
50
选课邮件
* 6/26
I am a new cs-majored graduate student with a statistics master’s degree. I
got your contact information from Karen today. It was my lucky to get
introduced to you through email, and I do need you to help assist me in
selecting classes for coming fall semester.
From our department’s course information, since I have a MS statistics
degree, I guess I don’t need to select math176, math170 and math175. And I
have taken CS120 in fall 2009 and got a “B” as the grade. So I am thinking
I should take the following courses for fall 2012:
CS121 Computer Science II MWF 10:30AM – 11:20AM 4
credits 3 ON WAIT LIST
CS150 Computer Organization and Architecture MWF 2:30PM – 3:20PM 3
credits
CS210 Computing Languages MWF 9:30AM – 10:20AM 3 credits
CS240 Computer Operating Systems MWF 2:30PM – 3:20PM 3 credits
CS270 System Software MWF 11:30AM – 12:20PM 3 credits
I am worried that I may not be able to select CS240 because the time is
completely interrupted with CS150. I know I am pursuing a graduate program
but taking undergraduate courses for this semester, but I am not sure how
many course credits I can take at most. So far without cs240 I have 13
credits. I need your suggestion if I should take some more CS courses for
this semester. I am quite interested with CS383 (Software Engineering) as
well, dreaming if I can take this one in fall semester, I may be able to try
my best to find some intern for summer 2013, but I also need your
suggestion on this one.
By the way, I have taken several credits for Visual Basic programming and
one class for database theory. I am thinking if I can take one or more
course for this semester, I may want to select some courses taught using VB
programming or taught about database.
I don’t have any valid account for selecting classes until the beginning of
the fall semester. So please take your time and offer me some valid
suggestions.
* 6/27
Great to have you as a new student.
I have not seen the paperwork yet from the graduate committee to see their
recommendations. I have read your letters of recommendation and your
statement of interest. I also see that you are not in town so we cannot
meet face to face, so let's try email, although it will be more difficult
that way.
So let's start with a few questions.
What are your goals? This is an important question for not just me but for
you. Are you interested in getting a job in a particular area going on to
do research? Do you have a passion for a particular topic in computer
science? It is not necessary that you have that defined right now but if you
do it could help us select the best courses for you.
Your choice of study may also be limited by funding that is available
depending on how much you need a research job.
Programming is the important skill that you need to harness to do your work.
Please, tell me about the programming experience you have had.
My guess is that you are making the right decision to "get back to basics"
in your classes. If you can afford the time and money then you can take
the full breadth you suggest below. But it is possible to focus your course
work to hone the skills you need for your area of interest.
Some of the courses you have listed below have prerequisites for the reason
that you need to know the material from one course for the follow on course.
For example, CS121 is a good background for CS210. You can get in a lot
of trouble in CS210 without the info from 121. Again it depends on how
much programming you have had. Starting off with some successes may build
a solid base and confidence so again 121 might be a good choice.
I look forward to your responses to my questions and patience to try to do
this by email.
OK. So you aren't in town.
Then let's try to do this by email.
1. what programming experience do you have?
2. what area of computer science are you wanting to study?
* Hi, Dr. XYZ, 6/28
No, I don’t have a clearly defined particular topic of interest right now.
I have a MS Biology/Agriculture from China, a MS Statistics from U of I, and
a MS Computer Science years later, and after two and half years’
professional work, I feel I have programming and computation interests,
together with some business intuition. I would like to combine my background
and personal characters together, but still, I like to challenge myself in
job market in marketing. So I guess I will spend some time and do some
research to figure this one out.
“Your choice of study may also be limited by funding that is available
depending on how much you need a research job.” I feel confused about this
one. If you can help explain a little bit, that will be great.
The programming experience I have had including a 3 credit undergraduate
course “Computer program design” from Huazhong Agriculture University (
Wuhan, China) teaching Visual Basic programming, a 4 credit undergraduate
course CS120 from U of I using the C++ as teaching programming language, and
statistical SAS programming. I have got four SAS certifications, base,
advanced, predictive modeler and clinical trials. And I do think I have some
interest in programming, coding and computation.
I will check with the graduate school later after I have got formally
accepted to see how many credits I can take at most for one semester. I
agree with you that for the first semester, I will focus on my course work
to build a solid base and confidence for later development. I will take
CS121, CS150, CS270, and put CS210 and some other courses into consideration
. I will also need to ask some Chinese friends’ experiences and suggestions
on CS121 and CS210 relationship and difficulty to make my final decisions.
* Hi me, 6/28
Have you thought about bioinformatics? A strong stat and biology
background combined with computer expertise. If you like stat and biology
this might be ideal. There is a strong market for these skills. If you
are coming in the Fall you might want to take the BCB intro computing
courses. This will get you involved with that end of computing and sharpen
your computing skills at a very basic level.
Coding is a strong component of a successful student. This is coding more
like C++ than SAS or Visual Basic. If you only have "some interest" in
programming are you more interested in theory or hardware than programming?
Most successful students love programming.
You can take 20 credits or more if you like but there are limits on how many
you *should* take. And there are limits on your credits if you are
working as a TA or RA.
You won't be able to take 210 and 270 without having taken 121 and 150 first
.
If you really need to take 121 then you are not ready for 210.
270 will require some solid coding skills. If you feel you need to take 121
then 270 may be a problem as well.
It is always good idea to ask your friends about their experiences to get a
good understanding of what is ahead.
* Hi, Dr. XYZ, 7/1
I have taken one bioinformatics course back in China from graduate study in
Chinese Academy of Agricultural Sciences, but since I have only experienced
limited computer science skills, I am not quite sure bioinformatics will be
my favorite/interest. But since this area may also be a window for me, I can
try one BCB into computing course for this semester.
I guess it won’t work if I skip CS121 and select CS150, CS210 and CS270 for
this semester. I agree with you that this time for the new computer science
major, and I do want to build a solid base for later development. I have
checked with my friends that CS210, CS240 and CS270 are also open in spring
semester, so that will make me feel better if I have to select CS121 for
this semester. I hope I can select slightly more computer science courses
for this semester. I just feel that I pay more than $8000 tuition fees and
select only 7 credits computer science courses will make me feel slightly
pressed. I hope we can discuss and negotiate a better choice for this
semester.
By saying I have some interest in programming, coding and computation, I
mean my most interests lie in programming, coding and computation. And I
will try to have more coding (like C++) practice and experience.
* Hi me, 7/5
But you can't get a master's degree without computer skills. So you will
have to have computer skills which then makes bioinformatics a possible
choice.
I recommended CS121 because you got a B in CS120. I would expect a someone
preparing to go into a CS graduate program to be able to get an A in CS120
without trying hard. So I find this a concern. I therefore recommended a
solid base in programming.
Second the 200 level courses assume proficiency in the 100 level courses. If
you believe there were extenuating circumstances in getting the B in CS120
such as difficulty with the language and believe that you understand the
material from CS121 then I won't stop you from skipping CS121. But with the
information I have, it seems like CS121 is a good idea.
* Hi, Dr. XYZ, 7/15
I understand your concerns. The reason I got B for CS120 was because I was
focused on my two SAS Certification tests in that semester (I selected 12
credits courses, and passed two SAS certifications in four months). I did
not devote enough time and energy on that course, but I do have confidence
on myself. I feel slightly hesitate and my main concern is on financial side.
* Hi me, 7/15
If you feel confident in your coding abilities and want to try to move
directly to higher classes, you can do that since you are a master's student
. In the same way that a medical doctor must rely somewhat on what symptoms
the patient reports, I as your advisor must rely to some degree on your
evaluation of your skills. The B in CS120 is definitely a warning flag to
me. But I also believe students to some degree make their own decisions.
Skipping 121 could be a big mistake or it could work out just fine.
* Hi, Dr. XYZ, 7/16
Thank you so much for the consideration and understanding. I know you are
being responsible for me as the advisor.
I will work hard and try my best this semester to make it work out just fine
.
相关主题
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
将军们没发现国内体制内涨了不少工资么请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
进入WebRadio版参与讨论
d**********o
发帖数: 1321
51
第一学期
回到学校后,我就写邮件同导师约好了见面时间,想讨论一下我秋天究竟该如何选课。
好玩儿的是,老师在自己帮我列选课选项之前,带我去见了系里的大牛。后来知道系里
的大牛是安全领域里的专家,每年都有诸多的会议,天南海北地跑,经常都很忙。不过
那天他正好在,在大牛的办公室里,根据我的需要(我希望能够两年拿到自己的硕士学
位),列了一个两年计划的列表,但第一学期仍然只有CS121 和CS150两门课,后来一年
的课程明显要重很多,我感觉这样选课第二年压力会非常大。我对大牛的选课建议是不
满意的,于是导师帮用他的手机拍了大牛白板上选课的照片,回到导师的办公室里,我
们再讨论出另一个选课计划。
选的结果是,虽然导师同意了我可以跳过CS121编程课,但我自己坚持要选那门课,因
为我清楚地记得09处秋天时我linked list弄得还不是很透,要在programming上取得胜
利,CS121带实验4个学分坚决不能跳,我同导师商量跳过了CS150,选了CS210
language programming, CS270 system software,CS385 Theory of Computation和
为下学期计入学分准备的CS336 Introduction to information assurance共记16个学
分。当时我的课还是在系里main office小秘帮选的,注册课程的时候小秘还意外。不
过看看陪我一起来这里、站在我旁边的导师,还是默默地将我的课注册好了。
CS270是我的导师带课。开学的前两个星期试上课的时间里,对于作业,上课进度等等
在我这样的一个新生的眼里这代课的老头已然有了近乎变态的严厉和疯狂。这还只是我
转专业的第一个学期,我还有着自己新转专业的心理障碍,我还有自己对作业的恐惧,
我不接受,不应该,也不需要在自己还没有完全准备好的情况下来接受过于严格的挑战
来挫败自己。我选几门自己认为合适,自己能够弄得来的课程就好了。于是在可以改课
的前两周deadline之前,我就同导师商量,将cs270改成了cs240。这是一个外国老师教
的课,那个老师为人很好,没有现在的老师这么严格,学起来可以稍微放松一点儿。
是的,对于新专业的作业,我还是有着本能的恐惧, C++的实验因为09年秋天上过4个
学分的CS120,所以还一如既往地顺利;CS210 第一次作业要求用lisp写9个recursion
函数,字符串的三个我没写出来,我只写出了6个;CS240的作业我就被吓得早早地开始
写,星期五的下午还在CSAC里写,但被系里的老师提醒tutor, 系里的学生问的问题如
果简单不要直接给答案,让他们自己先想想。
大概是自己选课选得太多了吧,开学不久就得到了老师的一记不知所以的打击。那是我
相对进展顺利的C++课堂上。前几周还在上CS270的时候老师建议我们用Linux系统,于
是我跑回去装系统,自己的台式机大电脑XP + Ubuntu 12.05顺利地装好了,可自己的
笔记本win7 + Ubuntu 12.05 却被自己整成了grub failure,几个星期没能用成笔记本
。于是有天晚上当CS121有一个实验自己的程序因为double 调用destructor出现个什么
类似看起来很像的东西时,原本脆弱的小心脏就又被吓得魂飞魄散,立即写邮件向老师
求救。我的邮件老师没有回,第二天一早我就去了CSAC,那里的tutor帮我找出了原因
。上课前从老师的讲台经过时我高高兴兴地告诉老师我的问题解决了,却没想到因为一
种效应,那堂课成了我的灾难。
其实当时老师说了什么我已经不大记得了,大致是说有些人笨,都没想到怎么选了现在
的这专业吧。课堂上的同学们那堂课会意老师的暗示,很多学生发出奇怪的声响。而那
时我的Tic-Tac-Toe一步move早就已经写了出来,而面对来自老师的突入其来的变故还
是让我没时间反应。在刚转专业的脆弱心理下,在同学们奇怪的声响里,我摘下了扎着
马尾巴的像皮筋,眼泪在头发的遮掩下无声的流淌。同学们的声响还要继续,而这堂课
我早就已经上不下去。后来,后来,再后来,我身边的同学终于开始提问老师,眼看就
要成为同学们注意的焦点,我趴下了,不愿意让别人看见此时自己的面孔。记忆里那天
我原本因为解决了问题很开心,可是那堂C++课特别的长,完全不知道老师究竟说了什
么,而如我般脆弱的灵魂在这个系里也从此充满了自我保护和正当防卫。
h*****i
发帖数: 9112
52
有一颗敏感的心,还有自负和自卑的纠结,就必然需要一个壳子来保护
没有壳子,会很难过

【在 d**********o 的大作中提到】
: 第一学期
: 回到学校后,我就写邮件同导师约好了见面时间,想讨论一下我秋天究竟该如何选课。
: 好玩儿的是,老师在自己帮我列选课选项之前,带我去见了系里的大牛。后来知道系里
: 的大牛是安全领域里的专家,每年都有诸多的会议,天南海北地跑,经常都很忙。不过
: 那天他正好在,在大牛的办公室里,根据我的需要(我希望能够两年拿到自己的硕士学
: 位),列了一个两年计划的列表,但第一学期仍然只有CS121 和CS150两门课,后来一年
: 的课程明显要重很多,我感觉这样选课第二年压力会非常大。我对大牛的选课建议是不
: 满意的,于是导师帮用他的手机拍了大牛白板上选课的照片,回到导师的办公室里,我
: 们再讨论出另一个选课计划。
: 选的结果是,虽然导师同意了我可以跳过CS121编程课,但我自己坚持要选那门课,因

d**********o
发帖数: 1321
53
哈哈 所言极是~~

【在 h*****i 的大作中提到】
: 有一颗敏感的心,还有自负和自卑的纠结,就必然需要一个壳子来保护
: 没有壳子,会很难过

d**********o
发帖数: 1321
54
第一学期(2)
给我们代CS210的老师也是某门语言领域里的一个大牛吧,就是常常觉得上课时因为老
师的话是在变着法儿地重复,就不知道老师真正想说的是什么。上Lisp刚开始讲
recursion时,老师讲如何写一个myLength函数计算list的长短,讲了一步后,老师问
接下来该怎么办,老师像是想听同学来回答问题的,我跃跃欲试,当老师示意,我便大
声响亮地回答了这个问题,“plus one myLength cdr L”带着自信。就这么点儿小基
础,同学们居然还稍感意外。老师没表扬我什么,倒是鼓励近乎要求地让课堂上另一个
同学上黑板去写一个什么答案,并表扬那个同学说“That’s very brave of you”。
之前C++课上受到过的无名的打击、同学们对我选课的反应,以及这堂课上老师的行
为终于让我明白老师是不鼓励我课堂回答问题的,或许我应该低调一点儿。我是这里少
有的大龄学生,国际学生里应该就只有我一个了,最可怕的是,这是一个对自己有着要
求和期望的学生。如果他们允许让我两年毕业,如果我能勉勉强强用自已的能力在经济
上生存下来,如果我每个学期选这么些课堂一定让系里如此为难的话,那我低调一点儿
又有什么关系?接下来这门课上课前我就去找了这个代课老师,告诉他我以后会低调一
点儿,只要系里允许我两年毕业我还是很感激的。毕竟年龄大了,一直耗下去实在是耗
不起的,太痛苦。
再后来,CS121 C++课有一次不知道为什么,代课老师讲起故事来,说是一般在社会上
工作过的学生再回到学校里,他们往往比那些一直呆在学校里读书的学生学的效果好,
因为经历过了在社会上的那几年的工作,他们能够更清楚地认识道他们想要的是什么。
“Ooh, by the way, his mom passed away when he was working. ” 听到老师的这
句话,像是一种生物本能,我下意识地转过头去,背离人群,自觉面问部表情僵硬扭曲
,眼眶里噙满了泪水。老师讲那个故事的时候差不正式授课内容已经结束了,好在接下
来应该就是下课了吧。接下来一个小时的CS385课我迟到了十多分钟。
那学期最大的收获是开学不到一个月的时候CS210用lisp 写了 Tic-Tac-Toe 的一步
move,班上只有一两个同学写出来,为当时新转专业、对各种作业心怀恐惧的我多多少
少建立了一些专业上的自信心。这个之前已经写过不再冗述。
那学期最大的意外来自于网上,不知道为什么就开始传说我什么什么乱七八糟的,那时
的自己心理上还是受到了不小的影响,后来我的C++两三次实验课都稍有延迟。再后来
为了减轻对自己的伤害,还是爬上网去稍微澄清了一下。
后来期末出成绩时,听同学们说C++特别严,好多学生得了C。我登录进自己的账户,也
得了C,这个C对于我来是完全不能接受的,因为之前老师公布的成绩里我没能得到A,
但是是稳拿B的,而我的期末考得也很好,最后一个Binary Searching Tree的程序很难
,平时的实验里老师没有要求写过,但我想出了思路都写出来了,不可能得C。于是我
给老师发邮件,想查成绩。老师回信说,网上的成绩不知道是怎么更新的,我的成绩应
该是B。
CS121的问题解决了,但CS336的问题就相对棘手很多。当初为什么从Plant Science Ph
.D作了逃兵,不就是因为不喜欢读paper,理解不了概念么?现在同样的问题出现了这
门课上,除了考上课的内容,班上十几个同学的项目,每个项目也有3个题目。而一起
上课的那个美国女孩说实际上考前复习时因为他们在Think Tank复习,他们是有八九个
学生到那里去,把他们自己项目的题目都说过一遍的,但那个女孩子没有告诉我任何他
们的题目。也是同那个女孩聊天我才知道系里的代课老师里只有代我CS121的老师是硕
士,其实所有老师都有博士学位。显然,这门CS336课如果要argue学分的话,我就没有
了CS121的那份理直气壮。如果这个老师一定要那么严格,那我得C也没什么好说的了。
想想这个领域对这个呆在异国他乡的自己来说,即使钻得再深,也未必有很大的用武之
地,自己毕竟是外国人,便也没什么太多的遗憾和可惜,只想着以后好好学习,把GPA
补上来就可以了。
那时的自己在学校食堂里打工挣生活费用。认识了一个同在那里打工的大陆女孩子,也
是我们学校里的学生,说话做事待人处世都比我成熟很多,便同她比较要好。圣诞节去
她家玩儿的时候,还有另一对年轻的中国夫妇。那时她刚从教会组织的加州旅游回去,
给我们看她在那边玩时拍的照片。我在加州生活过两年半的时间,仔细看过<世界日报
>的人应该都会知道某一种XXXX的可能性。我对她稍有怀疑。她学的专业并不是很好找
工作,而这两三年的学习也是全自费,或许她想要的只是生活的一种出路吧。只是我清
楚地知道自己在网上太出名了,这样可能对大家都不好,那天聚会看过那些照片后我们
就下意识地减少了联系。我从心底承认她仍是待人不错的朋友,只是我们道不同,不相
为谋。
她对我的影响和改变来自于那天聚会的一句玩笑。 她对那对年轻夫妇介绍我时略带调
坎地说我拥有十个硕士学位。我不为她的调坎甚至嘲讽而伤心,但这“十个”(实刚三
个) 硕士学位的事实震撼了我自己。是什么让我们在这里漂泊,我究竟为什么要流浪,
一个人要走多少路才能够真正成熟?而我这第三个硕士学位的出路又究竟在哪里?我看
不到黎明晨曦的方向。圣诞节的午夜,因着朋友那一句话的震撼,就着1个C、4个B的无
奈,一回到家,终于是禁不住自己眼泪往外滚,坐在床头趴在膝盖上,任凭泪水无声流
淌,哭了半个小时,告诉自己,tomorrow is another day,一定会有办法的!
a********3
发帖数: 26787
55
唉~不知道该说什么。。。patpat~
继续等更新~~~

【在 d**********o 的大作中提到】
: 第一学期
: 回到学校后,我就写邮件同导师约好了见面时间,想讨论一下我秋天究竟该如何选课。
: 好玩儿的是,老师在自己帮我列选课选项之前,带我去见了系里的大牛。后来知道系里
: 的大牛是安全领域里的专家,每年都有诸多的会议,天南海北地跑,经常都很忙。不过
: 那天他正好在,在大牛的办公室里,根据我的需要(我希望能够两年拿到自己的硕士学
: 位),列了一个两年计划的列表,但第一学期仍然只有CS121 和CS150两门课,后来一年
: 的课程明显要重很多,我感觉这样选课第二年压力会非常大。我对大牛的选课建议是不
: 满意的,于是导师帮用他的手机拍了大牛白板上选课的照片,回到导师的办公室里,我
: 们再讨论出另一个选课计划。
: 选的结果是,虽然导师同意了我可以跳过CS121编程课,但我自己坚持要选那门课,因

d**********o
发帖数: 1321
56
以后尽量每天更新一次吧~~
希望能快点儿写完~~
多谢美女~

【在 a********3 的大作中提到】
: 唉~不知道该说什么。。。patpat~
: 继续等更新~~~

q**x
发帖数: 3763
57
期待。。。
d**********o
发帖数: 1321
58
第二学期
路漫漫其修远兮,吾将上下而求索。因为看不到方向,那就只能努力,唯有努力才能改
写自己的命运。只是,交完了这学期的学费,我就要开始为下学期的学费发愁了。
这学期我选了CS570 Artificial Intelligence,CS552 Real Time Operating System
,CS504 Software Security,CS502 Algorithms,CS502 software engineering和
CS501 Seminar 共计14个学分的课程。大牛说他愿意帮助我们,给我和一个外系的中国
女同学开小课,选了他的2个学分的算法课和2个学分的软件工程课。但大牛很忙,他是
没有时间系统地帮我们上课的。我们两个人好几门课(她还有200 level的课程),一
周见一次一个小时计论一下我们看书有什么不会的地方就下课。那真正能够学到的知道
又有多少呢?鉴于算法课那么重要,而这个学期我的导师正好也开算法课,我便去旁听
了导师的课。
AI课的课程要求完成五个项目的作业,外加一个研究生的文献综述报告。第一个项目
path searching的几种算法项目交上去后的课堂上,老师上课环顾左右而不看坐在偏中
位置的我,让同学们和我都感觉到我受到了歧视,但可以想象,老师这么做的原因是他
觉得我写不出来code,他认为我的作业至少code的部分是抄的,我猜他那么做是想要警
告我或者要小伙伴们孤立我吧。原本项目的报告只写报告就行,是不需要源程序了,但
因为老师课堂上已经这样了,后来的Min-Max Connect 4 game human being vs.
Computer AI,Neural Network,Fuzzy logic control system等等,我就开始把源程
序代码也交了,这样的怀疑便不再有。
这些年来我一直开一辆破车,这车是我来美第二年的时候找到舅舅,他建议我买的。买
的时候因为有过车祸纪录,油箱也被撞破了,有修补过的痕迹。这么多年来小毛病一直
不断,因为漏油,在加州的时候就被过两三次油箱(每次花一百左右),而回到小镇,因
为小镇上的人不帮忙补修,只能换,哪怕是换旧的也得换,于是换掉了我三百大刀。问
题是换掉后,原本破旧的车不知道怎么回事同样的力度踩油门,车子像是发疯了似的跑
得时快时慢,很是吓人,然后还时不时地死机死跷跷,这已然超出了我的承受范围,最
终在换油箱后几个月后将车捐给了Heritage for the Blind社会慈善组织。
d**********o
发帖数: 1321
59
第二学期(2)
因为我上大牛的课,大牛是系里最有钱的老师,我理所当然应该先去求他。大概是因为
上学期的选课我没有按照他的建议来选吧,大牛对于我的困难是视而不见的,显然不愿
意提供任何的帮忙。表哥只是在异国他乡作过几年科研的小研究员,回到现在的学校尚
且欣赏提携woman in science,难道我就真的那么差么,根本进入不了大牛的法眼,丝
毫不能引起他的注意?于是小弱弱的幼稚心思就有了幼稚的解决办法。那天去上大牛的
课,我便从头到尾上课都不拿眼睛看大牛,我上课是坐前排的,一堂课下来,大牛无论
如何也该看得见我了吧?
可是再后来的事情就是让自己诧异的了,接下来旁听自己导师的算法课,却能明显感觉
到他反常地高兴,高兴得过分,一如前一堂大牛课堂上来自于我的意外。人在困难的时
候难免会做出一起过分的举动,但那也并不是说,作为当事人的我就会以此为傲,她何
尝不是被逼无奈呢?因为别人如此行为便特兴奋,这算是什么?作为导师,系里老师之
间的矛盾是真的么?作为导师,你又何至于开怀至此?当然老师自己的解释是那天是一
个什么walawala day 还是什么hula-hula day。是他们的什么day我不管,那堂课我的
脸是木的,动弹不得。
大牛显然没有帮我的意愿,于是我去找实习,找自己以前工作过的公司,当自已以前实
习过的一个小公司也没有示好帮助的意愿之后,迎来了自己导师的一点儿启发。那堂算
法课的意思是说,因为我的programming比较好,对hash table、各种树结构理解得都
还比较透,这会在生物方面有很多很大的应用 。春季的学期已经快要结束,虽然现在
我还没能找到学费来继续秋天的学业,但是我还有夏天可以去捕食。那堂课意识到导师
的旨意,下堂课便装傻,表示还没有好到可以在那个领域有所用武之地的份上,所以就
让我还是依靠自己去找食物吧。
d**********o
发帖数: 1321
60
第二学期(3)
那时的自己怎么说来,经历了十个硕士的震撼和第一学期成绩的无奈,有着卑微到尘埃
里去的朴实,默默地付出着自己的努力。因为选的课多,还要在学校食堂每周打十五个
小时的工,所以写作业必须要快。
二月份的时候实时操作系统的老师布置作业用ATMega32A + 16键的数字键盘制作square
wave 音乐1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 1 (记错了,music是下一次的作业) ! 并设
一位四位数字的密码,用LED灯indicate密码的正误。因为数字键盘有限,我们所有的
学生只能在实验室里写作业共享有限的几套配置。那天下午的时候同学们跃跃欲试,他
们年青也很聪明,我就让了,自己在旁边查找一些理论基础,等傍晚一个同学走后,我
也不知道怎么回事,稀里糊涂地就就着一个网页把键盘给设好了,连原始的代码都还没
有完全看懂,引来同在实验室做作业的其它同学一片诧异,觉得我太有效率了,居然在
那么短的时间里就给弄出来了。那次大概是最后一次同学们发自内心的自由表达对我的
欣赏吧。后来环境的变化,这样的状况就极少了。当有同学问我怎么做时,我就把自己
的思路讲了一下,把自己参考的网页发给他们,很快他们也做出来了。那时的自己,心
里应该还是有着某个想念的人吧。我清楚地记得写出作业的那天晚上是阳历2月14日,
因为那次作业我设置的四位密码是“2514”。
看到同学们的反应,大牛在他的课堂上讲,有些学生,网上搜索能力还不错,现在网上
的资源已经很多了,但要真正学到知识,还是要清楚地知道每一行代码的原理是什么。
因为我的部分代码来自于网上(根据我们自己的键盘连线设置作了必要的修改),对于
大牛这样的评价,我是很不以为然的,他就是妒嫉、看不惯我写得太快进展太快,到大
牛这么说我心里真的开始、很是有点儿洋洋得意的。
相关主题
offer选择,请支招求助,我该接受这个教学职位吗?
Assistant Prof.工作两年想换学校。请教!*** 告版友书 + 总动员 *** (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
61
第二学期(4)
这个时候我注意到表哥的linkedin加了一个人,我便把自己的也加了一个人,就当它是
一种鼓舞吧。
额,上次写得简单,其实在二三月份被表哥自己打911后policeman有亲手拿给我一份表
哥亲手写的什么隔离一类的申请告状,上面有type出来的表哥细数我的 11 条罪状和他
的签名复印件。但这次明知道自己应该会继续写,但最终那份复印件状子还是被自己遗
忘在了storage unit里(如果以后有必要再回来补吧)。可以猜想,那些条罪状表达的应
该是爱意吧。
后来三月份court结果出来后,我收到了另一笔的罚单,来自AAI Collection公司的
Ambulance费用和Collection费用,外加接近一百刀的延迟罚款。Ambulance费用是$832
.20,Collection费用是$416.10,延迟罚款有九十多刀。而court 的结果是我一年内不
得再上court。电话打过去,查到延迟罚款的原因是他们把罚单寄到了我来美后的第一
个address,这让我很是哭笑不得。最近这几年任何一次的超速罚单、任何一次的911纪
录都有我的更新后的地址,他们何至于把这样的邮件寄到我来美的第一个地址?先前说
过,2012年5月左右回去的时候policeman开的$50的罚单我wave掉了,后来想想数量不
大,我还是应该交了。而这次的这些费用数字看起来这么熟悉,原来$416.10也是
Ambulance把我送到医院后进行简要检查的医疗费用的数字,2012年秋天我收到后因为
全自费读硕士,我申请把它wave掉了,而Ambulance费用正好是它的两倍多。这
Collection费来得不明不白,我却没法再上庭! 算了吧,让它吧,这就样吧,这同样是
一个小稹,小镇的建议同样需要各种资源。虽然那两年多的时间里我没有买医疗保险,
我不能报任何的费用,但是该自己出的就自己出,没什么好报怨的。4月份收到报税
return后我邮寄了一张$832.20支票过去,秋季开学后邮寄了另一张$416.10的,只把那
原本不该归因于我的延迟罚款wave掉了。而别人帮我wave掉延迟罚款我还得感激别人,
别人帮我wave掉医疗费用我也得感激别人。有时想想这个世界真搞笑。这真是一场昂贵
的恋爱,来往油费、超速罚单、court程序费、医疗费用、Collection费用、Ambulance
费用,还有更重要的,青春年华,回想起来都心惊胆颤、后怕不已。
d**********o
发帖数: 1321
62
第二学期(5)
后来的AI最后一个项目老师给出了三个选择:可以写Prolog knowledge-based rules,
或者是local search,这个我们前面的项目里还没有涉及到,或者关于一个100个
observation的mobile robotics根据环境变量作出决定的decision tree。因为自己
有统计背景,我想写最后一个。只是根据老师的要求还需要将数据分成Training data
和 test data,有几个不同划分结果的sets要做。我的同学们绝大部分都选择了相对简
单的Prolog项目,但我因为想要自己试着combine statistics背景,便一心想写
decision tree。那是第一次使用vector容器来存数据,参考网上能搜到的例子来写,
后来Debug debug稀里糊途就写出来了,不敢相信是这是真的,跑去Excel用pivot
table生成数据和图形来对比,原来我真的写对了!实在是不敢相信我居然真的写出来
了,也不甘心写到这里就算完了,反正就着老师给的这份数据的这些个自变量,100个
observation是远远不够的,于是不同的data segmentation就可能会造成完全不同的答
案,test结果会非常 sensitive to 数据的划分,所以偶就借着写出来的一丝兴奋,狂
喜中的我硬生生把这份数据穷凶极恶地给划分了almost 99次,凡造成不同答案的拐点
都划分测试一次汇成一个完整的图,都被我写进了最终的报告里。最后一个项目是考试
的时候交,我交的时候告诉老师我把decision tree写好写完了,但我的研究生报告还
没写完,等我写完再拿给他。最后一周考度的课堂上,小伙伴们听说我写出了decision
tree,回想第一个项目交上去后老师对我的不信任,他们开始大声说话兴奋起来,教
室里很快炸开了锅。如果另外一个有数学背景的TA没有写decision tree的话,那我应
该就是班上唯一一个写这个项目的人了,而我之前的中国学生里,甚至上一两界的课程
里也未必有这个项目,或者未必有人写这个项目,说我抄我都无从抄起啊。这个项目并
不是很难,但是能够把自己跃跃欲试、心里想往的事情做好,这种感觉真的很好。而这
也正是我这样一个转专业的二愣子成长过程必经的一步、这个项目也成为了自己成长的
一个里程碑。
d**********o
发帖数: 1321
63
第二学期(6)
幼稚的心思不止如我般小弱弱独有,大牛偶尔也会犯小弱弱的低级错误。大概是我的
court结果出来后,还是期中或是期末考试(更可能是期末考试)前一次课他在last
minute时为我们布置作业引来同学们哗然一片,当然这样一个乌龙最终以他在课堂上向
我们学生道歉结束。据说大牛一般都很爱惜自己的羽毛,他的CS504我得的是B。大牛帮
上的两门课算法pass,但软件工程的项目我们没能做完,incomplete到了下学期。
seminar一个学分也是pass。
但CS552 RTOS的课最终在自己建的小Linux系统里遇到了困难。不知道为什么我的
Context switch就是转换不过去,用ATMega32A很快我的程序就会crash掉。当我AI
Connect 4 Min-Max计算机player不够聪明的时候我的老师还到我student office里帮
我找出问题,提出建设性的解决方案,而带这门课的老师理论知识很强,却在code方面
相对弱很多,他没法帮我找出我的问题,而我的程序也陷入了绝境。我对老师说我想再
调几天,万一调不出来就交上去,老师说我应该可以拿B,但老师希望我incomplete再
自己试试看,我便顺了老师的意思,但最终暑假的实习,秋天繁重的学业,我也没能再
花多的时间在这个上面,最终也还是拿了B,只是再后来自己最终脑袋开窃后才将这个
程序给调出来。
AI的课对编程的要求比较高,所有的项目都要求编程,我都还进展得很不错。但最终的
成绩里,老师并没有给我A,还是一个B。老师把我的期中考试成绩压得很低,可能期末
他也压得很低吧。我没有去argue我的成绩,但是为自己争credit的欲望却在增强。
d**********o
发帖数: 1321
64
第二学期(7)
虽然我上大牛的算法课,但因为完全是自学,我学的效果并不是很好,导师的算法课我
去旁听了,并且参加了他们的期中考试。上课的内容一般都不是很难,拿笔记本 Linux
+ Emacs + Python + typing + 转转脑子,跟上导师的课就基本没什么问题了。我还
参加过他们的期中考试,老师给列了详细的提纲,考前的课堂上还事无巨细地讲,连我
这个旁听生都听很明白了,他还在讲,当然也有很 sweet 的学习好的学生也在假装哪
个步骤不明白举手提问请教老师,坐在我前一排的小伙伴会意,接着问了第二个很
sweet 的贴心问题。这个前排小伙伴后来成为了我下学期(秋季学期)编译课的同桌,这
是后话,以后再表。
第一学期上CS385的课还没什么特别的感觉,这学期上了AI的课,开始明显地感觉到这
位老师应该是我们系最好的代课老师了,他的授课有着分析的逻辑在里面,可以真正讲
到透彻,讲到让学生能够真正听懂、明白原理,对于这样一位和自己一样有着本能的
problem solving skills的老师,如果自己的项目出现什么问题,他应该能够给出及时
的、建议性的建议和解决方案。最后一堂课的期末课程总结课上我已经向老师明示问题
示好,表达了我跟他所做科研的兴趣,期望以后能有机会跟他一起作课题。
但与此同时,因为前面好几次的作业都写得还很不错,RTOS的老师虽然code较弱,但他
是爱好音乐的人,他对MIDI有多年的兴趣,一直在试图将不同的MIDI产品应用到学校的
各种Band表演上去。暑假前他帮买了一款最新的 25键 QuNexus keyboard让我暑假拿去
玩儿,可惜我对这方面好像还不是很入门。在两个导师两个方向的选择中,接下来的那
个暑假我也该好好考虑,我到底该选哪个好呢?
d**********o
发帖数: 1321
65
第二学期(8)
想到夏天选课、实习学分的可能性,我去找了导师。可笑的事情在这里又发生了。导师
说他没有想到我是要在这里拿一个硕士学位的,他说如果我想找,即使不能找industry
的工作,还是可以找学校里的能够sponsor工作签证的职位。而先前不远的时候大牛刚
对我说过如果我一切课程进展顺利,快的话今年 12 月份就可以毕业。这是我到目前为
目学得最努力也最喜欢的专业,眼睁睁地看着自己就要拿到手的学位,我怎么可能这个
时候放弃?便暂金截铁地告诉导师:我要拿自己的硕士学位!
导师接着说,那我暑假可以找小镇上的工作,比如什么什么统计小公司,比如旁边的小
镇的一家工厂。我非常疑惑导师为什么要我留在小镇上,而我过去的生活经历,过去的
实习、过去的暑假不是从来都在加州度过么?难道加州不是我在这个国度的故乡么?心
里疑惑,但我还是答应导师我会去试试的。但是曾经的生活经验告诉自己,留在这个小
镇是没有出路的,我应该去到大城市,走进更为广阔的世界,到那里去寻找生路。随着
期末考试的结束,我便开始找车,最终找到一辆自己能够承受、性能也还勉强过得去的
车,找小镇上的好心人帮换了轮胎,便开车走在了返回加州的 5 号大道上。
d**********o
发帖数: 1321
66
RTOS作业:2514
The purpose of this assignment is to give you more experience using the AVR
ports, and to add some I/O devices that might become useful later for our
RTOS.
You are to use one of the provided keypads to implement a “digital lock.”
Your program should allow the user to enter a four digit code from the
keypad, and if the code that is input matches the one included in your
program, the “lock” should open. In this case, the lock opening will be
represented by the lighting of an LED.
As the user enters numbers, consecutive LEDs should light, showing the user
that a number has been entered and received, and to show how many digits of
the code have been entered. In other words, after entering the first
number, one LED should be lit, after two numbers, two LEDs should be lit,
etc. This behavior should occur even if incorrect numbers are entered, so
the user can tell how many numbers have been entered, but can’t tell if the
correct numbers have been entered until the end.
The pinout of the keypad is not intuitive - it is shown below. As before, in
addition to writing the code, determine the size of the code in your
program.
// CS552 Assignment 3
// me~me~me~~!!! 02/14/2013
// Size of code: 000616
// quote: the original codes are adapted from blog.jeffmurry.com
// blog.jeffmurry.com/2008/11/01/how-to-interface-with-4x4-keypad.aspx
// But I have modified them to cater to our keypad design
#define F_CPU 1000000UL
#include
#include // used for _delay_ms()
//#include
#define BUILD_VERSION 4 // Update version in comments + display on LCD
startup for a few seconds if using
// Keypad constants
#define keyport PORTB //Keypad Port
#define keyportddr DDRB //Data Direction Register
#define keyportpin PINB //Keypad Port Pins
#define col1 PB2 //Column1 PortB.2
#define col2 PB4 //Column2 PortB.4
#define col3 PB5 //Column3 PortB.5
#define col4 PB6 //Column4 PortB.6
//#define LEDON PORTD &= ~(1<<5)
#define BLINK_SPEED 250;
unsigned int KeyLock[4] = {0xde, 0xac, 0xe8, 0xb0}; // ****~~:)
uint8_t i;
void delay(unsigned int dly) {
for(i = dly; i != 0; i--);
}
void key_init(void) {
keyportddr = 0x8b; // 0111 0100
keyport = 0x74; // 1000 1011
}
unsigned int get_key(void){
unsigned int key= 0;
// Make rows low one by one (check for press, wait for release, return
key)
// First Row
PORTB = 0b01111111;
if (!bit_is_set(PINB, 2)) {while(!bit_is_set(PINB, 2)); key = 1;}
if (!bit_is_set(PINB, 4)) {while(!bit_is_set(PINB, 4)); key = 2;}
if (!bit_is_set(PINB, 5)) {while(!bit_is_set(PINB, 5)); key = 3;}
if (!bit_is_set(PINB, 6)) {while(!bit_is_set(PINB, 6)); key = 10;} //A
// Second Row
PORTB = 0b11111110;
if (!bit_is_set(PINB, 2)) {while(!bit_is_set(PINB, 2)); key = 4;}
if (!bit_is_set(PINB, 4)) {while(!bit_is_set(PINB, 4)); key = 5;}
if (!bit_is_set(PINB, 5)) {while(!bit_is_set(PINB, 5)); key = 6;}
if (!bit_is_set(PINB, 6)) {while(!bit_is_set(PINB, 6)); key = 11;} //B
// Third Row
PORTB = 0b11111101;
if (!bit_is_set(PINB, 2)) {while(!bit_is_set(PINB, 2)); key = 7;}
if (!bit_is_set(PINB, 4)) {while(!bit_is_set(PINB, 4)); key = 8;}
if (!bit_is_set(PINB, 5)) {while(!bit_is_set(PINB, 5)); key = 9;}
if (!bit_is_set(PINB, 6)) {while(!bit_is_set(PINB, 6)); key = 12;} //C
// Forth Row
PORTB = 0b11110111;
if (!bit_is_set(PINB, 2)) {while(!bit_is_set(PINB, 2)); key = 14;} //
Column 1 *
if (!bit_is_set(PINB, 4)) {while(!bit_is_set(PINB, 4)); key = 16;} //
Column 2 0
if (!bit_is_set(PINB, 5)) {while(!bit_is_set(PINB, 5)); key = 15;} //
Column 3 #
if (!bit_is_set(PINB, 6)) {while(!bit_is_set(PINB, 6)); key = 13;} //
Column 4 D
// Reset key ports
key_init();
return key;
}
int compareKey( unsigned int value[]) {
int y = 0;
for(; y<4; y++) {
if (KeyLock[y] != value[y])
return 0;
}
return 1;
}
int main (void) {
DDRD = 0XFF;
PORTD = 0X00;
unsigned int keyval;
key_init();
keyval = 0; // Start with key value = 0 (ie.. not pressed)
unsigned int cnt; // indication of number of keys typed
unsigned int count[4] = {0xfe,0xfc,0xf8,0xf0};
unsigned int Type[4] = {0};
int checkflag = 0;
uint8_t x = 0;
while(1) {
keyval = get_key();
if (keyval != 0) {
PORTD = ~(keyval<<4|(~count[x]));
Type[x] = ~( keyval<<4 | (~count[x]) );
x++;
delay(65000U);
if( x == 4) {
x = 0;
delay(65000U);
if ( compareKey(Type) == 1) {
delay(65000U);
PORTD = 0Xfc; // password right: two LED will be on for
correct keys
} else
PORTD = 0xf7; // password wrong: one LED
}
}
}
return 0;
}
d**********o
发帖数: 1321
67
报告:Decision Tree
// CS570 05/08/2013
// me~me~me~~!!! Project 4 Decision Trees
Decision Prediction for Robot Decisions
Abstract
In this project, a decision tree algorithm is developed using the ID3
information gain algorithm, and it was implemented using c++ language. The
algorithm selects decision split attributes based on information gain, and
selects the variable with highest information gain from the available
variable attribute open list. The algorithm will repeat this step until
either run out of attributes, or run out of training data set. And later on,
based on the tree rules we have built already using training data, we will
evaluate the performance of the decision tree model by test the model on the
testing data set. The model performance will be evaluated by
misclassification/prediction rate. And based on the available 100
observations, I have built a pretty good decision model with mis-prediction
rate is almost 0.
Data Structure
Data structure is very important for this project. I need to figure the data
structure out before I can develop any codes for this project. The most
fundamental tree node is easy, just includes the attribute, arrived_value,
isLeaf label and node pointer vector stores the node pointers from parent to
children (for this project since every node has only two children, it
should be much easier to simply use left and right pointers, but anyway I
learned how to use vectors). The input data was read into a 2D array, and
there are several vectors and vector of vectors to store the attribute
strings for all available and remaining exploratory variables, the attribute
value strings for each attribute, and total training and remaining training
observations. The whole C++ code for this project is attached in the back
for convenience of checking.
Learning Algorithm
For this project implementation, B(q) is defined as the entropy of a Boolean
random variable that is true with probability q:
B(q) = -( q*log2(q) + (1-q)*log2(q) );
A randomly chosen example for the training set has the kth value of rth
attribute with probability (pk+nk)/(p+n). So the expected entropy remaining
after testing attribute A is :
Remainder(A) = sum(k=1 to d)((pk+nk)/(p+n))B(pk/(pk+nk));
And information gain from the attribute test on A is the expected reduction
in entropy:
Gain(A) = B( p/(p+n) ) - Remainder(A);
Pseudo code for the algorithm:
function Decision-Tree-Learning (examples, attributes) returns a tree
if examples is empty then return default
else if all the examples have the same classification then return the
classification
else if attribute is empty then return major decision
else
for each remaining attribute
calculate information gain
create a new node using the best attribute
separate the examples based on the best attribute
subtree nodes = Decision-Tree-Learning (examples, remaining
attributes)
return tree
Result
According to the project instructions, I have applied the 2, 5, 10, 20 and
50 observations as the training data set to build decision trees
respectively
, and the produced tree were tested using the remaining observations from
original 100 observation data set. All the models are pretty good and really
look alike. And the models are performing better and better as the training
data set increasing the observations, which means the decision tree models
are well-trained and performs great job for predictions.
train_obs_cnt mis_predict_test
2 60
5 60
9 20
10 26
13 48
15 19
20 19
25 21
30 10
35 10
40 10
43 10
44 3
50 3
The final tree model that predicts best is listed as below:
the decision tree is:
SafSit
1
SafCriDec
1
FamSit
1
AskdBef
0
No cnt:3
1
Confident
1
Yes cnt:3
0
No cnt:2
0
Yes cnt:4
0
AskdBef
0
No cnt:9
1
FamSit
1
Confident
1
Yes cnt:1
0
No cnt:1
0
No cnt:3
0
FamSit
1
Confident
1
No cnt:1
0
Yes cnt:3
0
Yes cnt:14
tree_size: 21
the total observation count is: 44.
Total number of misclasification for TRAINING data is: 0.
Total number of misclasification for TESTING data is: 3.
Discussion
As we can see from the graph above, between trains observation of 9 and 10,
there was a dramatic reduce of misclassification rate for test data, and as
I have detected, the observation number 10 created a bunch of new tree nodes
and completely changed the tree structure, and which actually is not as
good as predicting using the 9 observation tree before. These specific two
trees are pasted below for reviewing convenience. Since these models are not
mature ones yet, the trees are just presented as the indication of tree
structure changes.
the training = 9, testing = 91, training data built decision tree is print
out as followed:
the decision tree is:
SafSit
1
No cnt:7
0
Yes cnt:2
tree_size: 3
the total observation count is: 9.
Total number of misclasification for TRAINING data is: 0.
Total number of misclasification for TESTING data is: 20.
the training = 10, testing = 90, training data built decision tree is print
out as followed:
the decision tree is:
SafSit
1
LongDel
0
AskdBef
0
No cnt:2
1
Yes cnt:1
1
No cnt:5
0
Yes cnt:2
tree_size: 7
the total observation count is: 10.
Total number of misclasification for TRAINING data is: 0.
Total number of misclasification for TESTING data is: 26.
Our data set has 8 variables and has only 100 observations. Theoretically we
would expect at least 28= 256 observations to be an even representative
training data set. Comparatively, our training data set doesn't have enough
observation, and may produce bias.
Because I used the information gain algorithm to build the tree, the built
tree will largely screwed by the number of observations in the node class
and the split attribute will also be dependent on the number of observations
fall into arrived_value node. So decision tree is very sensitive to
unrepresentative data.
Besides, since the tree depends on split attributes as well as attribute-
values to build node, it is also very sensitive to missing values, and
cannot perform predictions on those observations unless we take good care of
the data cleaning and missing value modification.
For this project, I separated training and test data simply by using the
first N numbers of observation as training data, and all the rest obs. as
the test data, and mis-classification rate as the fitness function, which is
a just-so-so method to get project done. To extract representative training
data set, a better approach would be m-fold training data, and using cross-
validation will sure perform much better.
d**********o
发帖数: 1321
68
太笨了~~
图片贴不上来!!!

【在 d**********o 的大作中提到】
: 报告:Decision Tree
: // CS570 05/08/2013
: // me~me~me~~!!! Project 4 Decision Trees
: Decision Prediction for Robot Decisions
: Abstract
: In this project, a decision tree algorithm is developed using the ID3
: information gain algorithm, and it was implemented using c++ language. The
: algorithm selects decision split attributes based on information gain, and
: selects the variable with highest information gain from the available
: variable attribute open list. The algorithm will repeat this step until

a********3
发帖数: 26787
69
#_#...
呵呵,彻底看迷糊了啊~~~

【在 d**********o 的大作中提到】
: 太笨了~~
: 图片贴不上来!!!

d**********o
发帖数: 1321
70
第二学期( 11 )
因为看不清前路的方向,这是唯一一个我不曾哭过的学期,除了因为担心秋天的学费还
是流过不少辛酸的鼻涕。
早在回学校的第一个学期,大概十月还是十一月吧,生理期间的一天早上,不到六点,
远不到我平时正常的起床时间,我被右侧腹肚部位的疼痛痛醒了。我以为自己要上大号
,去了洗手间但不是;胸口着呕很想吐,却又吐不出来;躺下,依然痛得厉害;于是我
躺一会儿,去一次洗手间,躺下还伴随着连微的呻吟。那个早上出了一身汗,折腾了一
两个小时后,排出来几个大血块,才总算消停了,又倒头睡了一两个小时。终于是忍住
没有去看医生。
后来十二月身体又起了怪病,在加州两年多的时间里都不曾买医疗保险的我,这次却得
了个怪病,感觉身体敏感部痒起来。早先我已为是因为自己是了公用的洗衣机和烘干机
,自己的身体比较敏感,所以不小心染上了什么乱七八糟的怪东西。为了保护自己起见
,便买了个小型的甩水机,从那以后自己的内衣内裤等贴身衣服全都自己在家里洗。后
来随着病情加重,已经没办法忽视,只能去看医生。期末考完的周一( 12/16/2012 )
我去看了医生。医生听完我的描述说80%的成年女性都会有这个问题,他希望我用一种
外用皮肤膏一类的东西先试试,如果不行再回来作身体检查。我知道自己从出现症状到
现在两三个星期呈严重加重状态,便坚持请医生直接作了身体检查。后来花了90块钱(
half pay,保险付了另50% ~ $90)付医生的检查费,另花了大概$8的药费,开了 14
片的一种什么药,但这些药一个星期吃完,真的就非常有效、完全好了,这一两年里都
再没有这种困扰。
今年四月( 04/08/2013 )当生理期身体的不适再次困扰自己的时候,我还是最终去了
校医院看病。这次接待自己的是一位女医生,见医生的过程觉得她非常礼貌客气,似乎
我说的每句话每个字她都想记录下来,写在一个note便条上。聊起来,这也是老问题了
,早在2009年春夏的时候也有一次我是就这个类似的病情看过医生,这些都是在自已的
病历里写着的。那时也早就已经承认01年手术时查出过右侧卵巢囊肿,但她问我的问题
是“Are you sexually active? How long have you been sexually inactive ?”这
是医生,她问的问题我得回答,但却总有一种被冒犯的感觉,很想骂回去一句,我有没
有与你有什么关系?但只是从自己心里骂了一遍。这次看医生,后来查了尿样、两个血
样(一个是 CA 125 ,另一个不记得了),做了一项身体检查。身体检查我付%50 ~ $
90,看医生的费用完全我自己出$115,两个血样检查一个$ 58 ,另一个$82,这样$
350 花出去,我除了从 CA 125 的结果知道自己没有得癌症,其它所有的费用也都对自
己的现有的病情没有任何帮助。
相关主题
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
进入WebRadio版参与讨论
d**********o
发帖数: 1321
71
暑假实习
来到加州我就开始找实习。去面了一个Mountain View的小公司,面我的是清华出来的
一位中国人学长,问我如何reverse string里的 words(刷过 lc 的都知道这是所有字
符串里最简单的一个了)。我用了最原始的方法一个字母一个字母换回来的(汗!)后
来被他提醒,想起stringstream的捷径,但具体的函数当时我还是没想出来,只能挂了
。不过学长还很负责任地(很无奈地?)帮我点明了他问我这个问题他自己想要考查的
思维和逻辑。
我来加州后表姐也帮我把我的简历传给了他们公司,因为表姐的强大(或许也部分受益
于公司的文化?),我就被安排了面试。因为后来这个暑假我的确就在这个公司实习,
因为这次出来写也即将写到自己实习的部分,也希望职场新人的幼稚表现能够得到牛牛
们的批评指正,所以人物的称谓我还是用简称吧。面试安排在 05/30/2013 。面我的第
一个人是我后来的第一个mentor,称之为B吧,中国人,看年龄,应该是senior了吧,
倒并不为难我,直接用汉语问我的问题,关于操作系统,关于软件工程,code上只问了
最最简单的 command line arguments pass in variables;第二个人A是我后来的第二
个 mentor ,问了些简历上的小问题,考了 OOD ,设计汽车;考了最简单的算法,
100 层楼,从楼底升气球(还是从楼顶扔瓶子,不记得了,大概前者吧)在某层楼气球
会爆掉,怎样在最快的时间内找到是在哪层楼爆掉的。都是简单的题目,基本也都还回
答上来了,如果表达还算清楚的话;第三个人C是我后来的 manager ,也同样是问了简
历上的问题和 OOD 。整个面试表现得并不是特别好,但主要还是他们给我机会吧,表
姐让我给他们写感谢信,第二天我就给三个面试我的人都写了。后来这个公司给了我实
习的机会。
d**********o
发帖数: 1321
72
三封感谢信
*Dear Ms. B,
It was very enjoyable to speak with you yesterday about the test development
intern position at XXXXX.
The job seems to be an excellent match for my skills and interests. The very
kind team environment and strong technical skills that you demonstrated
during the interview inspired my strong desire to work together with you in
the team.
In addition to my enthusiasm, I will bring to the position strong code
developing skills, and the ability to encourage others to work cooperatively
with the department.
I appreciate the time you took to interview me. I am very interested in
working for you and look forward to hearing from you regarding this position
and potential responsibilities.
*Dear Mr. A,
It was very enjoyable to speak with you yesterday about the test development
intern position at XXXXX.
The job seems to be an excellent match for my skills and interests. During
the half an hour interview, you impressed me deeply with your clear ideas
and logical thinking. And I was motivated then and have been taken every
efforts and trying my best to get the chance to work for you. Like you are
so confident today, I have been taking my steps gradually to achieve career
goals to be professionals with enough skills and confidence just like you.
Your today's performance is my goal for tomorrow for my career, and I will
sure get great practices and learn a lot from you if I have the chance.
On the other side, in addition to my enthusiasm, I will bring to the
position strong self-motivation, self-learning, courage, coding skills, and
the ability to encourage others to work independently as well as
cooperatively when necessary.
I appreciate the time you took to interview me. I am very interested in
working for you and look forward to hearing from you regarding this position
and responsibilities.
*Dear Ms. C,
It was very enjoyable to speak with you yesterday about the test development
intern position at XXXXX.
The job seems to be an excellent match for my skills and interests. The
available and potential tasks that the position requires, together with your
sharp technical skills and impressive management skills inspired my strong
desire to work for you.
As an impressive classmate or team member with quite a few classic projects,
I have always been motivated, delight, and being very clear about my goals.
In addition to my enthusiasm, I will bring to the position strong self-
motivation, self-learning, courage, coding skills, and the ability to
encourage others to work independently as well as cooperatively when
necessary.
A friend in need is a friend indeed. Please let me express my sincere thanks
for the opportunity and time you offered and spent on me. I am very
interested in working for you, rewarding back my appreciation for you
through the position tasks in action, and I look forward to hearing from you
regarding this position.
d**********o
发帖数: 1321
73
第一顿午餐
去实习的第一天,偏巧,VP正好来总结报告,他们一大team的人热热闹闹地去开会,我
一个小实习生也混在里面他们又有谁知道,开完会去吃饭,开了大概三四大长桌,每桌
十多个人。表姐同A,B,C和我都在同一个team, 外加一个和自己学校男闺密性格很像
的年轻人D,他们都是正式员工,只有我和第二天来的另一个加州学校的E是队里的两个
实习生,E的cube在我对面,A和B在我同一走道斜对面,D和表姐离我比较远,C只能更
远。
吃饭的时候,我们女生坐了一大桌,我坐在了表姐同我的mentor B之间,B,C,表姐和
我原本是坐同一辆车表姐开车过来的,但C来座位比较晚,她去了我们后排VP所在的餐
桌,另外一部分男士坐了一桌还是两桌他们的桌,只有一位女士坐进了他们男士桌。我
们这桌的小兵小将也落得个逍遥自在,可以随便吃随便聊。但意外却在我们这桌发生了。
点菜的时候很多人、包括我自己并不知道哪个好吃,哪个实惠,waiter说lunch
special比Simon更好吃,表姐原本要点那个Simon的但改成lunch special了,但表姐说
我们两个可以点不一样的,于是我还是点了Simon。后来陆陆续续上餐盘的时候,同桌
上两个会点的女孩子点了铁板烧一类的东西,两个热锅贴端上来还在噼里啪啦冒着热烟
和声响。这时就有人不淡定了,我旁边的B叫了waiter点了两个还是三个冰淇淋,意思
是帮我们周围一圈人点的,不知道她点单的时候有没有意识到我们周围大家佯装的附和
的不自在。
后来冰淇淋端上来的时候大家也是在吃,却吃得并不怎么有滋味。好在后面VP桌有容乃
大,竟然也有冰淇淋端去他们的桌,小兵偶吃东西的压力都减小了好多,有没有?!!
!VP桌的冰淇淋也端上来了,我们桌的也吃了不少,对面的女士们就要去洗衣间洗手。
B是坐在右边最角落里的,我左边的表姐也去了洗手间。B之前已经自己去了一次洗手间
我也很想随大家走,但如果连我也走了,B就要彻底被孤立了,而她还将会是我接下来
两个半月的mentor,我不能走啊,于是我陪着她枯坐着,没话找话地聊着天。整个大长
桌,右小半截empty,最右边孤零零滴坐着相依为命的我们俩个。
女士们回来后,表姐同对面的一个女华人manager站在餐桌旁边聊起天来。那位是另一
个组的,工作上这两个team或许也有联系的吧,再加上餐桌上也可以聊工作之外的事情
的吧,还有啊,那位女士刚VP开会的时候还在底下窃窃私语对我们manager C说表姐是
她在这个公司最好的朋友来着。聊天本也并不意外,只是在这样的场合,是否,任何出
列出格的举动行为都会给大家留下不好的印象呢?表姐大概只是因为能把我弄进去她很
开心吧。后来表姐落座后,我站了起来,想去洗手间,但后桌VP桌没有给我这样的机会
,大家都站起来一起撤离了。
就像刚刚过去的小小选择,就像B和表姐两个同样有性格的人的较量,在接下来的一两
个月的时间里,在B同表姐的关系里,我同mentor B的关系也是三进三退,像一个漩涡
,越搅越大,却最终不得不放弃;而我同表姐的 ~~ 亲情关系,像一缕青烟,经受过风
吹雨打,却依然飘飘苗苗、颤威威地升了起来 ~~ :)
d**********o
发帖数: 1321
74
实习
实习的第一天,C带我认了组里的同事,还有相关组的senior,C把我领到B的cube里,
告诉我她将是我这个假期实习的mentor,跟着她做就好了,但这个过程我没有见到A,
大概他来晚了吧。
我在自己的cube里坐不久,A来了,来到我的座位同我打招呼,A的前来我很意外,这是
onsite三个面试者里感觉面我面得最 professional 的一位,很年轻,有着颀长的身材
,帅气的面孔,也有着这个年龄段人里少有的礼貌、客气与和善。他来到这里大概一两
个月,负责用python搭建各team test suites的 test automation framework 。后来
他给E和我发了python IDE的链接和安装指南。看着他这么好,coding方面实实在在的
能力也这么强,就真希望以后能有机会作他的实习生,让他来 mentor 我。第一个周有
一次也们去会议室开会,E正好有问题问A,A打算向他演示一下E的问题到底是怎么
work 的,经过我的cube时,A看了我一眼,我便也凑过去了。后来中午还是傍晚,B问
过我跑哪里去了(B同A的座位相邻隔壁),我便直接对B说,大家都在一个组,谁说我就
不能从A那儿学点儿东西呢?
我同B的第一份任条是写MSTK的test case。是啊,最开始,专业里的第一份工作,我也
并不知道该如何去写这些东西啊,那该怎么办,去翻文档,总有别人写过的吧,找几个
例子出来先。于是我看例子,琢磨着第一个测SSD temperature的该怎么写。而这时我
也不得不承认,B大概早已经从C那里会意,在我就要下笔开写的时候,B已经写完了两
三个其它SSD的test case可供我参考,而我要写的这个case的思路我也是先去同B讨论
过的,所以具备了一切先决条件,下笔如有神 ~ 开敲。不到两个小时就弄好了,剩下
的就是同B交流征得她的看法了。
我程序里用到的parameter都是从文档里调出来的,比如SSD芯片的上限温度就是55℉,
而B却坚持认为应该是55℃。更好玩的是,我拿文档指给她看说就写在那儿呢,她却要
坚持去问另外一个team的一位华人女士。B的衣着是每天都会换新的款式,不算很
formal但也不很随意的工作服装,在这样的一个technical公司,在我这样一个新人眼
里是多少有些略为刺眼的,同表姐聊天时表姐倒是说B有她自己的穿衣风格又有什么不
好。我同B走过长长的走道,穿过一个又一个的cube,我感觉我们走的不是走道,是T台
,我们走的是模特步!到了后那位女士也很不懈地说,是华氏度,“你用手摸一下,是
烫手的,不就知道了?”于是我们再从长长的T台走回去。每天只走一次的话我还是可
以忍受的,要是走多,每天超过两次,我想我会先崩溃掉的。
这时我已经深刻地感觉到,实习生,考验我们的也许不是coding,不是干活能力,而是
如何同别人交流沟通,因为真正开始干活前的讨论准备工作和干活后的汇报交流工作会
花去真正用来干活几倍多的时间和精力,重点还不够突出么?
我们每个周四向C发邮件汇报这个周都干了些什么?我的第一个test case两个小时写完
,但真正clean up这份工作已经拖到了几个周之后。这期间,因为写不同的test case
,读各种各样的pdf,有些几份资料之间不match的地方,是真正错了,还是只是新旧
version的不同,我都把它们弄清楚了,而且我也把不match的地方列出来汇报给了C。
d**********o
发帖数: 1321
75
实习(2)
E是坐我对面的实习生,比我晚来一天。我们site公司里周二到周四中午都是有饭吃的
,我们两实习生中午也都去蹭公司的午饭吃(其实我们site可能有至少三个实习生的,
因为我在总部第一天见到的一个小美男实习生也在这里吃中饭),所以有机会坐下来七
长八短的闲聊。他是UC系统的本科生,第二年就可以毕业,对于他毕业后的去向,有时
候他说想读研究生,有时候他会说想工作,具体他什么想法也许他只是不想让我知道吧。
我报到的第一天先去headquarter领门牌卡,那里加我一共有6个实习生我们同一天报到
;我问了E他说他那天加他有4个,这所有的实习生应该都是内部系统的人refer过来的
。他是他自己声称为Family friend的(据大家说是他舅舅)board里面的人refer过来
的。比我小很多岁,却少年老成,比组里最为 professional 的A都还要显老,显得心
机沉稳。
有一次周一还是周五中午我们俩个在食堂吃东西,另一个负责晚上订饭的正式员工也加
了进来。后来知道他离婚了,有一个正处在恋爱季节的女儿。他头不大肚子相对比较大
,为了以后叙述方便,暂且称之为尖人吧。印象里尖人同我的舅母(表哥的妈妈)比较
像,极善察言观色,据说尖人也是表姐refer进公司得到现在职位的。
那天我们三个先前也不记得都聊了些什么,聊着聊着,尖人说他压根就不相信现在的年
轻人能够一两年的时间里弄懂弄透computer science,当时的自己麻木不仁,丝毫没有
明白这话里的意思,还笑着说,他也该知道,现在的电脑、笔记本满天飞,网络遍布
Mississippi南北,这个时代已经远远不是他成长长大的那个时代了,生在这个时代的
孩子远比他的同龄人要幸运很多,现在的孩子理解、明白computer science比他这个老
古董当初学习、明白得快些也就不足为奇了~~我的英语结结巴巴,但他听完我的吐槽也
拿我没办法,只能翻白眼。之后的实习经历才知道,这时的尖人话里有话,只时当时的
自己没能听出来罢了。
d**********o
发帖数: 1321
76
实习(3)
这期间,因为工作,B、C和我之间常常也有些邮件往来,一些B给C的邮件会cc给我,但
明显感觉这个人把我干的活也都向C汇报成B自己做的了,这多多少少也会引起我的不满
。我试着在每周四给C的汇报里侧面表达了自己对B的不满,但显然C对我这些隐诲的表
达是视而不见的。
这期间,因为读文献,读别人的code,也无意中看到了B的bug。是程序员都会出bug,
没什么大不了的。B也就是把hex转化为integer给弄成了每 4 bit乘以16。拿到这个
bug我并不知道该怎么做,因为B的各种争抢豪夺已经激恼了我。
接下来的一次team开会我便竖起耳朵、拿了 120 倍放大镜看C与组里的人如何应答,C
对B的偏坦态度让我很妒嫉又无能为力,而C对表姐的刻骨冷也让我难受。C是欣赏A的,
对D也都大面上过得去。而我们实习生在manager的眼里就是一阵风,刮过了就没有了,
而这风有没有刮过,manager或许也都不知道。似乎有一场战争,蓄势待发。
为了给自己争credit,在开会结束后B的座位上,我就给她讲了这个bug,她似乎有点儿
反应不过来,不明白这个bug是什么意思。事后表姐批评了我,“人家是senior,你一
个实习生,你怎么可以这么没大没小地当着这么多人的面指出别人的错误呢,这让别人
多没面子多难为情?”
后来C大概是为B出气撑腰吧,B schedule了一个meeting,大概是讲她的medusa项目的
分析实施方案。这个项目实际上也是A需要automation的一个test suite,到B这会儿要
讲时,其实A已经完成了大部分的文案备案工作就在subversion里放着呢。当然那天办
公室里的气氛已经很怪异,不知道来源在哪里。感觉上多多少少有点儿针对我吧,因为
B schedule meeting时说话的语气英俊潇洒、荡气回肠的样子,仿佛我成了一切麻烦的
制造者。那天在洗手间里我被公司里的气氛给逼疯了,躲在厕所里哭了。
但因为我心里对B有意见,向C汇报工作时跟我抢活儿抢功劳把我给抢烦了,而作为
mentor,她也缺少了可以真正征服我的知识实力和人格魅力。即使在她最熟悉的领域里
,她对待工作所表现出的一切都只是试-试、而不读文档、不去搞清楚原理的态度是我
不愿接受的。所以她的meeting,我最好的办法就是无视。后来知道表姐因为一直呆在
实验室里忙,也没有去;坐我对面的E少年老成察言观色也没有去,这样C带的一个team
6个员工就只去了一半,一个表演者,两个观众,三个没去的。感觉manager的领导很
不给力啊?
B的会结束后C 1:1 meet team里的每一个人。后来最终的解决办法是:E和我,我们两
个实习生也有了checkin subversion的权利,这就意味着我们可以公开、公平地竟争
credit,对我当然是再好不过的消息了。
d**********o
发帖数: 1321
77
实习(4)
周末的时候如同往年夏天我提了豆制品去表姐家玩。表姐问我干得怎么样?问B的关系
好么?我忍不住咬牙切齿道“笨死了,实在受不了她了!”表姐赶快问我怎么回事,怎
么到这种地步了?我便说了事实。周四一早就嚷嚷着说周五要用lab 里的station,她
是正式员工,我只是小实习生,她有活儿,我当然是赶快给她让地儿好让她把活儿干完
。周四中午就把自已的活清完,告诉她我用完了,station归她用了。她老先生从周四
中午就开始测,测到周五下午,就测一个SSD power on hours,连夜跑测了二三十个小
时,测不出来,还不知道问题出在哪里。这个Power on hours不就测试前记录一个
current power on小时数,再power on几个小时,再去拿一次数据读一下这时power on
小时数有没有更新么,更新的对不对?就这两个步骤,做一下加减法,能难到哪里去?
去帮她看code,人家抄别人test case,power on几个小时后再去拿读一次数据的这一
行code压根就抄丢了!两分钟就把问题解决了,就这别人还霸占实验台占了二三十个小
时!人太笨了不服不行,我对表姐感概着。表姐打击说,又过了三天两早上,尾巴又开
始跷起来了!我明白表姐要我不要骄傲,便不再说话,听表姐教训好了。
一回生二回熟,写完了第一个test case以后,我再写就多少test case都会感觉味同嚼
蜡,兴趣和毅力都少了很多。后来根据不同的company的需要,根据不同的firmware
release,写过上百个test case checkin到subversion里。但在我眼里,那些东西都不
能再叫test case,我只是一个Emacs长工做一天和尚撞一天钟,做着修修改改、缝缝补
补的活儿,拿一份工资而已。想要找到点儿自信心、成就感,那是万万没有的。
d**********o
发帖数: 1321
78
实习(5)
那天我们拥有checkin subversion的权利是C在我的cube里亲自告诉我的。那次1:1里
我对B不满的方面C后来的确是在B的cube里向她讲过,我亲耳听见的。只是讲话的声音
比较小,不知道B有没有真正听进去,还是会会意成别的东西。那天C还说会帮忙清理我
们的MSTK test case code,亲自管理B与我的任务分配,不会再让抢功劳、任务分配混
淆不清的事情发生。
后来B和我的test case累积了很多之后,我受不了了,所有的任务完成之后从来不结,
何时才能真正了结?于是建议B我们把第一第二版块的任务checkin吧。于是那天傍晚快
要下班的时间她拿着自己的笔记本到我的cube里,我们并排坐着她一步一步教我如何
checkin到subversion。等我checkin所有的步骤都完成之后,她说,我的这份code这里
不好,那份code那里不好,所以说,应该把所有的code完全清理好、清理干净再
checkin!
这里的我头已经10个大,100个大,1000个大,内心的怒火也无限放大~~C说她要帮我们
check clean code,但她毕竟是manager,不会有那么多的时间来帮我们做这些事情;
你是mentor,你至少如此教我么,为了报复,出你自己心头的怨气?
我心里起火,不是因为要清理程序,而是觉得你既然对我的程序不满,你早说嘛,干嘛
等到别人真正交上去了才说?清理程序的工作量对于我这样一个emacs爱好者来说根本
就不是问题,真正的问题是交任务的步骤不合理嘛!可mentor把你摆到这个位置了,改
也得改,不改也得改,于是自己subversion checkin有第一份checkin就这么出师未捷
身先死了(有了不少modified mark)。
d**********o
发帖数: 1321
79
实习(6)
后来我把写过的各个任务都陆陆续续checkin之后,到那时应该有不下五个任务了吧,
数test case的话多少也得有 50 个了。于是接下来的某天就迎来的E的第一个项目的
checkin,因为注意到A帮他review得很仔细,E接下来需要修改的几个方面、细节都说
得很清楚。
他们正式员工忙他们的,我们小兵玩我们的。我就跑到E的cube里,问他能不能帮我
demo一下他要交的项目,我很想了解一下啊,我的test case我已经写得手脚发麻、写
得山无棱天地合,急需更换新鲜血液啊。他见我这么热情洋溢、心潮澎湃,就向我演示
了一遍。很明显地,我写再多的test case,我没能从mentor那里学到多少东西,心是
空的;而他做的是一个类似一个小app之类的,需要、能够学到稍多一些的software
engineering新思维,这是我从B那里学不到的。
对E的项目,我是心生羡慕的,便睁着诺大的眼睛热切地问他,”Do you feel you
have learned a lot working on this project ?”他点头;我再问”Do you feel
satisfied (when the project is done) ?”他已经控制不住自己发自内心的甜美微笑
了,是的,学到了很多,他边点头边回答也边回问我,”How about yours, do you
feel the same way ?”被回问到这个问题,我终于是难掩失望与落寂,热情的肥皂泡
破灭了,脸上严肃起来,苍凉地说,我的工作只是重复一个个的test case, “I feel
nothing. I have no feel !” 病殃殃地回到自己的cube,一屁股跌坐在椅子里,心
里难受极了。
d**********o
发帖数: 1321
80
实习(7)
没有想到的是,伴随着我的苍凉,office里也变得异样的安静。这是一个欲求不满的实
习生的诉求,那种对知识的渴求、那种想要学习的欲望,或许这在每个真正经历过的人
心里都是相通的吧。
只是这事不久的一天中午吃饭,board里的一位长者那天坐进了我们的餐桌,据说这位
就是那帮忙把E refer过来的人了,就叫他老K吧。我们几个年表人,A、D、E和我,还
有D的一个小伙伴,我们五个年青人是常常混在一起玩的,一起吃中饭,一起周五的中
午出去淘宝、打捞好吃的,吃完中饭一起出去到block里走两圈,只是E是美国士生士长
的,语言思维都很活跃,他不喜欢跟我们走路。
Board里的老K都坐进我们桌上来了,那自有趋炎附势者同坐进来,饭桌上也就绝不会只
有我们五个。那天中午,老K给我们讲了两个他早年在中国人餐馆吃饭的故事。一个是
说,一天他们从老师还是谁家的party出来,他们一大帮人就去了一家中国人餐馆。进
去后他们点了单。后来服务员给他们端了一盘不是他们点的,那他们就赶快吃,后来服
务员要收那盘菜的钱,他们不满。桌上A是abc,D、他的小伙伴和我都算华人,只是D和
他的小伙伴是印尼人大概。讲完第一个故事后,我心里已然不快,只是没有表现出来;
老K的第二个故事我不记得了,但是是类似的情境。等他第二个故事讲完,我可能难掩
不快吧,也都没有说什么,大家也都站起来直接拿腿走人了。他是board里的人,我只
是一个小小实习生而已,我惹不起他这样的大人物,我躲还不行么?以后的日子里,虽
然偶尔K也会坐进我们小伙伴的饭桌,但我基本上同他没有任何正面直接接触。
额,后来看subversion history,看见E 第一个项目的checkin没有加label。因为是
app,他checkin了大概1000多个文件,里面应该有很多文件是属于driver本身自带的。
在诺大的history表格里,只有他这一行没有标题,不知道他是想要引起大家的注意,
还是真的只是忘了。后来他的checkin都加了标题,这是后话。
相关主题
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤博士还有两年毕业,今年要孩子还是明年要孩子
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
进入WebRadio版参与讨论
d**********o
发帖数: 1321
81
实习(8)
表姐帮我弄进去实习,已经是帮了我很大的忙。从开始上班后的周末,我还是老样子一
如既往地提豆制品周末上表姐家去。与此同时,受E和他的 mentor 的影响,他们都极
其热爱锻炼身体,我也为自己烈了一个锻炼计划,开始了自己的运动项目。我买了一个
呼啦圈,每天晚上500圈一个方向,我轮流转上个 5、6 次,周末一般都跑去hiking了
,效果还不错。
B会议前后的周末,我把小表姐也拉上,我们三姊妹一起去hiking了。就工作上的事情
聊天,但聊得不是很愉快。大概意思应该就是表姐帮我弄进来,我应该从物质上感谢表
姐。那是一定的,可此时的我并没有太多的资源可以感激她啊。如果我照着每个周去一
次豆腐店的节奏下去,我应该可以花掉$200吧。我现在拿的工资是需要秋天用来交学费
的,交完了学费,我就什么也没有了,连生活费也没有。而同表姐,来日方长。就像几
年前某个寒假表姐动了买房的心思时,小表姐搅混水说她一同事租别人house里一个房
间每月$800。若表姐真买了房子,只要表姐不原本$500的房租收我$1000,我又有什么
理由不同表姐一起住呢?这么多年来表姐因为照顾我也花了不少时间精力吧,若我们两
姐妹同住,表姐不喜欢做家务又有什么关系,我顺便多做一个人的饭菜又有什么关系?
但或许是我真的做得不到位,表姐显然多少是有点儿气的,至少在那段日子里,我是这
么认为的。
d**********o
发帖数: 1321
82
实习(9)
那天没有去开B的会议的周末,B、表姐和我都在公司加班(我在那里学习)。表姐气冲
冲地把我拉去了Costco为B买花,买了两瓶保健品,买了晚餐的食物和饮品,回到公司
表姐要我向B道歉,也因本质上我并不觉得自己错了什么,错了多少,我说不出来,就
始终没说。只是表姐这架势吓着了我,表姐又何至于要这样。就当是看热闹围观,也想
看一下就接下来的戏该如何上演。
我们三个在大会议室里坐着吃东西聊天。B是表姐refer进来的,我也是表姐refer进来
的,但我们俩个却合不来。看表姐把自己的姿态拉得这么低,估计B心底即便有多少的
怨气也早就消散了吧。
B很有自信,给我们讲她的故事。忆往昔,B也是位一等一的人物。我猜想B年轻的时候
应该是长得还不错、很有手段的抢手女。嫁给她老公随他出国,先去欧洲,辗转反侧,
来到这个国家。同那个年代的大家一样,三十多高龄转专业学计算机。 忙的时候也同
时做过两份工作,挣得比老公多,白天忙得累得要死,晚上回家继续同老公吵架;不同
老公商量直接打卡给自己爸妈买房。她老公也是个人物,晚些时候回国内发展事业,灯
红酒绿,几年都不愿回美发展。他们的婚姻,似离非离,离了没离,外人又如何看得清
楚?
d**********o
发帖数: 1321
83
实习(10)
So far,工作上表姐还没怎么真正在我最需要的时候帮助过我,除了帮我检查过一次邮
件,说我写的句子太长了,谁有时间读你那么长的句子?既然表姐待我冷冷的,既然表
姐逼我向B道歉,我又为何不能敞开心心悲、真正再给大家相处一次机会呢?B的cube里
还摆放着她往昔的奖杯,小兵我也很想看到她的神奇之处啊。于是那天,当被告知她第
二天要因公出去办一件什么事情的时候,我便略带讨好地打趣她说,“ 那你明天要不
要带上我去给你当小秘呀? ”这时我就发现了一个惊天小秘密:那个从来都声称自己
不会讲,听不懂汉语的A居然在一两分钟之内跑去表姐的cub e向她请教问题安慰我的表
姐去了,小概率事件 0.0001 ! 看来表姐同B不合的传说渊源已久,扎根很深啊。
而到这时,subversion里,除了我隔三差五地checkin MSTK test cases,B也做这个项
目,她是我们组里负责这个项目的responsible person,至少supposed to be。除了我
的第一次checkin修改过code,其它就都是一次checkin了。但因为C分配给我的工作她
会抢,她抢到我前面的她自己就会直接checkin,这中间也有我们的任务总是晚很久才
交上去的原因,她自己也常常会心血来潮想到哪做哪儿,还有就是各company的要求不
同,firmware release之间version版本的不同,结果subversion里MSTK test suite我
们两个checkin的程序就像拧在一起的两股麻绳,已然傻傻分不清楚 (一定要去细分也
应该还是能够分得清楚的,就是怎么说,缺少了条理性,即便想去分,也很烦啊),
office里异样的话语声响,昭示着大家正看我俩笑话呢 !
d**********o
发帖数: 1321
84
实习(11)
那天manager C是出差还是什么,反正是人不在。B和我决定都还再好好想一下。我坐在
自己的座位上、抓破头皮地想要把一切都回想清楚,也不知道B有没有什么好的头绪。
这时听见A在E的cube里问E是不是overwrite了A在Linux系统下的A的主文件夹? “You
should set the path point to your own main folder. ”
是的,这是同C一起竞争这个 manager 职位的 candidate ,只是在C胜出后屈居在C之
下做着 test automation framework 的工作。在C不在的时候,尽着自己的努力帮助自
己的同事,平衡一下team里的关系。这种能力后来在QQ群里偶一见钟情的一位大神身上
也有见到,这是后话,以后再表。
中午吃饭的时候,我们还没吃完,尖人早早地坐到了我们的餐桌。我们那天的话题自始
自终就是 about God 。因为那天同B的混乱,我蔫不呐叽的,尖人信不信教,我不是很
清楚,但他是同E一样,一起向A提问argue的。我吃自己的东西,默默地听他们聊天。
那天,E鲜有地加入了我们饭后散步的行列,但聊天 的对象始终是A,而聊天的话题依
然是 about God 。大概通过谈话、聊天和发问,可以彰显、证明逻辑思维的发散和精
深吧。我对自己的小伙伴感慨,” When the philosopher meets the believer, the
conversation is never ending~~ ”
l*******Q
发帖数: 1995
85
存平常心. 作本分事. 遇人遇事多感恩。。快乐不快乐存乎一心而已

You

【在 d**********o 的大作中提到】
: 实习(11)
: 那天manager C是出差还是什么,反正是人不在。B和我决定都还再好好想一下。我坐在
: 自己的座位上、抓破头皮地想要把一切都回想清楚,也不知道B有没有什么好的头绪。
: 这时听见A在E的cube里问E是不是overwrite了A在Linux系统下的A的主文件夹? “You
: should set the path point to your own main folder. ”
: 是的,这是同C一起竞争这个 manager 职位的 candidate ,只是在C胜出后屈居在C之
: 下做着 test automation framework 的工作。在C不在的时候,尽着自己的努力帮助自
: 己的同事,平衡一下team里的关系。这种能力后来在QQ群里偶一见钟情的一位大神身上
: 也有见到,这是后话,以后再表。
: 中午吃饭的时候,我们还没吃完,尖人早早地坐到了我们的餐桌。我们那天的话题自始

d**********o
发帖数: 1321
86
我会好好想想的~~
多谢啦~~

【在 l*******Q 的大作中提到】
: 存平常心. 作本分事. 遇人遇事多感恩。。快乐不快乐存乎一心而已
:
: You

d**********o
发帖数: 1321
87
实习(12)
后来一天周四还是周五下午,略为轻松,B带我在lab里debug一个test case。尖人看见
了,问我们在做什么,B便笑说我们在debug程序呀。因为B已经带我、在lab里教了我该
如何debug,所以接下来在office里,当C过来说她可能下周要出差,问起B的各种bug,
B说她还有好几个bug没有fix的时候,我已经全然领教过了B在coding方面的光荣事迹,
便为她减轻负担、自告奋勇地对C说,” If B can help figure out and organize
the ideas, I can implement them and finish the coding part. ”说这话时我们
站在B cube的走道里,B对面的senior也在,C和A都在,所有的人都认为我这实习生、
毛头小子又翘尾巴说大话了,却没想到最终是把B自己给陷了进去。所以接下来一个周C
出差,正像她之间说过的,她写邮件给B和我,要我debug B之前项目遗留下来的五个
test case bugs “under B’s direction”。
五个test case,一般的、简单的、有思路的,对我这样的Emacs coder来说根本就不是
事儿啊,因为MSTK那么多的test case摆在那里可以参考的啊,于是所有其它的test
case 一两天的时间里基本就全做完了,除了一个难的。那个我觉得难的B也有给我讲过
她的思路,但我读过文档,她那方法行不通,所以周二白天的时间我压根儿就没去code
她的方法,而是自己去读文档,希望能找到合适的方法。犹记得那天坐在lab里,B当时
也在,尖人像是从我们旁边路过,连问都没问我们在做什么,就直接说,”You guys
were debugging on Friday, why are you still debugging ?” 那会儿我已经读过部
分文档,最怕在自己真正遇到困难的时候遇上猪一样的队友,急火功心,开口便维护自
己道,”We are debugging, why are you laughing at us ?” 尖人问话的表情是取
笑的,我的表情是严肃的,坐B cube对面的senior正好从lab出来,看了尖人的好戏也
笑开快笑死了,而B却去给尖人陪笑脸说了什么blah blah两三句,然后尖人自己识趣地
走开了。尖人走后,B警告我说我这样会把人际关系搞垮掉的,要我说话做事注意一点
儿。
那个test case需要先修改什么地方(firmware, log page?这个不记得了,不是重点
)的一个bit,再测试修改这一bit 后某些读或写行为的正确性或一致性,但我们没有
找到有效的修改那一个bit的方法。我知道要用logSense或者logCommand中的一个来修
改,但这些命令的参数是怎么传进去的,我找不到现有的例子,仅凭文档里的理论,我
只学了一年,脑子就有点儿稀里糊途的。那天所有的压力都是属于我一个人的,一时间
喘不过气的时候还自己独自一个跑出去在block里转了一圈。
d**********o
发帖数: 1321
88
实习(13)
那个周二lab、office里的氛围是我这个实习生很笨,做不出suppose应该完成的东西,
还眼高手低、自以为了不起地说了大话,那天的自己真是压力山大!连平时我们一块儿
吃饭、一块儿玩的小伙伴A都因为压力在我头上顶着,他都不好意思中午再同我们(主
要是不想再同我吧)一起吃饭,自已跑出去在外面餐馆吃的,那天饭后的走路自然也是
没有的事。
B显然没能领略到我们的困难。她同任何人一样也觉得我笨,甚至对我说话的语气、腔
调都变了,意思是我只要把她的思路实现出来不就可以了吗?我不服啊,直接告诉她、
拿文档指给她看她的思路是行不通的。但她也不服,因为她这人不怎么讲理论。于是那
天晚傍晚、人群散后,我们就在实验室里把她很不服的方法用code实现了一遍,当然是
得不到我们想要的结果的。
于是我们agree,第二天早上来上班后就请教别的team的人。这是她一贯的行为方式,
但凡我们不会的时候,不是学习、试着自己去解决问题,而是去找别的team的人帮忙,
全然忘记了这个是她自已的项目,她才是那个应该全权负责这个项目的人,她supposed
to be这个项目的专家才对啊。
于是第二天早上,我们两个惨不兮兮地跑去别的team问,那个印度女孩子也轻描淡写,
略为不快,可能因为前一天办公室里的氛围已经那样了,耻于告诉我们答案吧。B自己
还想走开,我已经用中文对她说了两次,“你不要走”,而她还在继续坚持打主意想要
逃跑时(试着挪开脚步远离火灾现场),我也火了,直接用英语对她说,“ C asked
me to fix the bug under your direction, you ARE leaving it to me !” B没走成
,但印度女孩子也有会议要走开了。
d**********o
发帖数: 1321
89
实习(14)
后来那天lab、office的氛围终于又变成了,不是我实习生不会做,是她mentor自己都
不会做。表姐有着抑制不住的开心,这大概是她俩不合的渊源吧,我所体会到的,B既
喜欢抢别人的功劳,至少从表姐手里也抢过,又喜欢抢项目,至少从表姐手里也抢过吧
,从别的team里有没有抢过就不知道了。真正能力强、能者多劳,别人也没话可说,但
她抢到手的项目却又都大多行百里者,半于六十,一遇到艰难险阻,总需要别人为她收
拾乱滩子。B还喜欢抢机器、霸占机器,实验室里一个station不够,还要自己cube里
backup一个,也听说过她因为霸占实验台太久,又不出活被别人当脸骂占着茅坑不拉屎
。B作我mentor最开始的时候,有时她必须得用lab实验台,我就坐她座位用她cube里的
station,后来同她的关系越来越糟糕,她的座位我就再也不坐了,我们只需要有必要
的工作上的往来就可以了。
于是那次等C出差回来,我们fix了几乎所有她临走前布置的bugs,除了那一个攻不破的
没有完成。这也是B几个月时间累积下来没能及时完成的任务。有时候想想也会觉得很
奇怪,这么简单的事情为什么还要拖几个月,这点儿coding对她来说就真有那么难吗?
后来暑假快结束同表姐聊天聊到这样事情的时候,表姐问我这件事后来是怎么了结的?
我告诉她,我是实习生,我经验不够、做不出来情有可原;她是mentor ,又是她自己
的项目,她也不会,我能有什么办法?那是office里第一次浩浩荡荡的同仇敌忾大氛围
,别的team不帮她,她有什么办法?后来是我实习第一餐午餐同表姐聊天的女华人
manager(她是firmware的manager,负责那些firmware release和相关的bugs)会意上
层旨意后给她面子,上B的座位去找她,哈哈哈哈大笑说,那个东西原本就做不出来,
做出来才奇怪呢(座位与B相隔不远,坐在座位上的小兵偶听得满头黑线,那哈哈哈哈
大笑声,偶这个耳朵带点儿聋的都听得犹为刺耳,好不好?)!
d**********o
发帖数: 1321
90
实习(15)
当然,这次的buggy事件,也让我真正领教看到了B的神奇之处,那就是虽然她对项目困
难、钻研不透、无法深入,但她很乐观。在第二天周三早上,当我把自己前一天所承受
的所有压力都归还给她之后,她还始终为自己制造机会、给自己找借口借话说,“我有
很多priority,这只是我很多项目中的不重要的一个而已!”这也是一位很有热情的实
干家,coding方面确实很弱,但凡是command-based, interface-based 项目她都可以
拿出她 120 分的好奇和热情尝试下去,直到有一天厌倦为止。
这件事情结束之后,有天傍晚快下班的时候,我上尖人的座位上去找他聊天,跟他开玩
笑、劝他说,他以后要学会正当防卫,解释说那天我正高压运转,如果当时我手边有石
头或者剪刀什么之类的话,我可能会做出对他很不利的举动来。他笑说他相信我不会的
。然后我们聊土豆,各种各样的土豆、各式各样的做法,土豆丝、土豆片、土豆泥,炸
的、煎的、煮的、炒的、凉伴的。他说他喜欢吃土豆,希望下次我们见面时我能帮带
giant potato给他,我答应了他,好的 ~~ !
与尖人,我们几乎没能在任何事情上达成一致,除了一次晚饭饭桌上的聊天。那天我们
一大帮人坐成了一个大圆桌,聊到他的女儿,他强调说,父亲在女儿心目中的形象非常
重要,会直接影响到女儿将来的择偶标准。显然我被这个话题吸引住了。他接着说,为
了防止他女儿变得stupid,他想做一个好父亲,要为他女儿树立一个好傍样,希望他女
儿将来能够找到一个像他那样稳重如山的好男人。 回想自己成长过程中同父亲的关系
,回想自己心目中最初的以表哥为模板的小混混男朋友形象,突然就眼眶有些湿润,点
头冲他说,” I can’t agree with you more~~ ”。
相关主题
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
请教一下各位教授郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙
offer选择,请支招求助,我该接受这个教学职位吗?
进入WebRadio版参与讨论
d**********o
发帖数: 1321
91
实习(16)
日子还在一天一天地过,若真像manager C出差那周一样任务分明,B不抢,我或许也就
没有了那么多的烦恼,至少没人跟我抢啊。而E也是慢腾腾不知道在折腾什么东西,也
没见checkin任何任务。而更主要的好消息是,我接下来的小项目是用python做B
medusa项目的一个plot。B对我讲时,她的目的是希望我最终能做出一个类似user
interface的界面,这样从这个界面里可以直接选择多个文件,随便挑选两个变量来将
多个文件的plot图形叠加在一起呈现在一个plot图形里。
前面提过了,这个medusa是A test automation的一个test suite,而A是用python的专
家。这至少已经意味着我可以同A有更多的接触,能够有机会从A那里学到更多的知识。
其实,老老实实承认的话,我还从来没有真正自已主动地写过python code。因为虽然
上学期我导师的算法课用的是python编程,但因为我只是旁听,我没有写课后作业、要
上交的作业,期中考试也没考编程,所以我的python也只停留在旁听课程时抄大屏幕上
导师的笔记而已。但挑战也是机遇,不是吗?这就真正意味着我的生命开始鲜活起来,
我可以开始真正学习接收新知识了!
但我没能想到的是,因为B几个月累积下来的bugs在C出差的那前几天被我们全给做了,
她在office里的地位、影响都受到威协,而她同我抢活干,抢credit的心这时却有增无
减。
d**********o
发帖数: 1321
92
实习(17)
盛夏的花期正好,而我学习用python编程的干劲正足,花不醉人人自醉。最开始熟悉这
样一门语言,学着debug一些小毛病还是稍微费了一点时间的,最开始完全不开窃的时
候,D和A都有帮助过我,B自己不会python,她也还想学来着。D帮我解决问题时给我更
多的是鱼,而A则是授人以渔。
很快单图的,就是一个图只画同一个文件里的两个变量的图的代码就写好了,要不了几
个小时,但当我从多个文件来读同样两个变量,再把这多个文件的图形放到一个里面的
时候,脑袋就有点儿转不过来了。这个可就不是简简单单的程序语言的bug了,这就涉
及到理论基础了。前面讲到过,我的CS120、CS121分别是一个TA学生和硕士学历的讲师
讲的,讲得并不深入,而面试时虽然我近似于背答案答出了问题,但在这 code里,我
的object与instance之间就变成了一片混乱。
因为我请教了A,那天傍晚A坐在我的cube里,在我的笔记本上帮我写了个例子。几个不
同的 object,几个不同的member function,几个不同的instance,通过一些不同的
操作,A帮我稍微讲解了几句之后,要我回答哪些instance的特定函数调用会返回什么
值。毕竟还是理解过,虽然是当初没能理解透,但经A这么一语点醒梦中人,瞬间就明
白了这些不同概念之间的相互关系了~~ 所有他列在例子里的问题就都答对了。
就在A在我的cube里帮我理清这些概念的时候,site里其它组的一个中国人还到我的
cube里来找A,站在那里问A某个test相关的问题。补充一句,A比我早到一两个月,我
去实习期间,早期有听过他两三次例行月(半月)报,文档、幻灯、coding和归总,都
做到有声有色。到此时已经automate多个test suite,已然成为了这个site的不可或缺
的核心人物。这几乎是我最后一个月(加上同B overlap的时间,不到五个周吧)实习
时间里A花时间在我的项目上最多的一次,但这也架不住有人会故意放大这一点儿。那
个中国人离开后,A帮我点通我理解后,他也就离开了。但那也是让自己最觉寒碜、最
为愧疚、自惭形秽自己基础知识薄弱的一次,后来同A所有的项目,我基本上都是用后
天的努力弥补了先天的不足。
d**********o
发帖数: 1321
93
实习(18)
那次Bug风波后的组会上,C依然是对B百般呵护。B迟到在lab里忙,C要我去找她。我去
把她请回来来到会议室里,B的任何话语、任何建议都弥足珍贵,C没有否定对B的任何
语句;而C对表姐的态度却不明所以地冷。E和我在C那里应该就是空气,她呼吸、看得
见,但她视之为无物。也不得不承认,A是游刃有余的,百炼成钢,还具备了柔韧性,C
的问题、组里状况百出,他则随机应变。
那天周五快要下班时,大概五点钟左右吧,可能是C在下班之前,发了邮件给我,cc B
要我implement B在这次会议上提到的关于subversion上MSTK test suite的一个什么
flag类的东西,感觉更偏重于subversion,而不是MSTK或是test case, coding一类的
,我没有头绪该如何做。收到邮件,我第一时间光速跑到lab里找到B,周五的下午lab
里还坐了不少其它人在做项目。我对B简要描述了我的新任务,她说,那个应该不会难
,但她今天有事需要早走,过会儿就走。她说,等她周一再指导我该怎么做。
是的,对于这个没能从她身上学到多少新知识新思想的mentor我一直还都是百般依赖的
,怕她有什么好东西藏着掖着,不教给我;也怕她老先生像我第一次subversion
checkin那样背后使拌子。而后来跟着mentor A,反倒是每个项目都是在自己独立完成
之后,再请A帮review idea和提高提升的,这是后话。
我信以为真地等待着周一到来好work on new task,但第二天――这个周末发生的事情
却直接导致了下一周的风起云涌,有些心境注定是回不去了。
d**********o
发帖数: 1321
94
实习(19)
接着这周五的周日,中午偏下午我去公司学习,看见了B周六还是周日早些时候发出去
了邮件,不用说,大家猜得到,她把周五下午C分配给我的活抢着已经干完了,邮件都
已经发出去了,倒是没忘CC给我。
回想我周五下午同她打招呼时,她信誓旦旦说过的话,我那个火大呀,无以言表。C也
有给B分配任务,是关于一些什么bug的,cc了我。既然B怕困难,不去干原本属于她该
干的活,偏要来抢我的任务,那我不怕困难,我也抢不赢她,我去干她不想的脏活累活
好了。周日下午,气头上,我给C回邮件,cc B,告诉C,我的任务B又抢了,因为她抢
了我的事情让我没事可干,那我去干她的好了,”Even though I am not sure I can
fix those bugs yet, I want to try. ” 临了,还说,”By the way, I need the
Bugzilla history in order to fix those bugs. ” 我没有Bugzilla的账户,而要去
fix B的这些bug,我需要这些bug的history,哪怕是text的也好,好歹那些纪录可以帮
助我追踪朔源,找到问题的所在。
因为邮件不止回给C,cc B,给C回邮件时,C原邮件里原本有多少账户,cc了多少账户
,我也就回了多少账户,cc了多少账户,所以周一早上,office里的气氛早就奇怪开了
,因为我给C邮件里的语气火气可能是难以控制的大,应该是大到C不应该再忽视的程度
了吧。
d**********o
发帖数: 1321
95
今天太忙, 没时间写, 明天再更新 ~~
d**********o
发帖数: 1321
96
实习(20)
因为我已经开始在写python程序了,因为我同A的联系也相对之前来讲也多了起来。而
且仔细去想一下,B自己都不会python,为什么她会安排我这样一个她并不擅长的项目
呢?怕我把从她那里学到的东西教给表姐?表姐已经是不少项目的灵魂人物,她压根就
不需要B的那么些七里八里的东西呀?我敏感的嗅学就嗅出某种可能性来,很神往啊。
于是就等到某天半下午一两点种,E跑到A的cube去问问题,我原本是还在做一个什么别
的项目的,见状就即刻停止了手上的工作,赶紧去翻自己最后这个python项目,看看还
有什么问题,还有哪里不懂的,打算抓住机会紧挨着E去问A。
E也很给力呀,下午黄金时间请教问题也请教了二十分钟左右,这样就给了自己足够的
时间可以准备好要问的问题。万事俱备,只久东风,我等得花儿都快谢了~~ A的cube在
我同一走道的斜对面,E的问题一问完,E一从A的cube里撤出来,我就凑上去了,跑到A
的cube去问他我刚刚准备好的python项目的问题。当然早说过了,A也是游刃有余、十
分聪明的,明知道我这个无奈瞅准机会、算着时间走进去的,当然会以自己忙没有时间
,建议我去请教B的回答把我给挡回去了。这缺的就是一道过继手续嘛~~:)
d**********o
发帖数: 1321
97
实习(21)
给C发邮件后的第二天周一我在lab里忙,C先找到我,单独问我周五快下班时那个任务
到底是怎么回事?我便说了是B周日抢着做了,并且把我原本正确的MSTK test case 给
改错了。C说是这样吗,她要我把test的结果准备好后给她看。那天我是在lab里度过的
。C同我谈话后不到一个小时,当C再从lab路过的时候,我就把B改成错误的test的结果
show给她看了,error message什么的在lab station的台式机上显示得清清楚楚。
必须承认,那场事故,对我俩打击、伤害都挺大的。当时的我们、至少是我,是没能意
识到B的身后有着宠大的支撑体系的;至于B自己,我不是她肠子里的蛔虫,她的想法我
也不是很清楚。B是当时就有点儿懵了,不敢从subversion check out一个版本来测试
;我是胆子大、理直气壮,虽然对我的打击也是后序的、深远的,后来的自己源源不断
地承受着这件事情的余震伤害。
在当时的自己看来,这些都是老问题了,就是因为你抢,你忘了,你的meeting别人都
没有去参加?meeting后1:1上我向C反应过,C在B的cube里对B讲希望B以后能注意一下
,我坐在自己的cube里亲耳听见的C对B讲过。后来C给我分配任务就真的像她自己说过
的很明确了,该是谁的就是谁的,为什么你还要抢呢?
这样那个周,前半周我气场强大,在这明抢面前,她理亏;但后半周却不知不觉间、无
声无息间B就变得更顺畅了,因为大老板出来给她撑腰,那个site里最大的manager出来
同office里的人谈话,就在office里谈,谈话的对象还不是任何manager,而是平时
office里比较会察言观色的人(意味着鼓励他们搅混水),来调动office里的氛围。这
氛围为什么就这么像是针对我的呢?这时我的实习已经差不多过了一个半月,还有三四
个星期的时间学校就要开学了,为什么这一个半月的时间我就没觉得自己真正学到什么
东西呢?不服啊不服,心不甘情不愿地,我跑去老虎机用一个quarter买了袋甜薯片回
到cube里,那site里最大的manager就在office cube里同别人谈他们的,我坐在自己的
cube里吃我自己的,嚼着薯片必要时发出人类咀嚼它应有的声响,这心理实在是不平衡
啊,实习生在公司里就是注定要这么被无视、蹂孽的么?
d**********o
发帖数: 1321
98
实习(22)
后来C应该是看出了我的不满,我嚼薯片的声响所表达的不满site里最大的manager当时
应该也不难看出来吧。周四的晚上,白天里那个这整个site里官衔最大的manager把我
叫到他的office里去问话了。
他问我是不是出什么事情了,我原本还有点儿不太想说话,可当他再接着问我是不是在
这里做得不开心时,白天自己在office里的那份不满不服就瞬间化作滚滚泪水、噼里啪
啦、大珠小珠落玉盘了。Manager安慰我说,不要害怕犯错误,实习生在这里 ”
suppose to make any kind of mistake they want ”。我有点儿云里雾里、不明所以
,便直接对manager告状说,我在学校里拿不到credit,我想通过工作来检测自己,但
是B同我抢活儿干、抢credit,两个人像拧在一起的麻绳一样,我讨厌别人跟我抢、纠
缠不清,虽然后来C帮忙勒令分开,但B还是那样抢,而B的工作方式、不求钻研、遇到
困难的行为方式都是我不能认同的,从她那里我能够学到的知识、idea和能力都很有限
,我对我和B这样的关系很失望痛苦,我有点儿同她干不下去了。
见我已经这样了,manager竟然是在第一时间立即先自己认错,说没能分配得力的
mentor给我是他们的错,让我很是惭愧,心有戚戚焉,一时间我不知道该说什么话、该
如何表达才好。manager紧接着就问我,那我想同谁干,team里还有A、D和表姐,他帮
我把这些组员的名字都列了一遍,见他问我问得很真诚,我也就很直接地表达说,”
If I really have the chance to choose the mentor, I DO prefer working for A.
” 听我说出这话、作出了选择后,manager立刻就同意了,说他会同C讲,明天就换!
a********3
发帖数: 26787
99
哇。。。更新了好多。。。
妹纸这是日记么?还是写作?

【在 d**********o 的大作中提到】
: 实习(22)
: 后来C应该是看出了我的不满,我嚼薯片的声响所表达的不满site里最大的manager当时
: 应该也不难看出来吧。周四的晚上,白天里那个这整个site里官衔最大的manager把我
: 叫到他的office里去问话了。
: 他问我是不是出什么事情了,我原本还有点儿不太想说话,可当他再接着问我是不是在
: 这里做得不开心时,白天自己在office里的那份不满不服就瞬间化作滚滚泪水、噼里啪
: 啦、大珠小珠落玉盘了。Manager安慰我说,不要害怕犯错误,实习生在这里 ”
: suppose to make any kind of mistake they want ”。我有点儿云里雾里、不明所以
: ,便直接对manager告状说,我在学校里拿不到credit,我想通过工作来检测自己,但
: 是B同我抢活儿干、抢credit,两个人像拧在一起的麻绳一样,我讨厌别人跟我抢、纠

b*s
发帖数: 82482
100
日记也是一种写作,书信体,日记体都是文学体裁……

【在 a********3 的大作中提到】
: 哇。。。更新了好多。。。
: 妹纸这是日记么?还是写作?

相关主题
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
101
这纯属吐槽无力呀~~~

【在 a********3 的大作中提到】
: 哇。。。更新了好多。。。
: 妹纸这是日记么?还是写作?

d**********o
发帖数: 1321
102
博士谬赞了,其实我连话都说不清楚的~~

【在 b*s 的大作中提到】
: 日记也是一种写作,书信体,日记体都是文学体裁……
d**********o
发帖数: 1321
103
实习(23)
第二天上午,C 1:1我、B和A。C对 我讲,换了mentor,要我不要给B太大的压力,说换
mentor在实习生的实习过程中也是很正常的事,大概是说希望不要打乱正常的工作氛围
吧。到中午吃饭时间(到12点零几分了应该是),C应该把我们三个人的会议都开完了
(A是最后一个,我第一个,B在中间)。只是那天已经是周五,我同A以及B都没有表现
出同以往比较有任何的异样,真正A mentor我的启动应该是从下个周才开始吧。
那天中午在lab里,其实那时B同我走T台去找问55℃的女士确实有问过我,说那天她们
组开会,老板帮她们订了三明治,问我要不要同她们一起吃。我对来自这位女士的这样
一个问题感觉很奇怪,但还是直接回答说,她们组的人我都不熟悉,我们小伙伴也已经
约好去headquarter总部吃汉堡呢。后来D因为等不及我们开会,也早已经同他朋友约好
了时间,D便先去总部会他朋友了,等A也开完会( 12 点多钟),我便搭他的车同他一
起去总部大家会合了。额,想起来了,D的小伙伴那天在那位女士team里开会,所以不
能和我们一起;那天早上E没有来上班,半下午可能离下班时间两三个小时来的吧,那
周前半周的什么时候他有问过我这种情况需不需要向manager请假,我很意外,那种假
有什么理由可以不用请的么?当然,我并不知道他最终有没有请假。那次是E唯一一次
没有加入我们周五的午餐。
那天换了mentor(这还直接导致了一两周后我生日时一件很开心的事,以后再说),原
本是一件非常开心的事情,但接下来的下午在实验室lab station里我独自走完的一步
却深深地震撼了自己。
d**********o
发帖数: 1321
104
实习(24)
那个周五的下午,因为换了mentor了,以后同B共用的那个实验台我应该就不会再用了
。我在lab里整理自己的实验台、文件夹,不必要的文件、过程文件也需要删除掉了。
那天下午,当我用公用账号(至少同B share,别的team的好像也有人有这个账户,比
如那个55℃的女士,但总共有多少人用这个账号我就不知道了,这也是我所拥有的这个
station的唯一账号)login我平时用的lab station的时候,机器上显示的界面是
Visual Studio C++ MSTK test case的测试结果的界面,上面有error message,这个
test case正是这个周一我显示MSTK subversion checkout B修改后的结果给C看的那个
,出于好奇,我去追踪了一下这是谁的test case,居然是我自己的!试着去想一下可
能的原因,脑海里就会马上想起一个事实:就像Google chrome Settings有一个选项是
On Startup, Continue where you left off,这个station Visual Studio C++的
default选项是Continue where上一次test case停留的地方。而当我把build/rebuild
project/solution生成的.exe删除掉后再重头开始build,我就得到了我自己想要的结
果。我是一个Linux/Emacs person,在此之前,基本上所有的作业、项目我都是在
Linux下用Emacs code,用terminal g++/gcc command line debug的(假如要print out
什么变量,Emacs macro用起来也很方便),所以当这样一个看似station公共账户造成
的B与我始终拧在一起纠缠不清的假像,实则暴露了自己对IDE环境不够熟悉、更甚一点
儿,对程序语言的compile、运行原理没理解透的事实。
那么究竟是从什么时候自己开始忘记这一点的呢?我努力地回想,上次debug B的五个
test case我都还是记得的,应该只是最后一两个星期的事情。于是那天下午我一直坐
在lab里,处在新旧mentor更换的交接棒上,我把自己最后两三个星期run过的test
case都再run一遍,检查一下我还有没有其它test case在测试的时候被自己遗忘了这重
要的一步。当然测试的结果正如自己所回想起的,也只有最后这次B修改过的这个。
d**********o
发帖数: 1321
105
实习(25)
刚刚过去的同小伙伴们一起出去打捞美食的欢声笑语犹在脑海里,这份摆在自己眼前的
错误对我来说来得实在是太意外,意外到毫于防备、吐槽无力。那天明知道自己从下周
就要换成A是mentor了,但认识到理论上、知识上,自己还是错了,我独自一个人在前
半截的lab里连续坐了几个小时,坐到下午五六点钟,心里说不出的难受。
这次事件再次证明了,B和我就像两股拧在一起的麻绳,浑然一体,傻傻分不清楚。她
可能遇到一件她比较拿手的任务,兴致一来,她就动手把它给做完了,虽然她忽略了那
任务是分派给我的事实;而且那份任务的出土建议也原本就是她自己在先前的会议上提
出的,她或许真的只是在她熟悉的领域、任务上有太大太多的热情吧,我应该试着去理
解她的。
这个错误 错得如此戏剧、离谱,让我也禁不住去问自己:究竟是什么原因让自己一开
始就那么坚定地一口认定一定是B错了,而对自己就不曾有丝毫的怀疑呢?答案是明显
的,是人际关系的失败! 在我们数不清的T台来来回回里,在发现B的bug里,在二三十
个小时的power on hours里,在(她cube里)同她一起work on high priority command
-line based task她读题目要求粗心大意里,在fix她遗留下来的bug里,在她完成了发
送一封社交礼仪邮件仅仅告诉其它相关人员station is available and ready for fix
俨然完成了一件壮举里,我对她从来都没能真正建立起平等、尊重与信任! 与此同时,
没有了表姐的唠叨和叮咛,我的心在膨胀,我的骄傲也在膨胀~~
那一次那个最终摆在自己面前的错误是整个夏天最让自己振聋发聩的教训,一年后的今
天当我再回忆这段经历的时候,依然感觉自己心在滴血,地上的血流正汩汨地流淌着~~
它让我认识到新转专业的自己基础知识是多么的不足,也认识到自己那该死的骄傲。
在浩瀚的Computer science领域里,一个人第一年里能够学到的知识是多么有限,个体
的能力、作用在历史的沧河中又显得多么渺小。
d**********o
发帖数: 1321
106
实习(26)
(回忆起来的时间、事件顺序可能稍有错乱。) 到接下来的周一,我的python项目的第
一个overlap小任务一一从一个文件里画两个变量的图就早已完成,等待A帮我review了
。大概是周一还是周二的中午,吃罢中饭(走罢那两三圈的路大概),A就帮我扫了两
眼那个程序,一个学生的第一份python code能好到哪里去,其乱无比倒是可以想像。A
就稍微帮我点评了一下乱在哪里,可以从哪些方面改进一下。比如,这份程序目前只能
应用于这样一个小任务,怎样才能将这样一份程序变换成一个可以将来被再利用利用的
module?我应该绝大多数时间还是比较清楚自己在做什么的吧,所以明白他的建议后,
便轻描淡写、去留无意地说,就是把现有的那个程序改成为一个module嘛,然后再将两
个变量的名字以string的形式传进去就可以了啊,好说,”It should not be that
difficult. I think I should be able to finish it within about one hour !”
说出那样的话并不是因为自己还在骄傲,而是有着好不容易、费了这么大的周折、费了
九牛二虎之力,终于A也成为了我的mentor的欣喜若狂,哈哈~~,多想,能有机会从他
那里多学一点儿!我步伐轻快,追着,跑着~~
说那话时是中午两点钟左右。我想着尽快把这点儿活儿给干完了结,好让A再帮我布置
新任务、新项目,但显然,我严重低估了它的难度,改的过程中出现了各种各样的问题
。到三四点钟的时候,平时还比较有毅力的自己就有点儿沉不住气了,跑到lab里去找A
,当时,B对面的senior也在lab里,” I cannot do it myself! It’s beyond my
ability. ” 我向A抱怨着,或许真的是给做烦了,senior抬头看了眼我,” You
cannot do it, can you ?” A稍微严肃地看着我说,语调升起来,语气略带节制,说
等他忙完帮我去看看,便再也没有了多余的话,去看他的屏幕忙他的事了。我凑在他旁
边呆了会儿,终于无趣地跑回去继续自己苦难的历程了。就好像说,遇到问题,整了几
下,感受到压力,我会先喊“偶先疯了~~~~”,但喊完疯完减压之后,终究还将继续前
行~~
d**********o
发帖数: 1321
107
实习(27)
那天傍晚A下班走得稍晚,平常他五点多钟就可以下班,那天快到六点钟他必须该下班
的时候,他来到了我的cube问我之前问他的问题有没有什么新的想法和进展。不知道那
个时候的senior走了没有,B还没有走(刚才还听见她说话来着),D一般都在,表姐应该
也还在的。因为我们那个site实际上晚上是有简便晚餐的,有不少员工会因为晚上还有
活儿想再多干一会儿也是常有的事。
A来问了我,我便抑制不住解决了问题的兴奋,开开心心地告诉他,我所有的问题都解
决了,module改好了,该传的变量也传进去了,该画的图也都画出来了。我告诉他,”
Once I point my test file to the right place, it works! ” 他看了一眼我那
一行point to the right place的代码,便也被我的快乐感染得笑了,说我的问题解决
了就好,他今天有事要早回家,明天再帮我review。
那天下午后来,虽然我回到座位后不久、早就把自己的问题解决了,但我心里还是很感
激A替我考虑、给我足够多的时间让我试着自己去解决问题。A是非常优秀的,除了语言
好、文案工作做得好,编程方面硬实力也特别强大。当这样一个mentor对我说话略有严
肃和节制的时候,我能意识到自己的不争气,没有人愿意教不努力的学生,也没有人想
做孺子不可教的学生,何况我遇到的是高人大神。那是我第一次也是最后一次对A说 ”
I cannot 。。。” ~~ 印象里E开始时有走到过A的cube里问他某个什么步骤应该如何
做,不知道问的是不是我今天这个问题,但是我明显地感觉到,这合作之初的第一步小
小考验坚实地奠定了我们合作时信任和相互理解的基础。 后来也发生了很多事情,我
的脾气也不太好,但我们之间的信任和理解从来都不曾真正被打破过~~:)
d**********o
发帖数: 1321
108
实习(28)
过了这么些天,我之前心施神往想A mentor我时A的拒绝,加上昨天A也帮稍微点评了我
的程序了,到这时大家也就大致地猜测到我真的换mentor换成A了。office里那么多懂
得察言观色的人,加上B一贯的表现和前段时间刚发生的mentor自己也不会的舆论压力
,虽然site里manager、各大头目竭尽全力地帮她平息那件事情的后续影响,但毕竟那
次影响也太大了,现在自己又果真换了mentor,B这几天的日子大概并不好过吧。于是
第二天A帮 review我的项目就成了我当时想像之外的另一翻模样了。
我的时间不多,我只有三四个周的时间学校就要开学了,我多想回学校之前能够多做几
个项目,真正从A那里积累一点儿工作经验。但A总是很慢,这不,一个等待review的小
任务一等就又等到周三周四了。A批评我说,你不应该总是想着、急着把事情做完,而
是应该享受做事的过程、在这个过程中真正学到知识、提高能力。如果你每一行程序都
是由自己originally想出来,那要比你去参考网上的例子、抄别人的程序来得快的多、
有效得多,你也能理解得更透、学到更多。
A帮忙给我review,原本该是开开心心的事情,但真正review过程中我却感觉A帮我
review时总想找理由批评我。虽然我这人对待别人的批评天生敏感,感觉特别刺耳、难
以忍受,但是对于A,我有太多的欣赏、羡慕和敬佩,我努力地去相信A对我说的每一句
话都是对的、是对我好的,于是我便自愿分享了与他的一致意见说,是的,其实昨天如
果我不参考你的程序,不把你程序里的 ” @staticmethod ” 也抄进我的module的话
,我就不用多花很长时间来debug这一步了。A见我神回复、居然还有这么一段插曲,很
开心地笑我问我说,现在明白static method是怎么回事了吧?我狂点头呀,是啊,花
了好长时间才找到、明白这个是源头,再不明白,我可以去找南墙撞死算了啊~~
d**********o
发帖数: 1321
109
实习(29)
那天下午A帮我review批评我之后,B是非常开心的! A帮我review完后我就捡起书包、
离开公司了,那天晚上我没在公司吃晚饭,跑到外面吃了越南面安慰自己,人群背后我
也哭过。辗转再回到公司,尖人看见我了,A那天居然还没有走,当时应该已经是七八
点钟、快 8 : 00 了吧,看我像霜打的茄子、A便把我领到会议室开导、安慰了我一会
儿,才离开公司回家。开导是开导,安慰归安慰,可能是个性使然,A的那第一句话我
当时听得似懂非懂,到我真正做出这样的改变、意识到自己真正有了这样的改变已经是
好几个月之后的事了。
第二天我依旧九点钟来到公司坐定;九点半钟,大家到得差不多了,尖人并不常与我们
打招呼,但那天尖人的问候如期而至,” When does your school start ? ” 我猜想
过他会敲我两下,准备好的答案还不会说? “It’s weeks away. I enjoy working
here! ” 是啊,从什么时候开始,工作开始变得有乐趣?从什么时候起,A的批评也开
始变得有价值?这些体验,为什么这前一个半月的时间,我就没有真正体会过?B这一
天蓝天白云般、清清白白地非常开心。对她,我真的开始茫然不知所措、无语了。
检讨自己,我可能真的是在公司里太安静了,所以赋予了自己不该有的吸引力, 这些
是没必要的。于是,那天快是午,当A到我对面E的座位去问他一个什么想法的时候,我
不再去听他们在讲什么,而是就坐在自己的座位上打电话问自己那次04/08/2013 看医
生账单是怎么回事,收费收了一次又一次,把人都搅晕了。那天中午,A又一次没有在
公司吃午饭,我就奇怪了。当人们开始怀疑我俩因为昨天的批评心生嫌隙的时候,我已
经开始满世界地寻找这个人了,开什么玩笑,怎么可能 ?~~
d**********o
发帖数: 1321
110
实习(30)
当然那个 “point to the right place”只是A考验我的前奏,后来用了正规建module
的方法(在文件最开始的地方from … import …)。那个overlap的从一个文件传两个变
量plot的小任务完成之后,A开始练习我读code。先前他的项目进展会议上他demo他的
test automation framework的时候,我问过他我们MSTK test suite automation的一
个问题,现在,他留了MSTK一小块给我做,就是那Visual Studio C++ run MSTK会生成
log文件,但在他的framework里,这一块因为某些原因他并没有整合进来,所以我需要
读他的code,在必要的地方作修改,把log文件插入进来。
E从实习第一天起就跟着A,这时已经check in一两个相对比较大的项目了;而我,学习
python这门语言才刚刚开始。Office里一个有点儿bully的老美manager那天下午甚至时
不时地清理喉咙发出声响 ( 第二天有了环境反馈他才没再那样 ) 。那天接到任务后我
就开始读code了,大部分的code很快基本就懂了,但在A run MSTK test suite的结果
的最后有一行小字引起了我的兴趣,大意是说,detailed log file can be find
somewhere(接的是像C:\Users\...这样的路径)。我就想这个东西一定在A的
framework的somewhere写着呢,可写在哪里呢,那天吃过中饭,我就去翻他的code。二
三十个必要的文件都读过了,但踏遍铁鞋无觅处。两个小时后,我开始猜测应该不是我
找不到,而是他的code里可能压根就没有,正好A从lab走到大厅里,我便上前问了他一
下,他说,” There is nowhere I have written that sentence in my framework !
” 我可是硬生生花了两个小时高效运转去找这一行程序,很冤枉啊,” I want my
two hours back ! ” 感叹着自己浪费过的时间,可我还是想多了,那manager的声音
还在继续,A会不会是安慰我才这么说的呢?于是乎,我又跑去把他的程序用了大半个
小时左右的时间又翻了一遍,才去想自己新项目的思路。第二天同样的问题在lab里找
到他又问了一遍,这时A快要起火了,我向他正式道歉,彻底打消了这个念头,可我心
里就是不服啊~~ 带着自己的唯一的疑问,所有其它的思路我都想好想清楚了,幸福开
敲~~
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
老印还挺不好伺候的,不准备打交道了有患巧克力囊肿后成功怀孕的版友吗?
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
进入WebRadio版参与讨论
d**********o
发帖数: 1321
111
实习(31)
那个夏天,严格来讲,从我开始锻炼身体以来,我早上来公司一小时之内一般不敲键盘
。很长一段时间以来,人们一直以为我人来到公司、实际上早上没睡醒呢,还需要在
office里懵一阵子。直到某天B早上来到公司后,找我说一起去喝咖啡,我告诉她我早
上脑袋很清醒的、不需要啊,我只有下午和晚上的时候才会需要它们帮忙,早上的黄金
时间我一般都在读文档呀。
那个周四傍晚五六点钟快下班了,我问了A一个整个夏天最弱智的问题,我的某个单个
module文件我写完了,独立测试也通过了,可不知道为什么当我把它同我其它的module
串起来之后,再去测试就过不了。过了十分钟等A把手头的工作忙我,帮我看一眼,他
说他相信我能自己fix。这种问题我一定是相信A的,他说我能fix,那我就两分钟之内
把它fix掉了,因为我把某路径字符串写了两遍。后来到真正写完这个项目后我才最终
明白,先前那一行代码完全可以是从MSTK自带过来的,与A的framework无关。而我却受
环境影响想多了,走了更多的弯路。
那个项目我也是从周四快中饭时间(大概 11 : 00 左右吧)开始敲,到周五下午写完 11
个module,轻松写意没压力。再写一个小的test文件一个小时内测试完毕,周五下午
五点刚过一点儿,我告诉A我的初级独立版本的,我已经测试完了,他说下个周再帮我
review。
d**********o
发帖数: 1321
112
实习(32)
其实虽然换了mentor,实习生也会面临同样的问题。B让我陪她走了很多次T台,A没有
这样的过分举动,但对A的项目和指导,我的任务总是完成得更快,对A总是等得迫不及
待,就像是个催命鬼,催促着A帮我review,催促着他帮我想新的项目。如果说一周五
天一个小项目,我大概需要想半天左右,code一两天,而剩下的就是等待review和
review后的修改了提交了。A也很忙,整个site的test suite有事情都找他,他还要带
两个实习生,他还有自己每天的工作要做。学会等待、善待等待,也是这个实习的一门
重要功课。
后来在A的帮助下我refractory了module之间的联接,把module文件数压缩到 8 个。当
我把这些文件check in到subversion,我的标题清清楚楚地写着,补充了 ” STEL
Automation Framework ” MSTK test suite log section,后来那天,我已经能够从
周围人身上感觉到我们师徙的工作都做得好、相互成就的局面,那些眼看着我落后一个
半月、想看我笑话的同事大概难免要失望了吧。
那个项目唯一的遗憾是我补充进去的log同A的test suite系统环境不match,就是说他
的framework环境是每行有时间等作行头,我有能力想去生成与他的一样的行头,但A拒
绝了,他说我不需要,我心里感恋能从A那里真正学到知识、每天都做得开开心心、感
觉充实,我也就很知足了,不需要就不需要吧。
d**********o
发帖数: 1321
113
实习(33)
是的,我还是很着急的。每次我的新项目一等我作出自己的第一个版本来,我就禁不住
去催A,我这个初级版本都已经出来了,就只等你review了,你有时间就赶快再帮我想
想下一个项目吧!
等上一个项目review完、check in,我的下一个项目就拿到手了。Gradually,补充一
个log版块后,我的读写code的能力都增强了,那我接下来就该自己写一个test suite
插入到A的framework里去,test suite是VDBench,A告诉我,这个软件表姐用过(要我
有困难可以去找表姐帮忙),需要考虑Windows和Linux两种操作系统。
其实我读code的能力原本就不差的,从最初网上搜读Lisp Tic-Tac-Toe 4-in-a-line,
3-in-a-line, 2-in-a-line;到第二学期RTOS四位密码,网上code还没读懂,作业就已
经写出来了;到AI Decision Tree第一次使用vector container存储切分的training/
testing数据;到一周前的翻遍二三十个相关文件去找一行code,读code对我来说从来
都不是问题呀;顺藤摸瓜,找到A的framework里test suite的工作原理、架构、具体
suite的driver (app)名称、路径、command命令的传入读入、两个系统的设置,etc ,
这些都能从A的framework 上百份code里很容易地找到读到的,这种分析能力对我来说
,也从来都不是问题呀! 我的问题是,转专业的学生安装不好VDBench,两个系统
windows下居然java环境配置不对,VDBench同学在我的台式机上压根就不work ! 连这
最基础的一步都玩不转,要肿么去写test suite ?
当然,有问题就有解决问题的办法。那天傍晚晚饭前一个小时,那个鬼玩意儿装了5遍
,删了5遍,最终在一位华人同事的帮助下早早地将这个问题解决了。
d**********o
发帖数: 1321
114
今天的更新还一个字没写呢~~
从今天起,晚上睡前再更新~~
d**********o
发帖数: 1321
115
实习(34)
忘了说,那天周三,我过生日。我们小伙伴一起吃中午的时候,我打了个头,问他们有
没有想到过自杀。我先坦诚高三高考之前我第一次仔细地想过这个问题,虽然那时候我
舍不得就那么着了结了自己的性命,哪怕是流浪出走作叫化子也好,我也还是想再多看
一看这人世间的美好啊~~ 我问完,有人说没想过,有说试过,D接了一句,” Did you
want to kill yourself when they assigned A to be your mentor ?” 这个过于离
奇、脑筋急转弯似的回答弄得我差点儿笑岔了气(天知地知,A作我mentor,我可是作梦
都会笑醒的!!!)~~ 坐我旁边的A也正从他专注的电视节目里发现了笑点,开开心心地笑
了。D的那一记幽默成了我生日那天最开心的事。
因为刚过去的周一也正好是D的小伙伴的生日,他人非常聪明,又有领导精神、大师风
范,时不时地还幽默一把,人缘极好。于是周五就有人帮他呦喝着,我们一大帮人就早
早地跑出去庆祝生日了。当然也能感觉到这有一点儿公司领导风向所致的意思,因为
firmware的女华人manager、其它一两个manager以及一些原本不太熟悉的人也都来了,
可能是给D小伙伴面子吧。他们选定的餐馆很有一番希腊风情,到了之后大家热热闹闹
地聊天,我第一次发现,工作之外的A也真会说,同一桌上几乎所有的人都喜欢听他说
话! 只有E用他土生土长的混血儿文化从小说、电影等文艺作品方面稍微“压制、抹杀
、平衡”着A的光茫。
后来坐我对面的A讲起他的强迫症怪僻。他可能没有geek到来office必须把钱包放在固
定的位置、车钥匙放在固定的位置、手机放在固定的位置、笔记本放在固定的位置,但
他却对自己电脑屏幕的清洁程度极为敏感和苛刻(这点儿和我学校里的男闺密像有点儿
像),我亲眼见到过A用昂贵的专用monitor湿纸巾来反复擦拭他的屏幕!然后A就讲到
说对我几乎不能容忍,因为我在他cube里问问题的时候,我的手指总是会不小心触碰到
他的屏幕。见他今天当着这么多人的面提出来,我穷凶极恶地开玩笑说,哈哈,这下可
抓住你的弱点了,以后我可是要先把自己的手指头都染上颜色,然后再去向你请教问题
,然后再“一不小心”碰到你的屏幕了!
A的魅力实在是太强大了,那天后来结账,大家帮把D的正式员工小伙伴的账单给出了,
把我这个实习生的账单也给出了?!!~~
d**********o
发帖数: 1321
116
实习(35)
周五的午餐对于那些个manager来说显然不太厚道公平呀。正如我周五猜到的,周一
Site里就有官衔不小的manager站出来吆喝,于是紧接着的周一,我们又出去吃了一次
,这次是大老板带上那几个manager,为D的小伙伴又过了一次生日。明知道周一是去过
生日的,E当然不会去,而我则坚持一定去!
那天中午去吃火锅,A因为生病周一没来上班,D、他的小伙伴和我因为晚到同一位
senior坐在一个小桌,其它人来得略早些,在大老板的带领下坐了相当于我们两个桌子
长的大长桌。虽然A没能来略有遗憾,但能有机会同D、他的极其聪明的小伙伴坐在一起
吃饭、近距离聊天也是很惬意的事。D的小伙伴问我,同新mentor关系处得怎么样呀,
我笑啊,” We tried so hard to confuse each other. ” 想到我们合作之初的种种
误会,他们也会心地笑了。
插一句,我们小伙伴们平常周五出去打捞食物时,好多次E因为没带现金都请D帮他先出
,于是上个周五,E就帮把D的份子钱出了。不知道的人会觉得E人还不错,帮D出了这么
大一份,而我却真心感慨D人品真好,在D为E的那么多次帮助里,E想必会欠D更多的钱
,因为我们周五出去吃东西,E个儿高点儿(不过没有A高),从来都是E点得最多(我们
的账单是平均分的)。上周五那天,同样人高马大还生得壮的D就只点了我们 12 个人
中最普通、经济的食物,而E是唯一一个点了两份的人;清楚地知道这些,周一我们又
同坐一桌,我便向D学习,那天我们两个都点的是最普通、经济实惠的lunch special,
$10.98,他是男生,我后来还留了盘子里一大片untouched羊肉给他。那天正好也是我
们桌上senior的生日,减去2份,最终我们人均滩了$ 22 。真正做到了礼尚往来,我是
非常开心的~~
d**********o
发帖数: 1321
117
前段时间太空虚了,好歹我自己也还要过个暑假 ~~
以后会照这样两三篇地慢慢更新,希望能坚持到底 ~~
d**********o
发帖数: 1321
118
实习(36)
上周五庆祝完自己的生日,过完下个周学校就要开学了。我是希望开学后能够多呆一个
周的,但如果学校和公司任何一方谈不下来,我接下来的周末就应该会开车返回学校了
。于是庆祝完生日的这个周末,我就理短了头发、采购菌类干粮、(因为多年来慢性咽
炎的底子)还特意地买了一瓶川贝枇杷止咳糖浆,来美后发病同国内比少了很多,但发
过几次后也已经喝完了一瓶,要为返校作好充足的准备。
那时我们中午走路,小伙伴们谈论最多的就是奖金问题了,民以食为天,这就是大家的
食物啊。而且据说奖金的比例很高,大家也都显得格外兴奋。理论上最高可得年薪25%
的份额作为奖金,他们说拿到手、最高的有高达正常工资24%的,我猜想应该会非常多
。A和D因为刚来公司不久,这一次工作年限不够还拿不到,但想拿的决心和热情都很高
;D的小伙伴因为极其聪明,所以拿了很不错的奖金;D说他问过B,B的反应很冷淡,感
觉她拿到的奖金不会高。D说表姐会拿很不错的奖金,因为表姐是重要项目的核心人物
、攻艰主力、也是大神般的后卫。一段时间以来A从方方面面帮助我,我们小伙伴一起
走路的时候,他也有意识地帮我纠正发音,倒是有时候我自己害羞、很难为情,该练习
的发音说不出来。
那时一两个星期里,正式员工的表姐和B正忙着他们业界的一个什么大型测试宣传发布
会一样的考核,大概到我们生日那周周四傍晚才算实习公司里的所有的测试都通过。最
开始同表姐聊天可能聊到一些关于B的负面信息,很长一段时间以来,表姐和我都不再
聊天以保证正面导向,或许A也是希望我同表姐多联系的吧。先前可能是周三下午,我
有见表姐从会场返回公司,便跟着她,确实想问表姐两句话,哪怕只是传达A的意向也
好。也看得出来,表姐一回来就在lab里忙,大概需要copy一份firmware on call更新
的new version。我叫了表姐一句,她说现在忙,要我周四下午再同她联系:)
d**********o
发帖数: 1321
119
实习(37)
有次尖人正从我的座位边走向lab,那天我大概正在大厅里问完A那个我转不过弯来的一
行代码(MSTK log file location)问题,见到尖人,A还没走远,我居然也没能禁住
向尖人报怨说,” My manager does not give me enough projects for me to do.
” 我报怨完了,我high了,留下A向尖人解释了些什么、怎么解释的,我早就不care跑
掉去干自己的活儿了。
表姐早前已经说了那样的话,于是周四下午,我打电话过去的时候,表姐说她终于忙完
,在家休息,要我上表姐家去找她。于是我五点多钟一放下电话就立即出发,到了后表
姐把晚饭已经做好了,还买了卤鸭子,小表姐也正好同我先后脚到家,我们三姊妹先吃
饭。
小表姐问表姐,为什么大表姐夫居然直接打电话给她,电话也还直接打到国内去找舅母
了;表姐说他求表姐一个同学帮办事;大表姐感慨,“这么多年来,这个人也终于学会
求人了?”我们已经在吃饭,先前三姐妹共聚一桌的热闹在我这里就变成了悄无声息地
啃鸭子~~ 后来,我对表姐说A让我有什么问题就找她。小表姐问我同大家的关系都处得
怎么样呀,大表姐接话说,“这不,又给打发到我这里来了! ”表姐的话更让我挫败,
便赶紧纠正她说,“我们三个性格比较合得来,兔一一猪一一羊,魔羯一一白羊一一狮
子,A的STEL Automation Framework第一个test suite是表姐你的NuMV,我的最后一个
项目如果能把大家联结起来,也算是对缘份的一种表达~~ ”见我解释的有理,表姐也
讲了她的理由,她说她应该是这个公司里the last person I should seek for help。
表姐说如果她帮我了,别人会说是她表姐帮她解决问题的,而我如果向任何其它的人寻
求帮助,就不会有那种疑问,表姐的话我听得直点头。
d**********o
发帖数: 1321
120
实习(38)
其实上周五庆祝生日的下午下班之前,我就同C讲了,A是非常优秀的mentor,而我跟着
A到下周结束前我也才只能做完两个小小的任务,感觉刚刚才热身就不得不离去,也挺
遗憾的。我就问A,她能不能帮我想一下,帮我看看我有没有可能再多工作一个周,跟
着A再多作一个项目。
那天在表姐家吃完饭,我们便到附近的公园去散步聊天。表姐同我是有段距离的,但我
心里却也是认可表姐的,经过多年的钻研和积累,这个人的内心是有着执着、坚持和抱
负的,只是自己经过艰苦卓绝的努力才得到的东西,便多少有点儿难以认可他人。我听
得进表姐的苦口良言,就再也不曾问除( except )A以外任何人问题了。而我同时也劝
表姐说,D同舅舅、舅母、我的同学都很像,极善观察,我问暑假最笨的问题时D也过来
问我问题安慰我,D是组里、甚至整个site里同任何人关系都极好的人,你们还就坐在
隔壁,怎么就不见你们说几句话?
我给表姐讲,那次B mentor自己不会后,对B影响非常不好。除了firmware的manager主
动给她面子外,site里的大官们便打出了另一套方案,就是人为设置difficult bugs,
然后分配新员工D去啃硬骨头。D因为初来乍到,怎么不懂不会都情有可原,加上人缘好
,向任何人请教问题大家都心生欢喜,借以提倡培养一种team间相互帮助的culture,
也好帮助平衡掉B样样不会、处处求人的尴尬局面。
我也问了表姐我的疑问,他们有项目在外面开会测试时,明明是B的MSTK相关的测试出
了问题,为什么回来office里copy取更新的firmware的人却是表姐,而不是B?我问表
姐,B的MSTK项目出问题了还经常要表姐你去帮她收场,你会觉得委屈么?表姐答说,
“不委屈,老板让干什么就干什么! 老板不说的时候才会讲人情去帮她。”听完表姐的
话,对她这种大神般的后卫更加敬佩有加。
相关主题
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香offer选择,请支招
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
进入WebRadio版参与讨论
d**********o
发帖数: 1321
121
实习(39)
周一我们再去庆祝生日那天,A生病没来。但作为A的小“跟屁虫”,我一直都有着相当
的独立性。我的 code总是写得很快,周一过半,我的windows系统的sweet程序就已经
写完,需要测试一下就可以去补充Linux版本了。既然作test的A今天没来,那我应该可
以用lab里的机器来测试吧。在lab里转了一圈,同B对面的senior更熟一点儿,之前问
过他一个小问题。 Senior说他还不知道有没有机器可以给我用,但他会帮我确认一下。
那天下午后来,office里, site里好几个人都有high priority tests,一两个小时后
,senior来我座位上告诉我,今天大家都比较忙,lab里没有我可以用来测试的机器。
没有就没有吧,其实等到senior来告诉我答案之前,我的framework已经在自己的台式
机上测试通过了。我的Linux版本最初不太懂得driver到底怎么工作的,但就像Windows
版本我会先将软件装在自己机器上,跑几次看看工作的效果是什么样的,借着run软件
的方式去理解它的工作原理,Linux下我自然会作同样的尝试,而它的bash文件也不难
找到,所以Linux系统并没为自己制造任何的麻烦。
因为lab里总是很忙,到要测试时,我没有机器可测试。我自已的台式机安装有Linux系
统,但不是dual boot,我是没办法共享Windows下的文件的。后来周二的傍晚,A允许
我用他cube里的Linux Server进行测试。E同我,我们两个实习生都用的是小屏幕。当
server的屏幕比client的屏幕还大的时候鼠标拖来拖去就很麻烦,于是那天A下班走之
前,我问他,“我可以坐你cube里用你的Linux station么?”A是team里的难得的利他
主义者,他当然会同意,我也很开心,其它人就有人禁不住去回想B同我的关系了。
d**********o
发帖数: 1321
122
我想过很久,还是不好写,今天只更新一篇~~
明天再更新~~
d**********o
发帖数: 1321
123
实习(40)
记得第一次测MSTK log版块的时候,A可能也正大量debugging或是测试他自己的test
suites,lab里非常的忙,忙到A在几个station上移动、轮流看守。为了能快速有效地
完成自己的任务,我先在自己的台式机上先都测好。然后等到有天下午A说某个station
我大测可以用一个小时。station是A安排的,没有选择;测试的时候,我原本打
算从A几十条现在的command里随机抽查一两个命令(测试某些specific版块的test
cases,比如log page related, SSD temperature related, etc)测试看能不能通过
,但因为我原本就只需要检查MSTK的log能否在STEL Automation Framework里正确运调
,所以,最终A帮我选择了一条执行时间最短的命令,run十分钟测完后,我告诉A所有
测试cases,一切都顺利通过! 来我所在的station瞟了一眼,见我测得这么顺利,A也
合不拢嘴巴。那天下午我测试时正好B对面的senior也全程都在实验室里,他是我
summer实习自始自终的见证者,我还是有那么点儿不一样的。那天在lab里呆了二十分
钟后,我就将station还给A去忙了,自己撤回office里。
就像之前提到过的,A也是很忙的,所以我一般不去打搅他,我的问题原本也不多,便
利用自己地理位置之便,总是在他从lab里出来的时时机去问他,以免其它时间找他可
能会打扰他工作。周四快中午 11 : 00 左右当他早上从lab里忙完出来,我便问了他一
个关于 VDBench 我新发现的小问题,就是虽然我的 test suite 得到从framework里来
的“PASS”,但从 sweet framework 里得到的结果与直接run软件得到的结果还是稍有
不同,我把不同的地方从自己台式机上指给A看,并对他讲,“ It seems I cannot
and shouldn’t trust this ‘PASS’ yet! ”虽然过去同A,当我完成几乎任何任务
,A都会同我一起感觉很开心,但这次、这会儿A难得地说了一句不一样的话,“ Most
probably, you know this software much better than I do ! ”这该是在这个夏天
、专业领域里,我听到过的最好听的话了! 为听这句话,我等了好久,瞬间接一句“
Thank you ~~ ”脱口而出、情真意切、志得意满~~:)
d**********o
发帖数: 1321
124
一年前的经历了
把大家看得这么难受
我很报歉
今晚晚些时候再更新~~
d**********o
发帖数: 1321
125
实习(41)
那个周一,庆祝生日,PALO ALTO吃完火锅,D,他的小伙伴和我,饭后我们三个小伙伴
在风景风情都还很不错的主街上散步闲适。小伙伴发感概说,“D很帅,A很聪明!“。
我很不识相地问,“那我呢?“
“混血儿很聪明的!!!” D不明觉历地接起话来。
“那又怎样?”回想起来前段时间,因为学校要开学了,我同那个中国女孩的软件工程
课,老师要我们写一个网上预约系统(预约见professor)的项目还没有完成。对于我
们两个转专业那时又都没有多少JAVA编程经验的人来说,这个项目对我们有些偏难。因
为这些D都学过,所有需要的语言和设计思想他都非常清楚。但大概因为我问过他这些
问题,他可能会觉得我的基础有比较弱吧。
“我能把自己的工作、项目做好,遇到困难时能自己去解决问题,能让自己每天生活得
开开心心,我就挺知足的了。”我补充得云淡风轻、波澜不惊!
是的,这也是我一贯的观点。别人是高富帅、白富美;别人是亿万富翁,别人是伟大的
文学家、思想家、诗人、作家、艺术家,别人是QQ群的群主,别人是天才~~ 如果这些
人与自己的生活没有任何交集,那他们又与自己有什么关系?我又不能过两辈子,我依
然只有短暂的生命,只有一个属于自己的有限人生。
“我们学校(或者至少我们系我们专业吧)正常本科生平均毕业时间4.5年,硕士研究
生平均毕业时间2.5~3年!我几乎所有的课都拿B,因为我入学的时候年龄已经很大了,
系里老师能允许我两年毕业我就挺开心的了。得B就得B,GPA低一点儿就低一点儿吧!
我虽然也很不情愿,但还是可以理解他们的做法的。”
l*****l
发帖数: 5909
126
我觉得等你都写完最好改的简洁一点,专业术语太多
d**********o
发帖数: 1321
127
我没有文字天赋,能坚持把故事讲完,
就该谢天谢地了~~
简洁、非专业术语版本的,
那等哪天,我实在混不下去、抑郁不得终日的时候,
再卧薪尝胆、发奋图强,写完一生的悲催故事吧~~:)
哈哈

【在 l*****l 的大作中提到】
: 我觉得等你都写完最好改的简洁一点,专业术语太多
d**********o
发帖数: 1321
128
实习(42)
周四中午 12 : 05 ,吃饭前我告诉A我的任务已经完成了,他答应下午下班前帮我
review。这个项目期间也看见一个关于error和warning message数量的小bug。A一定是
事情太多、不屑于花时间才留下这么个小东西,只是几行代码的小问题,后来便同自己
的更新一起交了上去。
早前就已经同A讨论过了,这个项目的目的是读懂他的frame,并在读懂的基础上插入一
个新的test suite。至于我有多少条命令,哪怕我只有一个命令,哪怕我只会弹一首钢
琴曲,只要我能把这个test sweet 写出来、run出来,那我只嵌入一条命令,又有什么
关系?所以下午的REVIEW,一如他带我后的第一个REVIEW,还是能够清楚地感觉到他想
“找我的茬”的。但时间转眼又过去两三个周,我已经要到自己实习的结尾了,此时再
不为自己争取CREDIT,我又还有什么机会呢?还是我这次留下,生来就活该被埋没、永
远没有出头之日?空气中弥漫着一股夏日正午一两点钟的骄阳炙烤着沥青马路的焦灼味
道。
所以那天下午三四、四五点钟,当A真正帮我review的时候,我们就直接起火、吵起来
了。就好像说,寒风呼啸的化冰天气的早上,一小人在床上打滚是无论如何也舍不得起
床的。A就像一个拿了暖宝宝一一热水带给蜷缩地墙脚的叫化子取暖的好心人,可以取
暖,别人当然心存感激;然而叫化子刚把暖宝宝拿到手,还没来得及好好体会一下它的
温热,A却又瞬间把它抢了回去!换作别人、换作是你,你就真能舍得松手么?更何况
原本脾气就不太好的自己了,这是逗人玩儿、好玩么?
d**********o
发帖数: 1321
129
实习(43)
吵架归吵架,我们居然还吵出了几个问题来。
当我提到关于他TEST SUITE的一个什么问题,我感觉自己发现的问题(属于自己的
CREDIT)已经被他CHECKIN的时候,我们就认认真真地炒出了细节。我的观点很明确,
如果这是他的功劳,我绝不抢占;但如果不是他的,但因为他是我的MENTOR我也绝不会
计较;A后来帮我指出,那是因为我用SUBVERSION还不太熟,他没有CHECKIN我的修改,
我的功劳还是属于自己的。
其实那天我也不记得怎么吵得了,也居然提到了E。A说,“ If you can find HIS
problem, you can help fix it. ”我也很固执呀,“If that's his project, I don
't want to step into somebody else's staff,”我接着强调,“I don't want to!”
那天要结束的时候,我想也经吵了这么半天,项目也没挑出什么毛病来,应该还是差不
多的吧。便在A临走前问他,是否已经帮我想好一个新的项目。A说,“ I won't give
you the new project until tomorrow. ”那句话就成了那天警醒自己最深的话了!“
Then what will happen tonight? ”A不再说话,却以一种沉默的力量,迫使我去反
醒自己。
那今晚,就让大家在风中凌乱吧~~:)
d**********o
发帖数: 1321
130
晚上再更新~~
相关主题
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
求助,我该接受这个教学职位吗?It's still hot!
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
131
实习(44)
对于A刚刚不给我项目的原因,我还是傻傻想不清楚。以为自己还有什么做得不好的地
方,便在自己的坐位上认真地检查可能存在的bug了,心想着等到第二天大家气都消了
,也许A还是会再帮我看一下的吧。
我的计划是如此,然而变化也来得很突然。六点钟左右,离吃晚饭还有大半个小时呢,
就听见那边B叫坐她正对面(同一CUBE对面,SENIOR坐她同一走道对面)的表姐说她
CHECKIN了一个什么项目,要表姐帮她看一下。B说出来的话是谦虚的,说话的语气、态
度却是傲慢的。表姐也就问了一下CHECKIN了没,便没再多说任何话。B这是耀武扬威、
报复表姐、报复我们那天她的报告表姐没去吗?我瞬间登录到SUBVERSION账户,B果然
是交了一个项目,同E的第一个项目类似,因为是app软件相关,所以交了可能有上百份
文件吧。
回想起来,骄傲真是人类最大的敌人,而每个人最大的敌人却又是他自已。如果那些跟
着B混的日子里,我没有滋长自己的骄傲,也许我就不会犯那个简单的编译错误(虽然
我还是很需要去理解这些概念和原理的)。
我自己的人生也有很多遗憾。如果那天早上妈妈没有把我往死里打,今天的自己不出意
外应该是流浪汉吧;如果2012年的春夏我听得进一位姐姐的友好帮助,去别的洲直接工
作;如果2012年夏天我能得到导师的直接表明否绝,没有本科基础的硕士想两年毕业是
完全没有可能的,我直接回国;如果爸爸出意外的时候我就直接回去,或许我还可以见
到爸爸最后一面;如果我工作的所有积储是用来给妈妈治病了。。。
d**********o
发帖数: 1321
132
实习(45)
曾经,我对自己高考的经历不愿对任何人提起;但后来再长大一些,经历过一些事情后
,对于自己走过那样的弯路心存感激,因为它锻炼迫使我从内心去发掘力量。如果重新
来过,我希望它发生在初一初二或是高一,而不是高三。前段时间C在B座位里对她讲与
同事共事的工作方式,在她这样一个senior的年龄,她还能改、还有改的希望么?
另一面,表姐是惠质兰心、心无杂念的。之前上周同表姐在公园走路聊天的时候,表姐
就劝过我,说我应该多把心思放在自己的学习上,别每天心里想那些乱七八糟的事情。
我安慰表姐说,对于你来说,想这些事情会很烦;对于我来说,这些是直觉,不需要我
花时间去想,我只要去感受一下就可以了。表姐说我不把自己的成绩弄好,想这些对自
己有什么帮助,我反驳她说,我也就是自己理解了,也算是学习、见识一下眉高眼低,
帮助自己成为一个更好的自己而已,我相信自己的明天会更好~~
有时候人太笨了,也实在是不服不行。明明这边下午就在吵架,就差要CHECKIN项目了
,她还早早地把她自己的东西交上去,还表现出这样一个态度!表姐那段时间在忙一个
攻艰项目,应该暂没有需要上交的任务,我的项目下午同A吵也吵过了,应该不会有太
大问题。既然B已然这样了,site里官衔最大的manage也早就安慰过我,实习生不要害
怕犯错误,那我就算是冒天下之大不韪,我也一定把自己的项目及时交上去。于是一个
小时后,我的项目便也进subversion了,同样是关于一个软件(VDBench),连带添加
和修改A的framework加入这样一个suite,这次我也同样地交了一百多个文件,一样也
不比你少!~~
d**********o
发帖数: 1321
133
实习(46)
第二天(周五)早上来到公司,第一件事便是上去看subversion了。对于昨天晚上的风
吹草动,是迷途知返么,B真的是风中凌乱了。她把自己昨天交上去的项目,在昨晚我
们走后,modified了再删,删了之后再重新添加,改了一个轮回;把MSTK连带我
checkin进去的程序全部删除,再把她自己也不知道作了什么修改的、修改之后的程序
添加了上去,subversion那天晚上简直是被她一个人给搞得乌烟瘴气!所以这天上午,
就能够真正感受到善良的人们对B的同情,觉得她这样一个senior,怎么就被一个实习
生给折腾得七晕八素、没了主意和方向?~~
而我在经历了A这一晚的隔离,不像往常那样review完就给我新项目之后,第二天A来
office里,我再去要新项目时,我对A的态度就近乎要讨好起来,先乖乖地告诉他,我
昨天晚上已经把项目交上去了,他提了一下到时可能还需要再改改;我就问他,还需要
改什么,改.csv文件里VDBench的执行调用命令么(言下之意,那个不早就说过不是项
目重点,一条命令就能满足现有需要的么)?他已经转换了话题(开始告诉我我的新项
目了),倒是对我checkin项目没有任何责难;见这个test suite项目就这么风平浪静
地要结束了,我就又问了一个项目里自己还有点儿迷糊的地方,为什么我从framework
run VDBench出来的output文件夹在Windows下会出现在桌面上?他用半分钟时间确认了
一遍我的问题,然后思考了一秒钟,给我的答案是:因为我是从desktop launch
framework调用VDBench driver,所以output会default成这个路径。这样的常识当初的
自己是没有的,但因为是常识,别人可以一秒内作答;再回想一下A mentor我后的第一
个常识,我居然花了那么多个小时去翻代码(擦汗~),差点儿要同别人起火吵架,真
是可笑。或许,I have learned it through a hard way ~ 同B(的bug,自己的idea行
不通却压根就不知道)相比,什么叫黑白分明、天壤之别也该很清楚了吧!我欣赏的是
这种头脑清醒、条理分明、有常识、懂原理、编程能力都很强大的mentor。
d**********o
发帖数: 1321
134
实习(47)
那个周是我们学校开学前的最后一周,也是纠缠不清的。因为上一个周五的时候我已经
同C打好招呼,希望她能帮我想想、同上级沟通一下看自己能否再多工作一个周,于是A
周一不在、VDBench那个周和接下来的一周(实习的最后两周)就成了地震多发地带。
我自己另一方面也同学校联系,学校那边我需要做的工作是,先同导师联系,取得系里
同意,再取得学校IPO国际学生办公室里的同意,更新I-20;但因为新生开学,学校IPO
很忙,所以我一直还没有拿到新的I-20。
这或许也是A周四傍晚不肯给我新项目的一个原因吧。但他还是信任我的,周五的早上
我去找他,老实交待昨晚的罪行后,就真的给了我我的新项目:Windows系统下,用
python 2.7.5的Tkinter module从可选择的地址路径中选择多个源文件,从源文件中选
择两个变量,再plugin我之前overlap的程序,将比如说5个文件中的x, y变量的数据显
示到一个统计图中。 题 目是mentor出的,思路都是自己的,这次的代码可是要自己一
行一行地去敲的!可是A已经给了我新项目,我还是很开心的。
d**********o
发帖数: 1321
135
实习(48)
偏巧,C下周一也修假。C是一个blah-blah-talk-talk style的manager。她每周的一次
的team会议,A同B的项目会议,偶尔早上来office,她都会有很多的talk。所有的talk
里,我最欣赏她同A的谈话方式和内容,因为A很聪明,如果你仔细听,你可以学到他同
老板的沟通方式,所谓指哪儿打哪儿,谈话的双方把对方的意思和企图揣摩得清清楚楚
。她的talk这么多,我就会情不自禁地感觉到这个site这个manager领导下的team就有
了某种程度上的怪异的夸张。她应该还是最欣赏A的,也很信任他。可那天下午当她们
聊到C周一要出去玩的地方叫“Tahoe”时,A因为没听懂她的发音,重复了一遍,后来
猜测到正确发音后,A下意识地重复了一遍这个地名。离A座位不远的我就能感觉到C的
语气略变。
下午散步的时候我给小伙伴们讲,今天下午的时候C很怪,来到我 cube问完我必要的
事情后说,“ I don’t know if I can still see you next week. ”我问她,“
Why can’t you see me next week? ”C不说话。 我对小伙伴们讲,我就搞不懂这个
manager为什么会那么说话,搞得就好像我下周来不了了似的!有小伙伴宽慰manager说
,她可能自己的什么事情吧。我很不服气地坚持了一句,“她就是那么想的!”
我早就已经同C讲过了,我之所以还没有拿到新I-20是因为学校新生开学,IPO负责这项
工作的人员这周四、周五两天正给新生做orientation,非常忙。再后来,周五下午04
:48分当我打通了相关人员的电话,他说明天周六他就算占用自己的私人时间也会帮我
把新 I - 20 给弄出来。我的手机放下了,办公室的氛围跟着也变了,从C所在的
manager区传来的某些人的大笑声。
d**********o
发帖数: 1321
136
今晚晚些时候或明天再更新,
今天的内容还没有开始写,但一定会写的~~
d**********o
发帖数: 1321
137
实习(49)
前面没能介绍,这个夏天,因为有着A、D以及refer D来这个公司的朋友等若干臭味相
投的小伙伴在一起,我们每个星期五出去打捞食物还是有着诸多乐趣的。第一次出去吃
饭是大家响应我的愿望,去吃了海鲜(很害羞地说偶应该是吃了三盘,或者至少两大盘
吧,倒是A因为打电话、接电话就只吃了简简单单的面条!虽然我的身体状况其实并不
允许和承受多吃海鲜)。那天吃完饭后D帮忙出brain teaser问题让大家答,比如如何
快速称分出混在药品瓶中的毒品瓶,比如有两个量筒量如何量出一个特定体积,像是幼
小时候的脑筋急转弯,吃饱了美食,大家猜答案的兴致可不低!后来我们还吃过好几家
,吃过很好吃的越南面包,某个风和日丽的中午听着旁边游乐场的背景音乐、还在公园
喂过松鼠!
印象很深的是那次去TK noodles吃面条,面条本身很好吃不在话下。那段时间A的
framework进展神速,所以A的项目汇报会议就成了偶滴一大享受。可是呢,C大概觉得
我在会议上太享受了,于是她取消了那个周所有的三个会议:一个每周项目进展汇报例
会、一个A的项目报告,还有一个是谁的什么review吧。对于C的这种做法,我心里还是
很不爽的。不过因为A的坚持,只有他的会议在老板的杀伐夺断下得以侥幸存活。于是
那天吃饭,我大概提到我以为A还是谁的会议是安排在周四,原来是周五哦!聊天的细
节大多我都不大记得了,但还是记得E起头说他将来不想买房子,他喜欢住hotel!聊起
hotel,接下来的话题就又一次地被他们谁给扭转到bed bug上去了。还有印象接下来的
周二中午吃饭,饭桌上D的小伙伴直接问A宗教里关于性的问题。
白云苍狗、白驹过隙。学校开学前的最后一个周五该是我最后一次还能有机会同小伙伴
们聚在一起吃东西了,下个周五还不知道会是什么状况呢。因为A是这个假期里给予自
己帮助和肯定都最多的人,A很喜欢吃韩国菜,那天我们便整个假期里唯一一次去吃了
韩国(泡)菜。
要出去吃饭,一走出office,我便问了A一个问题:“Why didn’t you give me the
new project last night? ”我的个性比较明朗,我还是很想知道他的真实想法的,然
而A仍然不说话,我只好自己找台阶下,“while thanks for your help, I lost five
pounds last night! ”小伙伴们忍不住想笑话我(哈哈~~)。
d**********o
发帖数: 1321
138
实习(50)
那天同 A 的吵架,我想我应该只是太想要、太喜欢听别人的表扬,所以 A 一正一反来
得太意外(虽然第一个项目review已经经历过一次逆压锻炼),我还是来不及反应,所
以没能控制住自己的火爆脾气。如果我真心要同 A 吵架,那我就一定该下足火力去吵
,我就该一针见血地指出,换 mentor 后这个假期里,我连测试的机器都没有,即便是
周一作测试的 A 自己都没能来 office ,也同样地,实验室那些台机器我连个手指头
都没沾上!实验室的机器,换 mentor 后,我就只用过 20 分钟~~
但毕竟这样的实习机会并不常有,为了表达自己情绪失控的歉意,接下来的周一,我招
呼E我们两个要去headquarter总部吃东西。之前有一次我在总部那边排队买午餐的时候
,排我前面的一位外国同事就向我推荐过一种他们国家很传统面条,据说是逢年过节的
时候都会吃、也很好吃,但我一直都还没机会去吃。我同E约好,我们今天中午要抓住
我最后一次绝无仅有的机会去吃他们国家的面条(E学校开学晚,这样他的实习会比我
晚结束)!
同E的聊天我总感觉没有主题,因为他也聪明(英语还是他的母语),我并不是总能知
道聊天的内容和形式怎样会比较好一点儿。那就聊自己上过的课吧,我把我们上过的好
玩儿的课、做过的好玩儿的项目都给讲他了一遍,E也讲了些他上课学到的。关于项目
,E说他不太喜欢编程和调试,尤其不喜欢连续编上 10 个、 20 个文件的程序后再调
试。我的观点是,只要自己思路是清晰的,哪怕编完 20 个modules再调试,虽然看起
来是混乱了点儿,其实因为自己写过这些程序,还是可以快速地根据 log trace back 到
各个源程序的!我强调说我也会优先考虑他的调试方法,但我对后一种方法不会有排斥
心理。再没有什么可聊的,那我们还有一个共同的 mentor !说起 A 的强大,E显得不
以为然,他同意 A 的编程能力还是比较强大滴~~ 然后在E这里就没有然后了~~ 难道
在美国学生的眼里, mentor 只有方方面面都得强大到可以深聊、交心、有得聊才能算
是不错 mentor 吗?那在偶眼里可就已然是知已、要成 soul mate 了呀~~!!!
d**********o
发帖数: 1321
139
实习(51)
一天中午,我随小伙伴们取好饭菜已经坐下来,E就排在我后面,应该很快就来了吧。
我们坐在一张不大不小的圆桌,差不多能刚刚容下五六个人。D同A以及他的小伙伴仿佛
还在说着早上的会议或是项目的事情。我刚坐定,伴随着E的出现,就感觉到我们小伙
伴们的眼珠眼镜撒了一地一一E今天极其夸张地拿了特别多的食物,不光纸盘里有富得
流“油”的一顶盘,连盛纸盘的长方形大托盘里也被他在一侧堆放了很多蔬菜,这实在
是太逆天、太阳从西边出来了!对呀,偶不是动辙就会穷凶极恶一番的么?今天的自已
甘拜下风,孤独求败的境界是属于E的!
一秒钟后我明白,原来据称是他family friend的舅舅从远方出差回来了,他的靠山回
来了!
就像我们两个的座位被安排得面对面,我们俩个之间无形中竞争还是最为直接和激烈的
了。我是表姐帮忙refer进来的,可整个暑假,除了最开始发给C的一封邮件,表姐批评
我邮件里写那么长的句子谁有时间来读之外,我没问过表姐任何问题,甚至中间很长一
段时间因为表姐的疏离我们连话都很少说!我自己都从来不曾有过靠山、依靠过别人呀
!而且,作为一个三十多岁的成年人,我也不可能去欺负他呀?
好吧,我承认有一次,上一次这个site party时我对他是有些冷淡的。
那公司里的大概每月左右一次的party我也介绍一下吧,我所知道的,共有三次这样的
活动。
我来后参加过的第一次party是刚来不久的冰淇淋,那时刚认识大家,都还不熟,我、E
、D同A我们几个因为中午一块儿吃饭也站在了一起。E同A正基情四射地热聊着他们各自
锻炼身体的历史和体验。在锻炼身体的道路上我一向后知后觉。曾经有一份真挚的友情
摆在我面前,我大学时同宿舍一位来自广西柳州的女孩子 offer 我她愿意教我打篮球
,但我没有珍惜。现在,当一份渗透着竟争的友情摆在自己眼前时,我不想再错过锻炼
和认识自己的机会!于是我买了个五磅重的呼啦圈,从那天起,这个暑假,我开始有意
识地同自己较劲~~
d**********o
发帖数: 1321
140
实习(52)
小伙伴们第一次出去吃海鲜那次是team里的锐意新秀A开的车,小伙伴们都准备了现金
,打算把钱给A这样一个人付现结账就可以了,E说他需要一些cash,这样那餐是E帮用
信用卡结的账; TK Noodles 那次大家都觉得味道很不错,只有E话里带刺、报怨嫌不
好吃;每次出去吃东西基本从来都是E点得最多,也向D借过很多次钱。我从小并没有生
活成长在海边,看得多了就对E慢慢形成了成见。小伙伴圈里,同一个 team 里的人,
我同A和D的关系,那是极好极好滴~~,而工作了多年、A的成熟睿智以及事业有成所流
露出的自然风采,都让自己深为叹服,希望明天的自己能够成为他今天这个样子,这是
此时的D和我们实习生无论如何都达不到的。
A同我的友好却会引起别人的注意和不满!华人同事放大了A帮助我的时间不再冗数;E
的添油加醋、煽风点火亦不需多说;同E相处得多了,我总以为自己眼睛很毒,可我毒
不过尖人。尖人给过我hard time,也同样为难过正式员工A。某天下午五六点钟,A已
然准备好该回家了,尖人却很不识相地捡了个好时间问别人工作上的问题。A就直接说
了那天他有事,等第二天早上上班后再帮尖人看一下到底是什么问题!第二天早上A就
到得很早去帮他;刚跟着A作项目的某天,我去lab里找A问项目, lab 里我可能呆了五
到十分钟的样子吧,在我从 lab 往外走返回 office 的路上就见C风风火火地往 lab
里赶,我不免狐疑,C难道会担心我俩打架?还有一次好玩的提一下就是,某天我准备
去洗手间,在门口听见一位女性长辈年龄段的人同她的同事站在洗手间门口说,会考虑
在lab里装camera,大概觉得很好玩儿吧,我云里雾里、不明所以的一阵兴奋!~~
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
老印还挺不好伺候的,不准备打交道了 (转载)急问一个b超的问题,希望得到贵版版友的帮助
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
进入WebRadio版参与讨论
d**********o
发帖数: 1321
141
实习(53)
第二次party的时候,也是半下午,我大概刚从洗手间回来,从走道走过的时候,座位
里就瞬间没了人影,已经拿了一大瓶水和一块大面包、坐到了自己座位上的E告诉我,
他们在餐厅喝咖啡。当我去餐厅找到了他们,A、D以及D的小伙伴都在,我加入了他们
成为四人方桌会议。后来D的小伙伴赶项目、较早地离开了,换来了E的意外再次前来。
这次的E不为任何食物、专为请教A问题而来!偶的记忆里清楚地记得,某天我和E从
headquarter总部吃完午饭回来,傻傻的自己从后门进 office 门的时候,嘴巴上还在
继续着回来路上的话题,忠心地表达和祝福着他,将来工作岗位上,manager的职位是
属于他这样英语好、专业能力也很不错的年轻人的,“ It belongs to you! ”后来再
回想起这个镜头的时候,我都恨不得去狠狠地抽自己几个耳光!
E之前住的远,早上十点到公司,下午五六点钟走人;后来搬家住到附近,也没感觉到
他工作作息时间上有任何变化;某个周五有事大半天不能来上班,大概心里还老大不愿
意、不想向manager请假。那天的自己对于E这样的伎俩已经司空见惯,甚至有着某种程
度上的本能地反感和厌恶。于是,我就静静地坐在那里,看着他同A对答他项目上的小
问题~~ 我的脸上应该是没有任何表情的,如果有,那也一定是冷的!打个不太恰当的
比喻,尖人一定是这个site的警犬,他的身影和智慧就像周遭的空气无处不在。但是那
天,在我的冷漠和E的伎俩面前,坐在邻桌上的尖人终于是按兵没动!
好,就算E有他想不通的委屈;那我呢,就因为自己年龄大些,感悟和境界略高,那我
就该去承受他board里senior舅舅的攻心战术么?内心里、专业道路上,我又何尝不是
一个想要机遇、希望成长的孩子?我去帮忙打击和矫正他的恶习,谁又给了培养我的机
会?在这样的环境里,公平是什么,谁又能真正主持仗义?更何况,整个暑假、自始自
终,E都有着来自专人保镖一一尖人的保驾护航,他还想怎样?
既然E已经对我有这诸多的不满,那我还是老办法一一我惹不起,我躲,还不行么?于
是,同往常一样,那天中午,E的family friend来坐到我们桌之前(还是来到座位我同
他打声招呼便走了,我已经不记得了),我就早早撤退好给他滕位置!
我想,正如大家所看到的,我也并不成熟;如果我拥有强大的内心,我想我会试着去
behave 得优雅一点儿、大度一些~~
d**********o
发帖数: 1321
142
实习(54)
高中物理早就学过,力的作用是相互的,我同B和E的嫌隙也是大家有目共睹的。后来同
E,我们虽然坐得面对面、每天中午还是同小伙伴们一块儿去吃饭,但实际上我们话都
说得很少;与B从月初分开后,我们基本就再也没有见过面。如果一定见到,我想我应
该还是会礼貌性地点头表示一下的。
快乐的时光总是过得飞快,追随A的有限几个周的日子转眼就过去了。站在暑假实习就
要结束的船尾,我也禁不住会去问自己:这个暑假我收获得到了什么、学到了什么知识
才干、又有怎样的经验和教训?我最在意的,因为在学校没法出头,我所有科目的最好
成绩都只能得B,那过完了这个暑假,我的生存现状有什么改变吗?
这个暑假,我挣到了学费,但它终归都将会给交还给学校;这个实习的前一个半月是用
来浪费光阴的;只在换了mentor后的几个周时间才真正有所斩获;几个项目,虽然上手
很快、落后别人一个半月后仍能进展顺利,但毕竟别人不需要你快,别人需要的是你去
等!那我的生存状况真的有变化么?
实习对我来说就只剩最后一个星期了,天气的骤然变化,我同A上周四架也吵过了,后
续的表达对公司歉意的午饭周一也已经去吃过了。实习的大幕即将落下,我心上某个地
方却总有一丝荫黎挥散不去、寂寥不已。
d**********o
发帖数: 1321
143
实习(55)
早就听表姐说过,这个site里如果最大官衔的manager招人,他从来都一定会打电话给
前雇主们去亲自省查新员工人品的。表姐、A和我我们三个的性格比较搭这点早就提到
过了,天秤座的D和狮子座的自己相处起来也有着如同与多年来学校男闺密间的协调与
融洽。很久之前同表姐的聊天也提到过,现在这个team里的人干的活,建一个team之前
基本就是表姐一个人白天赶晚上、晚上赶白天一个人赶着就着应负过来的!如果说A和D
真的是公司帮我找过来的小伙伴、公司帮聚集 collect 过来的易燃易爆品;表姐因着
与自己的远亲血缘关系,整个夏天C的各种会议里、各种talk里,表姐一直都是那个被
冷落和孤立的对象;那么这个team role里选项B的设置又是怎样一种存在,为什么会安
排C与B组成一个亲密无间的team,来到这里?
一年前的国庆,表姐回加拿大同丈夫、孩子团聚的时候休假一周。当表姐返回、我从机
场接到表姐回公司的路上,我就同表姐讲,表姐离开的这一周,B星期一一早就带着自
家后园树上产的果子来公司讨好manager和大家,并在周一下午下班前,请教A、同A探
讨了她的medusa python 项目的规划设定。她讲了10到15分钟的时候,大家没什么奇怪
、很给她面子、伴奏般地给她配着背景语音音乐;当她一直讲一直讲、讲到30分钟、40
分钟、45分钟的时候,同我一样所有注意到他们的人应该都能清楚地感觉到,B醉翁之
意不在酒,班门弄斧么?B竭尽全力、试图向A展示的是她的professional,B向A传达的
是或许来自于manager C、一种公司对待我这个实习生、欲要踩我的宗旨理念?!!
接表姐回公司的路上,我问表姐她手上有多少个项目、安不安全,我对表姐讲,这个女
人极有野心,她是表姐帮忙refer进来的人,但她或许也是那个想要从team里挤掉表姐
、取而代之的人!我曾经以为E上班时间比较晕乎,但那天E否定了我对他的印象。当B
从A的cube里一返回(他俩座位原本就在隔壁,位于同一走道的同一侧,两人之间只隔
着一层夹板),E就迎头接上去找到A。新接圣旨、揣度圣意的A对E很是热情!我对表姐
讲,那一刻,我是生活在套子里、角落里的人,他们的team早就已经形成了!
d**********o
发帖数: 1321
144
实习(56)
长江后浪推前浪,一代更比一代强。历史的车轮滚滚向前,我们一一两表姐、我自己,
我们都已经全然超越了父辈们的生活;成长在这样一个伟大的时代,没有了父辈军师的
引导指导,我们摸着石头过河、爬摸滚打中长大,体验经历着各自的烦恼,可以猜想,
哪个人的内心没有经历过苦痛挣扎?
四年的大学生活我只对家住柳州的室友略为提及过高考的经历,这次请允许我放过高考
。不管当年的自己对这位情敌多么妒忌排斥,时过境迁大幕落下,刻入记忆的却是竞争
中的友情!记忆回塑到这里,恍惚中禁不住呢喃想问,当年的自己,究竟是爱着那个人
,还是被生活中那个情敌吸引(生活中没有主见、看见别人男女朋友关系不错就跑过去
抢的小三还少么?)?我是该冒险一试直接出国,还是稳妥地以国内研究生为跳板?大
三下的生活就像阳光下空气中舞动的尘埃般浮躁不已!大四上学期我以极大的魄力勇敢
报考了北京的研究生院,那时进退之间何其潇洒,伯仲之间见伊吕~~ 2002年春夏,我
度日如年地等待315分的考研成绩、度日如年地等待划分数线、复试; 12 年后的这个
春天,我再一次度日如年地祈盼幸运降临、刀锋上讨生活,以后再表,不叹也罢!2005
年春夏,去留之间,一身冗肉也给瘦得用同学的话说“这么干净”!
从上周四晚开始,一段时间以来我一直休息不好。晚上之所以睡不着、休息不好,也是
因为心有千千结。周二下午两点钟左右,像A所建议的,我最后一个项目从硬盘选择文
件、先hard code一个变量、再选择一个变量的小任务已经完成;我去lab里找到A,他
正type在忙着。前一段时间一直不知道E在忙什么,现在他的项目总算是进入到了测试
阶段,正半天半天、整天整天地坐在lab里调试呢!我告诉A我的小任务写完了, A 轻
描淡写地说,那就把另一个 hard coded 的字符串变量也改变为 button 自由选择吧~~
office里自上周五以来鸦雀无声,我的心里却翻江倒海、惊涛骇浪。在 A 的station边
儿上趴了会儿,想到C还要来监督我们,我又何需予人话柄,于是两分钟不到,我站起
来,感觉自己、像一口气提不上来、快要死掉,我独自出门到 block 里去转圈透气了~~
d**********o
发帖数: 1321
145
实习(57)
我只跟着B作过一次high priority的任务,她说她有一件急任务,问我要不要跟她学,
那时候的自己当然还是要的。当时的自己功力浅薄,尚辨不清B为何物。同B并排坐在她
的cube里,作着一个关于Xgig的命令式界面操作任务。她连邮件里的任务问题都读得很
草率,根本就真的读掉了关键词,还是我要求她读慢点儿我们才又读懂、读清楚的~~
那天的B是真傻,还是装傻?真傻不奇怪,装傻也说得过去。
埋在她code里的bug一定是真的,因为她不曾、也不该指望我会去翻她的程序,那天组
会后我对她指出这个bug时她一脸的错愕便是明证。那天C出差我们有困难的bug也是真
的,她体会不到那个周二我的压力、傍晚时候还嘲笑过我,尖人也早就准备好了给我难
堪。而且,那是整个假期第一次、也是影响最大的一次事件,案前、案中、案件结束后
影响都非常大。Manager们事后为平息对B的不利影响,作了很多工作,绝不会是一场表
演。
那二三十个小时的 power on hours 那一行代码呢?我太急功近利、急于求成、急于去
帮忙解决问题了,甚至连B的表情我都没有去注意!也因为那个bug太简单了,简单到再
回想这件事的自己已经不敢、没办法再去相信它是naturally发生的(表姐说过,有人
就曾在lab里基本算是指着她的鼻子骂她“占着茅坑不拉屎”,虽然表姐没有任何必要
对我撒谎,我也丝毫不认为表姐会对我说这种无聊的谎言)!
d**********o
发帖数: 1321
146
实习(58)
那上周四的checkin项目呢?周四下午我明明已经同mentor吵起来了,为什么她周四晚
上傻到会在我之前去交项目?我的整个假期,或者甚至从换新manager以来(听表姐说
的),B同C都有着深切的联系(她们俩个有极多的talk-talk,我没事儿时基本就见她
俩在talk),舆论甚至为表姐出过头,认为B这样的奸佞小人为老板拍须留马,才得以
平步青云、扶摇直上。也插一句那次舆论C的处理方案吧:以往的方案是C找B谈完话后
紧接着就找 A 谈,一般不会找表姐谈话;而到底找不找表姐谈话、找不找D谈话就是要
看情况、看心情不指望下文的事,这样A的CREDIT可以凭借C manager的威力部分地通感
分配转移给B,因为A的优秀是大家都能够信服和认可的,B没有、也得不到这样的认可
;那天C的应急方案是,先安排了B周五下午早走,这样C上午找B谈过了话;等下午B走
之后,C再找A和表姐谈,以正视听(功臣依然是功臣一一A和表姐是),但原因也只是B
那天下午不在(所以同以往谈话相比会显得反常)!她们俩个(B同C)究竟只是性格很
像,还是别有企图和用心?那天晚上B风中凌乱、把subversion搅得一潭浑水,究竟是B
个人行为,还是来自于C的主意和要求?
B是真傻,那就与我们一贯需要走T台去求人的作风吻合一致,这个人就实在是学得非常
肤浅,没有能力和毅力去深入任何有挑战性的任务和项目!若B是假傻,那B装假的目的
又是什么?site里manager招她这个天蝎座人(大概属龙不太记得了)就是要利用她的
自私、善争好抢的个性来与我狮子座本能的aggressive相抗衡?
再者,直接导致换mentor的那次争抢怎么看怎么像是表演。组会上她提出的想法、一接
到任务后我周五同她打招呼时她的有急事、她周日的抢,方方面面、点点滴滴“表演”
(或者是“明抢”)的痕迹昭然若著(除了(except)她自己当初不敢checkout一个版本
来测试,我与她对质时看得见她脸上发懵)!再有,C那天下通知给我换mentor那个周
五,下午(我中午吃完午饭回来)lab里station上显示的测试结束,是谁摆出来、等着
我去看的,会是B吗,还是另有他人?是他们早就等着那一天到来、早就抓住了我的把
柄,还是这所有的一切原本就只是一场歪打正着的意外?
d**********o
发帖数: 1321
147
今晚更新到此
明天再来继续~~
d**********o
发帖数: 1321
148
实习(59)
同E的相处里,我总觉得自己眼睛很毒,毒到自己都不想再去看某些人事,但我的眼睛
真的毒么? 这个小时候几年里耳朵灌脓基本就没怎么好过、长大后才意识到自己耳朵
略聋的人,却也是一直以来都是在用耳朵来谈恋爱(参见之前返校找表哥部分章节)、
用耳朵和语言来工作的,却全然忘记了脖子上、脑袋上眼睛的存在,虽然多年的学校生
活,同大部分学子一样,我的眼睛也早已近视,忘记了人与人之间的交流沟通,忘记了
除了谈话聊天以外、对白独白之外的表现形式还可以有很多很多~~
这个周自己严重睡眠不足、精神状态很差,因为以前自己没能梳理好的人际关系,因为
一场实习即将结束我却没得到任何收获,心不甘情不愿,但大堂的钟声并不因为我闹情
绪就将时间静止在这一刻,离了谁这个世界还不是在照样运转!
如果能够整合表姐与自己的想法,那么B的存在原本就是用来“对付”我的。只是,我
想不明白,我只是一个普通得不能再普通的小老百姓,我有什么可以、需要、值得别人
去对付的?如果说最开始我对B还有着对mentor应有的礼节,我还会偶尔坐在她的座位
上虚心向她学习;那后来即使我对她讨好地开玩笑之后,我也不愿再坐她的座位,用她
座位上的station,我们之间已经没能再剩下什么了。如果说之前换了mentor我还对她
心存感激,好歹别人教过我,现在如果我再见到这个人,我想烦燥的情绪会让自己直接
起火,会冲上去直接问她十万个为什么~~
所谓,酒不醉人人自醉,工作不累人人杀人,说的该是我现在所处的情境吧。但这一切
的原因也只是我miss掉了一部分情节。多想回到从前,多想像以前一样无忧无虑地type
code,但时过境迁,一切都已经回不来了。多疑、忧虑或许也是成长的一个步骤吧。
这或许也是自上周五以来office里出奇地安静的原因吧。毕竟,这里有个火山随时都有
可能爆发呢。
d**********o
发帖数: 1321
149
实习(60)
表姐知道我这最近一段时间情绪不稳,便硬拉了我出去走路转圈。表姐当然知道我的委
屈,她自始自终都知道的呀,但她打消我怒气的方式是,“你在这里工作,难道别人没
有发你工资么?”,“别人发你工资就可以了,你还想要怎么样?”表姐是对我知根知
底的人,很难想像她会说出这样的话。我也想要心底踏实、成就感、顺畅的人际关系呀!
偏巧在我最是急火功心想不清楚的时候,看见firmware的女manager正在陪B散步,还有
一个另外的女同事。看见B的瞬间我说话的声音陡升 20 个分贝,仿佛同我说话的表姐
已经变成了那个B,所以我已经是在迫不及待地渲泄着自己的怒火!表姐也是哪壶不开
揭哪壶,明指着B问我,“哦她就从来没教过你?你就从来没从她那里学到任何东西?
”可谁又是那个没有思维的存在随便她们如此折腾?人之所以会暴发也是因为总是有火
上浇油的人来激发这一切的发生!我同表姐背道而行,180度背道而行!
如果说firmware的manager是公司为B指派的同一思维类型的人(也因为工作的需要,当
初firmware的manager必须得根据公司的需要给B面子帮她找台阶下的呀),那 55 F的
女士也一定是公司指派给我的,因为我俩还真算是比较搭,这大概也是那天是她来问我
要不要同她们一起吃三明治的原因吧。Site里的那些头目们把人性这玩意儿也研究得挺
透彻的嘛,同本狮子生涩的想法不谋而合!
d**********o
发帖数: 1321
150
实习(61)
这是整个假期里我精神状态最差的一周,虽然我的任务都还在可控范围内,但已然没有
了先前的斗志,因为眼见着这个暑假就要结束了,所有的努力都让自己深觉无力。
好几天了,E都在lab里测试、调试着他的程序,我就搞不明白编程对美国学生来说真有
这么难么?这期间一些人事上的舆论也影响着office的氛围,上周五A不是帮C纠正了“
Tahoe”的正确发音么,当时 C的情绪、语气变化,加上A自工作以来就展现出的优秀就
直接引导了大家的疑虑,一般可能都会去想A想要上位(但我知道小伙伴们出去散步的
时候,他还帮助过我纠正过错误发音呢),C的blah-blah-talk-talk style可能与这个
公司的风格真的不搭,这是一个technical公司,也许大家像我一样觉得B与C、C这样
blah-blah-talk-talk很烦呢,可这时大家也都还没有足够的心理准备来承受这样一种
潜在的转变。为了表白自己,也为帮助公司里内定的人选(以尖人为代表的、B对面的
senior、firmware的女manager等人在C talk-talk的作工下也都逐渐地站好了队型),
也为回答E的疑惑,某天下午两点钟左右,A在E到他座位上请求帮助时就直接来到E的座
位上、直接告诉E coding上的答案、像放鞭炮般噼里啪啦地告知答案,帮E解答了五六
个E原本不会的module上的问题(E问一个他答一个如此反复),大概是因为E实在是太慢
了吧,太久没有checkin项目了。
我的项目也遇到了一个bug,事已至此、回天无力的自己对工作很是闲散(被表姐拉去
外面、自己独自出去透气好多次)、以及A全然告诉E所有疑问的答案的情况,也直接导
致了自己慵懒、泄气、想要放弃,便也接着E问了A一个bug。当时的A已经没有了回答E
问题的直帅、清扫淡写、云淡风清,而是让我等他忙完(两个小时之后吧)。坐在cube
里的自己就禁不住走神,反复琢磨着A待E同我这一正一反的对比,是出自于公司以及C
的旨意呢,还是因为A真的只是希望我能自己解决问题?但那天下午那个我时时走神、
渊源流长的等待还是让我觉得大家(至少公司、C、尖人、B以及B对面的senior吧)真
心想看到的是我这个实习生不行!悲从中来,便强迫自己努力去独自解决问题。
相关主题
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
将军们没发现国内体制内涨了不少工资么请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
进入WebRadio版参与讨论
d**********o
发帖数: 1321
151
实习(62)
两个小时之后,A出现在我的座位上。我的不听使唤的脑子还在反复琢磨着,A对于在这
样的时间与E相反地给了我这么长时间的等待或许也有着他自己的谨慎地考虑吧,我从
来都是信任A的。 A大概想知道我自己对这段等待时间的看法吧,问到我这个问题,明
知道自己一个小bug被这份无限等待给放大,却也并没有太在意这一点儿,这段时间里
,至少认识到放大后我自己还是在努力去解决问题的,是死之将至、其言也善么?我表
明自己的观点说“ I need to spend some quality time to learn how to debug by
myself! ”A或者也想知道这个bug可能会对我造成的影响吧,我便直说了,“ If I
cannot fix the bug, I will regret and get hurt for the rest of my whole full
semester! ”逼我承认了自己的确需要帮助,认识到这个bug对我可能造成的伤害,A
开始动手帮我解决问题。
那个从来不用Emacs的A,连这种编辑器一个热键也不会,连复制、粘贴键都不会,居然
也没有换个编辑器,也没见他type什么code,就只用鼠标便三下五去二地、以雷鸣闪电
般的速度把我的问题给解决了,连我之前想要得到的图片图像都两分钟不到就已经全出
来了!“ Do you think if this will work? ”,“ Will it solve the problem?
”A的语速并不快,只是解决问题的速度太快了,“Does this look like a graph to
you?”A继续问我。这场景、这速度、或者说,这境界,在我颗昏昏乎乎、惶惶不可终
日的脑袋里完全没有反应能力,这人早就傻掉了,于是便把他爆打一顿(在他离我最近
的胳膊上使劲地打了几( 三 ?!)拳,这让实习生情何以堪、要肿么存活、还让不让
人活的?实在是太逆天了!
d**********o
发帖数: 1321
152
实习(63)
A走之后,真正懂了那个窃门后,便能明白,当时所谓的 bug ,也不过是自己第一次作
命令式用户界面,对生疏的问题还是会稍微有点儿心理障碍,或者换句话说,也不过是
因为 lost trace ofthe log 。如果两个小时前没有那份慵懒、如果自己能focus不走
神,根据 log 是一定可以找到解决办法的。这件事过去快一年了。这一年里,我深深
记住了这个教训,却全然忘记了当时那个 bug 本身到底是什么问题,大概bug本身真的
不难(我记不住呀)、我也算是从教训中真正成长了吧。
在别人给过的难堪面前,我屈服了,而是非常积极正面地承认了spend quality time
debugging的重要性。那天下午再接下来B对面的senior就站出来执行同样的理念了。B
大概稍早的时候就有难题不懂去问过了senior,我们的座位都相隔不远,所以大家说话
只要不是声音太低就基本都能听得见的。A帮我解决那一个问题之后,当B再去问senior
她的难题时,senior就说要B自己那天接下来的时间、傍晚、晚上都再她自己先好好想
想。万一晚上想不出来,万一到第二天早上还是想不出来,senior会第二天再去帮她解
决问题。
这是发生在同一天下午的事情,前前后后不到一个下午的时间。B真是笨么,或许她早
已猜测到senior这样的做法也不过是宽慰一下我过去几个小时所承受的委屈而已,同以
往晚上会在公司加会儿班不一样,B从公司吃过晚饭后半小时不到就早早地回家了,大
概是因为第二天早上自有答案会找上门来吧。
d**********o
发帖数: 1321
153
实习(64)
是周三还是周四下午,C有一次来我的位置上问了些什么问题,大概是确认这是我的最
后一个周、周五是工作的最后一天吧。可以猜想,她应该会叫上组里的人一起,安排一
次告别午餐吧。剩下的时间不多,我便也试探性地问了一下,"You won't push me to
work too hard on my last day, will you?"C看着我笑而不语。
工作上我比表姐的common sense稍强一点儿。表姐上个周的时候还在说如果我想再工作
一个周,只要跟manager说一声就可以了,学校那边就不用打招呼了(当时的自己讶异
得不得了,但只要心里,嘴上并没有说什么)。表姐有她自己的工作上的追求,但这也
不防碍她成为俗世里还算活得比较明白的人。
其实我就一小小实习生,从来不指望自己过生日的时候还能同大家一起出去庆祝;我就
要回学校开学了,C会组织组里的人出去吃一餐午餐,就是再合适不过了的。可表姐还
是以她SENIOR的资格,带着与她关系密切的人,我们先出去小打小闹地聚了一场。表姐
、我、A、D和尖人,因为尖人当初是表姐帮忙REFER进来的人。正如大家所知道的,尖
人的立场与我们是相冲突的,尖人之所以成为尖人,就不防碍他稍微为难一下我们,比
如周五C带大家聚,周四午餐就该是极好的日子,但就算人家尖人周四周五不来上班,
也可以帮给制造一点儿小尴尬、小GAP的不是么(这里任何的解释其实也都显得苍白,过
往的经历不是也已经说明了一切问题吗),所以,我们大家小分队周三中午出去小聚的
d**********o
发帖数: 1321
154
实习(65)
自己的项目眼见着就像往常一样轻轻松松地就要做完了(只不过这次不小心自己找了个
BUG, 不过这也是A MENTOR我以来的唯一一个,他没有帮我解决过任何别的BUG的!)
,但阴郁的心情却不见有丝毫的减少,生存的出路始终是压在自己心头的一块千年的石
头,挪动不得。表姐早就知道我心情不好,这个周陪我聊天也特别多。再下次我们在外
面转的时候,表姐就又有一番话来劝我了。
表姐这次直接对我说,项目要是没有做完就没有做完,做不完也没有关系。MANAGER已
经说了,甚至可以提前走,有事情就不来,最后这几天也完全可以不来,直接走人!我
的那颗小脑袋听到这里就“嗡”地一声真炸了~~ 写到这里,深感自己语言贫乏,我的
眼珠也一定又掉地上了;如果我的小伙伴们此时也在这里,他们也一定同我一样惊呆了
!为什么这最后一个周,所有的人、所有的事、我都得去想它们的另一层意思?这哪里
还是我那个极有魄力的表姐,这和俗世里的泼妇呈现出来的有什么区别?“什么BUG,
HURT,REGRET,什么乱七八糟的,这种话都是矮情!”表姐的话说到这里,我终于是禁
不住再次五雷轰顶,表姐的话在自己现在的脑袋里就给直接翻译成了,C要表姐对我传
达这样的意思,真搞笑啊,这怎么可能?
d**********o
发帖数: 1321
155
写到这里,真的是写得很郁闷啊,写的心情也是此起彼伏
或许是没能建立好与读者间的联系,失去了大家的信任,非常遗憾~~
其实我是想写爱情的,大家如果想对骂对战,就早点儿骂早点儿战好了,这样子太难受
了~~
周中有事,会写得慢些,周末会更新多一点儿,希望接下来的内容(两个学期)能两个
星期写完
这样大家都能解脱了~~:)
今天晚饭前会再更新一次
d**********o
发帖数: 1321
156
实习(66)
经过这段时间反反复复地考虑,结合表姐之前跟我提到过我的一些信息仔细去想,我还
是能够想出个所以然来的。
之前表姐作MSTK、NUMv等项目的测试,都是手动人工去测,并没有automation;后来大
概四五月份的时候,表姐接攻艰项目,从这些里撤出来,并且因为已经招了B,B向表姐
要去了MSTK的项目她来做;B喜欢抱一堆项目在手里(感觉安全?),她还从别的TEAM
里抢到至少一个项目。而她能从其它manager手里抢到项目本身也就开启了一场site里
的领导对她特殊时期、特殊人才、特殊处理之程。
因为仔细观察就可以看见,因着site里头目们的影响,至少部分的manager或是组长之
类的在很多事情上会给足B面子,而B在自己组里却得不到C之外(except)任何人的任
何认可,甚至得不到我这个实习生的认可,一如C的blah-blah-talk-talk style在site
里显得张扬而不得力。能看得见因为实习生的事,A时不时地(我实习期间至少两次)
照顾怜悯他的组员B的情绪,但其余时间就算表姐、A都同B都只隔一层夹板,大家都绝
不主动同她讲话!
在我到之前,D到的顺序我不太清楚(好像是比A晚到一个周);C在A前一周到岗;B是
新manager到岗后迎合新人速度最快的人(原manager可能还正痛苦心伤呢),B迎合C速度
之快、关系之好让组里几乎所有的人都生疑;而automation A的到来就直接站了表姐的
队(他们属于有能力有“ soul ”的一组);我去第一天表姐与B就不合,但我当初并
不知道她们的不合缘自哪里。刚到岗不久的D性格好也被安排随manager随意处置,当表
姐与A的小分队太过强大,比如C出差B同我出问题下不来台的时候,site里相关manager
也就几次强推D去站B的队以帮B取得平衡。
d**********o
发帖数: 1321
157
实习(67)
我来实习后被分在C与B的小分队,但就像我onsite后的感谢信更敬重认可A的
professional,对C和B我很难同她们建立良好的合作关系;我吃着碗里的白米饭望着E
、A那边可口的面条,也很惨呀,终于在消磨完一个半月的时光后给转到A那边。
C和B存在的理由大概是打突击,对付我在那里实习的两三个月的时间。她们的确时常地
表现得不够专业、敬业,但别人扉用她们的理由或许就是要欣赏她们的尘世属性呀。我
去实习的第一天VP在、总部的market planning的代表也在。回想起来那实习第一天的
午餐B或许并非不淡定,或许只是要彰显重要性,这样那餐午饭竟成了两个女人的颠峰
对决!
在公司collect 的易燃易爆品面前(A和D的性格都极好),我经受住的了考验,没有同
A与D中的任何人发展出爱情来;但公司或许是顺载学校的做法,强插C这个世俗的
manager来镇压我的aggressive,坚绝不给我任何CREDIT,这从公司文化、企业文化的
层面讲是不合理的,所以C终究必须走人,而B走不走、什么时候走大概要取决于她什么
时候把她抢来的各大项目拖垮吧。
想明白这些,之前的方方面面、点点滴滴也就不那么矛盾了。这一个组原本就是两个
team,两种strategy。大概也就明白了为什么C视我们为风,为空气,为不存在就是为
了不给我们credit吧~~
d**********o
发帖数: 1321
158
实习(68)
我的项目也如期顺利地做完了,A没时间,但他A答应周五帮我REVIEW。没有想到的是周
五,A不仅帮我REVIEW了,而且也帮E REVIEW了,而且E排在我前。
星期五早上11:00钟,A去了E的座位帮E REVIEW。我因为自己的项目已经做完,便也就
坐在自己的座位上听着他们的讲话。大概是因为之前A是直接告诉E答案的吧,这次
review A便有问到一些步骤的原因,奇怪的是,E答不出来;A需要听答案的意图还是很
明显的,同样的问题问了第二篇,可E还是答 不出来。没办法只好继续,E大概应该能
意识到他是应该需要去弄清楚那些步骤的原理的了吧!
没有想到,A的方式也同样地应用到了我身上。当他问我某个button的作用时,我还有
点儿搞不清楚为什么这个button可以成为一个问题,愣着没说话;当他真也要起火问我
第二遍的时候,我也不服啊,就带着戾气地答了,点这个button不就是为了调用一个叫
什么什么的函数么?但A知道我是理解的就很满足了,问我刚刚为什么不答?我便说我
刚刚还没有想到答案呢!
那天review的结果是,我有一个细节不满足他的要求,需要再修改一下。 因为之前的
项目REVIEW前都是我先写一个我自己的解法,他再帮REVIEW IDEA先,最后有必要的话
才帮我看CODE的。所以这最后一个项目,当我拿到项目的时候,我并不知道他有这样的
细节要求,应该是稍微改一下就可以的吧。以前的项目一直都很顺利,我没什么压力,
等A帮我REVIEW完,C就带大家我们该出去吃饭了。
d**********o
发帖数: 1321
159
实习(69)
那个夏天我锻炼得比较多,最多的还是在我家旁边的公园里hiking,那里的Trail还很
长,连走带跑快速一圈过来差不多也得两个小时。 我这个夏天的周末都是在公园里度
过的。
我们开了两个车,A、D以及D的小伙伴和我我们熟,坐了一辆车;E去同表姐和C坐了另
一辆(其实我已经不记得谁同谁坐了哪辆车了,记忆里大致是这样吧)。表姐帮推荐的一
家素食馆,因为C是素食主义者。 我坐在一边角落里,A坐我对面,C坐我旁边,E坐C对
面;再往那边是表姐,D以及D的小伙伴。 大家点了食物,吃得也还算热闹。
饭桌上大概D有提到接下来的长周末会同朋友一起坐 飞机到什么地方去HIKING~~;聊到
E的少年老成(E特成熟),A一边作表演一边开玩笑同E在一起比着说,我真的比你大么
,谁看得出来?C有两个孩子,然后也聊到C对她家孩子的教育方式。C说她不想不会去
打击、或者阻碍了孩子们的热情和天性,所以所有的事情都会尽最大可能地以一种
POSITIVE的思维去对待和处理。饭桌上C说的是她的孩子们,我脑袋里反映出来的就成
了B就像那时她口中她的孩子(或者她的母亲)一样C对她那么亲切呵护,但我们其它人
都不是,一定得不到她那样的对待! 饭桌上,我也有注意到C稍微尝了口某片鱼,但觉
得不好吃就放弃了扔在盘子一边;后来我见A再去尝试那盘鱼的时候就也浅尝辄止、给
扔到了一边,我心里纳闷着,这难道也是同 manager沟通的一种方式?嘻嘻~~ :)
d**********o
发帖数: 1321
160
实习(70)
吃完中饭,我们几个熟悉的小伙伴打算坐一辆车一起走的。A原本说这旁边哪里有珍珠
奶茶可以喝,但我们去看了一下,人太多队伍很长,我还有一个bug还没有改呢! 大家
便陪我一起早点儿回来了。
坐在自己的坐位上时已经是一点半快两点钟了,折腾了一会儿,不对呀, 我怎么还是
没有头绪呢,这可要怎么办?难道我们午饭时间哪里不对刺激到C了,D是被curse了么
?下午一回来,C就去D的座位上去找D,感觉有重视和提升之意! 那天下午半下午的时
间不到,两三个manager去D座位上去找D,先前我同A的第一个常识那行代码犯傻时那个
离C不远比较BULLY的MANAGER也已经去找过D了,难道他们要transform D去干一件什么
要务?其实Manager 去找D一点儿也不奇怪,奇怪的是吃完饭回来就去找、不止一个
manager去找、好几个头在很短的时间里连续去找,难道C同我们小伙伴一起吃一顿午饭
C就窥得了什么天机?
但,现在,我已经想不动这些了,我已经不想再去想这些问题了。现在的自己压力山大
,为了给自己减压,我去lab里找到A,想问他万一我做不出来会有什么样的严重后果。
“ What happens if I cannot fix the bug, this detailed requirement? ”我 的
问话中略带着怒气,因为属于我的时间不多了。“Then the project is undone. ”A
答得很平静,气头上的自己觉得这话怎么听着怎么像他、他们就在等着这样的结果呢!
“ Congratulations! You are half way there! ”我终于是到了跌到了生死悠关的关
头,怎么可能没火气?
相关主题
offer选择,请支招求助,我该接受这个教学职位吗?
Assistant Prof.工作两年想换学校。请教!*** 告版友书 + 总动员 *** (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
161
实习(71)
我同A的关系是极好极好滴,以至于A作我mentor整个期间,在某些问题上(比如前面那
个MSTK LOG项目),我从来就是完全忘记了我还是可以去反驳的!就像刚刚过去的一幕
,其实我应该完全有理由请求mentor早点帮我review,以防万一review之后还有什么需
要修改的,这样也可以给自己留足充足的时间。现在已经走到了这最差的一步,感觉自
己快要只能望洋兴叹了!
亲爱的读者,如果此时我告诉你,因为我已经理清了这里的人际关系,所以为了满足一
下manager C的愿望,所以我顺应她传达给表姐的旨意,直接放弃,下午早早地回家去
整理东西,好第二天早上一大早便上路回学校,那一定是假的、骗人的,因为我的个性
、computer science major学子的专业精神不允许任何人去作这种事情的啊!如果此时
的我告诉你,我才高八斗,没有任何困难地两分钟就解决了问题,那也一定是骗人的。
历史上真实发生过的事情是接下来这样子的。
心里是万般憋屈窝火,可我没有任何理由可以对这样一个待自己也还不错的mentor发火
,我能发出来的也只有自己的蛮横无理而已。这是自上周四晚瘦掉五磅肉以来已经是连
续一个周休息不好了。课文上讲,“强弩之末,势不能穿薄绢也”,高考的时候别人都
在好好准备复习,我却还在自己一片泥泞心伤痛苦挣扎,难道我还要让这样的遗憾无休
止地重复下去么?C说过今天下午五点钟她来收我的门牌卡,看看时间,两点过一点儿
,这样我还有差不多接近三个小时的时间。我给自己下任务:这三个小时,我可以允许
和接受自己因为经验有限、精神状态不够好而做不出来的最终结果,但我绝不接受自己
不去努力的态度!于是,我强迫自己赶鸭子上架,硬着头皮上!~~
d**********o
发帖数: 1321
162
实习(72)
我以为我会有一个轻松舒适的实习最后一天,却没想到我要接受一段时间里最残酷的考
验。如果说世界上只剩下我(俩)存在是属于爱情的至高境界,那在这特殊的一天,我
又真真切切地体验了一回。到那天,真的是实在是没一点儿精神了,跑到厨房里又灌了
杯浓咖啡进去,强打精神开战。
因为精力不好,很难聚中精神,我开始think aloud,把自己的想法默念出来;这个时
候天地之间就真只剩下我一个人了,我 think aloud, even talk aloud, who cares?
(就算周遭的人受不了,可这是别人实习的最后不到三个小时,能够体验经历被打扰一
回,也算是幸运吧! )
怎么说是一个什么问题呢,用户式界面,如果我说有一个对话框,当我调用x,y变量,
把图画好,我的界面会显示x,y变量的值一次;当我再选变量调用 20 次 50 次,我的
界面上会再出现 20 个 50 个显示x,y变量内容的对话框,而A要我界面上始终只有最
后一次结果的对话框,大家就该明白我到底算是出什么问题了吧。
当时的自己是完全没有思路的,如果说之前我还学过Visual Basic编程,应该有过一点
儿用户式界面的经验,但老大,那已经是我尚不是这个专业、半个世纪前的事了,当时
学到的一点儿皮毛也早就还给老师了,现在我遇到这个问题就是两眼一抹黑、伸手不见
五指,什么也看不见,什么都不知道!
但前两天A帮我fix那个bug的经验告诉自己,我应该去trace back log(^_*),根据
log,我应该可以找到一个突破口;另一个突破点就是,前一两天的那个bug,A帮我fix
的过程并没有很多coding,或许同我现在这个想要的界面处理有相通之处,我应该再回
过头去好好学习一下的。
d**********o
发帖数: 1321
163
今天还没有写
临睡前再更新~~
d**********o
发帖数: 1321
164
实习(73)
这样,在午饭饱餐一顿的困倦下,在一杯浓咖啡的药镇静下,一个半快两小时后,我总
算是从阎王庙里逛一回、就差喝下孟婆汤、穷途末路地把思路给弄清楚了,再花了差不
多一个小时左右的时间把code都调整好、整理好。中间我去问过一下A,A要求我把项目
直接交到subversion上去,我剩下的时间不多,还要在交门卡之前至少写一两封感谢信
吧,所以 04 : 42 左右再检查一遍自己的程序就就把项目交上去了。
为时已晚,我所剩的时间并不多,我便开始写感谢信。打算写一封给整个team的,写
一封给 mentor A 个人的,因为这个假期,我们的关系由一封感谢信可以,顺理也该由
一封感谢信结束的。因为之前浪费过一个半月的光阴,因为这期间有诸多的不愉快,我
以为我会走得心平气和、没有多少值得留恋,可真正写信时,一想到A,想到这最后一
个月自己心里感到过的踏实和有所满足、那些点点滴滴、实实在在的实习感受,眼泪就
不受自己控制地扑塑而下,这里还是有自己应该深深感激的人啊。就要走了,就要离去
,我以为自己很沉默很小心地不再制作出一丝的声响,可我控制、压抑不了那抽纸巾的
声音;在想到A的这段时间里,坐在自己有限的座位空间里,竟然是控制不住自己眼泪
滚滚落下、几度哽咽!
如果说初三的那位朋友是解救我于水火之中、一生都将值得回忆的朋友;如果说十六年
前的舅舅为自己当时快要窒息的生活指出了一条生路、指了一条明路,从此阴郁的少女
开始有了快乐;那这个假期,A的存在,便是用他大神般inspiring的智慧、设置了非常
有效的learning curve,循序渐进、为我帮我真正开启了一条新的专业领域道路。因为
这个暑假,借着良好的锻炼习惯和绝大部分时间优异的精神状态,在A的帮助诱导下,
我已经开始懂得去“想”一些问题,这是我过去一年的新专业学习大锅饭式的教育一直
都还达不到的、很迷糊的。常常是即使作业写出来,仍然不敢相信没有丝毫的自信,全
是连蒙带骗、透着瞎猫抓到死老鼠般的辛酸和无奈。
d**********o
发帖数: 1321
165
实习(74)
我把写给整个team和写给A的邮件都CC了一份留给自己,于是便有了后面的两封原稿邮
件。待我把这些该写的邮件都写好,我剩下的时间非常有限,如果我还想去找谁见谁,
那一定是A!珍惜自己剩下不多的时间,我就去找A了。
A看见我高压之下最终还是做了出来,感觉还是很为我开心的。时间就快要到5:00,邮
件也已经发了出去,C就直接来我们这边找我了。A带我也就一起回到我的座位上(之前
我们呆在A的位置上,我向他索要了邮件等联系方式)。因为C一直以来对我们实习生(
尤其是对我)感觉很有些暴戾跋扈,我还是多多少少有些怕她的,便不知道该说什么该
怎么办。
这时A就帮我解围,一边对C说,其实这个实习生做得还是很不错的,即便是在最后几个
小时有限的时间里,项目也还是最终都满足了要求;也一边指挥我说要我demo给C看(E
听说我需要demo他也过来我的座位来看了)。我就重新坐到了自己的座位上,按照A的要
求,展示了从硬盘只从一个文件选择x,y变量,画出一个图来;对于这样的结果C没说
话;A看了结果看过C后接着说,这个项目还可以选择多个源文件、把多个文件的数据整
合到一起画图的,便要求我把选择多个文件的再demo一遍。我小心谨慎地都照做了,选
择了 5 个源文件,结果也都如自己测试过的漂漂亮亮地出来了。A用桢查探求的目光望
向C,我也顺着跟了过去,C的表情显得出乎意料、略带震撼和失望,这期间我有那么一
秒钟的心理满足、暗自开心,可紧接着,这个manager嘴巴一张,就来了句:“ I don
’t know if it can work from any machine, from any checkout version, or it
can only work locally! ”C这样的语音落下,E就回到了他自己的座位上去了。 A接
着她的话说,“ As you have seen, it works great! ”听到C的这句话,我就很不爽
那个午饭时还说着(对她的两个孩子)她会所有的一切都尽最大努力、比较正面地去看
待的C,对B一直都非常正面看待,百般呵护,为什么到了 我的头上就成了百般打压、
抓住一切机会不惜一切代价地打击我?人与人之间的不同就这么明显和可悲么?不服啊
不服,我很是不服,便直接问A,我不想删除自己的local files/directories,那我能
不能用你的机器来测试一下给这个manager看看,A说他的系统缺一个文件,我没有可以
测试的机器,时间也已经到了五点,C就等着把我送出去(赶走呢),我也就只好作罢
d**********o
发帖数: 1321
166
实习(75)
* To: C, A, 表姐,D,B, E,me(personal account)~~
Hi Guys, // Thank you! Fri, Aug 30, 2013 at 4:49 PM
It is the moment that I have to say goodbye though I may not want to yet! My
school started already~~~
I had great time working here as intern and I appreciate the chance working
and hanging out with you guys. I have learned a lot as well as had lots of
fun on Fridays, and interesting and unpredictable stories between mentors
and me. I have learned a good lesson and I appreciate all the things
whatever has happened in a good way.
Thank you so much, and wish you all the best!
mememe~~~
* Hi A, // .uml outline 08/30/2013 at 04:44 PM
I have attached the required .uml outline for Medusa .csv results auto plot
GUI, please check.
Please give me the chance to express with tears in eyes that, having you as
my mentor this summer has been the most beautiful thing ever happens during
my life. Thank you so much. I appreciate it a lot!
I wish you all the best!
mememe~~~
b*s
发帖数: 82482
167
这是奔着作码工去了的节奏?

My
working

【在 d**********o 的大作中提到】
: 实习(75)
: * To: C, A, 表姐,D,B, E,me(personal account)~~
: Hi Guys, // Thank you! Fri, Aug 30, 2013 at 4:49 PM
: It is the moment that I have to say goodbye though I may not want to yet! My
: school started already~~~
: I had great time working here as intern and I appreciate the chance working
: and hanging out with you guys. I have learned a lot as well as had lots of
: fun on Fridays, and interesting and unpredictable stories between mentors
: and me. I have learned a good lesson and I appreciate all the things
: whatever has happened in a good way.

d**********o
发帖数: 1321
168

打着骂着
哭着闹着
反省着隐忍着
忍耐着期待着
就奔到了~~ (^_*)
d**********o
发帖数: 1321
169
还在赶工,今天的内容比较难把握一些
想把一个模块的事写完,写到回到学校
让我再多写写、晚上写完再一起更新吧~~:)
其实写这样一串儿东西
我自己也反复想过很久
临时改变主意机率极小
但因为每天更新的缘故
也一定会根据读者反馈
兼顾人文略作修改润滑
但是也不可能伤及筋骨
所以持不同意见的朋友
我就只能持保留意见了
只是想把一个牌块写完
晚点会更新平时的篇副
10 篇左右吧~~表着急
总算要把眼下实习部分
可总算是快要写完聊~~
我自己也需要叹口气的~~ ^_*
d**********o
发帖数: 1321
170
实习(76)
于是那天下午接下来,就像从周五中午才review项目大家所看到的, C真的就像想赶人
一样、收去了我的门卡、没有小伙伴们的陪伴,独自将我送出site。因为我同C之间越
来越深的隔核,而我面对自己的缺点、脆弱和错误 ,我从来不不惧直面惨淡的人生,
于是她单独把送我出来的路上,我就向她承认了那个换mentor的周五我已经认识到自己
做错了的事实。“ I don’t know if you have learned the fact or not, I did
realize that I made the technical mistake, and at least that once, B was
correct! ”我想我的内心是坦荡的,我没有什么见不得人的事需要躲着藏着。C便也开
始安慰我说,希望我离开之后,能以一种积极正面的态度来看待这里所发生过的一切。
前面提到,我所知道的site里的party有三次,我只经历了两次,第三次是属于E的殊荣
。活动被安排在了九月十三,应该是E在这里工作的最后一天。而且不同于前两次活动
在Local onsite在自家厨房的是,这次活动安排在户外,所有员工、实习生应该都是欢
迎带家人亲朋好友可以参加的。而且,据说那次活动会有礼物,大家应该会玩得非常心
。这些是送给E的贺礼。A早就说了,他会带他的妻子去参加活动。周三我们小分队出去
吃午饭的车上并且他们有计划在那近期去visit 他的in-laws。
我也就要离去,我有些不方便带走的东西我还需要暂放在表姐那里,于是周五的晚上临
走前我便去找了表姐。就像要远离家门的孩子,每逢别离,表姐也总是会有一番话要交
待嘱咐给我的。就像那天表姐顺利完成他们业界在外面的测试后的那天傍晚我俩开开心
心地聊天一样,这天晚上,表姐又把我带到了这个附近的公园。
相关主题
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
进入WebRadio版参与讨论
d**********o
发帖数: 1321
171
实习(77)
如果说从前我只从舅舅舅母的故事里,和表姐对我讲过的事件里了解认识表姐,那这个
暑假也让自己亲自见识一回表姐的待人处世、专业和厉害。曾经,甚至到实习中期的时
候我还再认为表姐内心过于固执,即使有这样一次绝无仅有的实习机会,或许我们也不
能珍惜、无法认识和了解彼此再深一点儿,我心灰意冷失望过,尤其是很长中间一段时
间表姐一直不理我的时候。但等到实习结束,对表姐的认识多一点儿,表姐也看到我的
干劲,也还真让我们相互间真正建立起了信任。这是我真真切切滴想往过的,看到这一
天的到来,我恨不得手舞足蹈、心里美滋滋地、开心极了~~!
这是一位善良的女子,小的时候会爹妈分担这家务,照顾自己的妹妹长大;土相摩羯座
,别人可能会认为他们固执,实际上他们很小心地提防可能的危险,在数里之外就能觉
察到灾祸所在,所以他们几乎比任何其它的星座、比一般人都要实际。其实每次来到这
里来到加州,我最先做的一件事情就是向表姐吐槽我所有的功课都只得了B,然后把自
己这一个学期或者一个学年的上课情况、意外事件、受到过的委屈和伤害等等,我总是
柔弱无力地把它们向表姐吐了又吐、吐了一滩又一滩,而表姐是耐心的也是善良的,我
吐槽完毕表姐从来都是劝我,人与人之间是真诚的,要我将心比心,努力化解与老师同
学间的冲突。对表姐苦口婆心般的劝导,我嘴上不说,但心里一直都是很感激的。而三
四年前的 12 月,我究竟是赌得哪口气硬要认为表姐逼我还她两千块钱?想来那时的自
己还是太不懂事了。
d**********o
发帖数: 1321
172
实习(78)
在我这里,表姐的人际关系也稍显迟顿(自己原本也是不个灵光的,要不然也不可能累
积到最后)。表姐看我最后一个周挣扎在人际关系的漩涡里,她就一点儿也不难受么?
她也难受,但她也无能为力、帮不上忙。因为表姐自己也看不清楚那些纷杂的人际关系
啊!就像我能清楚地感觉到头目们在B出事时的宏观调控、A在B出各种事情时的几次微
调,我能从与B相好的人的职位、处世方式猜测到可能的原因和蹊跷。表姐之前在美国
这边最开始参加工作的几年里常常同事们闻得什么风吹草动、早走了,表姐总是那个后
知后觉、各种后卫、打扫卫生却还被裁员下岗的人;另一边又有manager C各种打边鼓
,而表姐也实实在在、从来就是一个manager让干什么就干什么的人,所以,最后一个
周对我们俩个都是痛苦的,她看到我那样,也只能是徒增难受而已。
就像在B最为不顺的日子里,我仍能看见她不在site里吃中饭,但还很乐观地为自己找
机会说她有很多Priority一样,相对而言,我其实是能够正面地看待问题的。我就把自
己眼中D的乐天、任何时间都开开心心、请教问题别人都喜欢、同任何人总能站在别人
的角度上替别人考虑、D小伙伴的向A问那个宗教问题帮我挡箭的好人品(以及我开玩笑
时说他家儿子男孩一般同妈妈更亲时他说“ Then my wife will be happy! ”的开心
)、E和B的各种小tricks、E的成熟稳重低调、B的乐观(除非自己打倒自己,别人没人
可打倒她)和对待工作忘我、全然忘记掉team member的高度热情等优点,team里的各
种会议方方面面、点点滴滴的感悟(比如会议上E的种种瞌睡;B的兴之所致、翻江倒海
的各种新奇主意;有一次A说表姐NUMv一个什么东西是做不出来的,表姐事后同我说是A
不懂那个technique,我对表姐解释A的背景里有这些版块的技能。A当时之所以那么说
话,应该是因为manager已经明显表现出对B的呵护与偏好,任何一个新人都会顺应老板
的意思而不是去忤逆她!)、尖人的各种神现身、以及A的专业能力上帮我fix一个bug
所展现出的强大、工作能力上到岗不久,内敛低调(同面试manager职位、委屈在C之下
)团结各色人(同尖人的交锋)等、借着automate其它team的测试,迅速升级为site风
云人物、几乎可以架空current manager(我相信site里有很多像我一样忠心认可他的
能力、祝福他的人,生日庆祝时也见识过了)、管理层面等等等都同表姐分享了一遍(
A处理E与我的关系、帮B和平过度换mentor期等)。像上次用D的事例劝表姐一样,我还
是希望能好言相劝表姐平易近人一点儿,同大家打成一片。
d**********o
发帖数: 1321
173
对不住大家
今晚不贴了
手上有 4 篇初稿
但感觉还不够满意
虽然我写史实
但故事性太强
只适合读一遍
一次写不进去
就只能遗憾了
还是明天再贴
让我多考虑下 ^_*
b*s
发帖数: 82482
174
随意,随意……

对不住大家
今晚不贴了
手上有 4 篇初稿
但感觉还不够满意
虽然我写史实
但故事性太强
只适合读一遍
一次写不进去
就只能遗憾了
还是明天再贴
让我多考虑下 ^_*

【在 d**********o 的大作中提到】
: 对不住大家
: 今晚不贴了
: 手上有 4 篇初稿
: 但感觉还不够满意
: 虽然我写史实
: 但故事性太强
: 只适合读一遍
: 一次写不进去
: 就只能遗憾了
: 还是明天再贴

d**********o
发帖数: 1321
175
That is quite relaxing...
自己心里有期待,
想放松就不容易啊。。。
一定会贴出来的,
不要太着急,
不要太期待。
嘿嘿 ;)

【在 b*s 的大作中提到】
: 随意,随意……
:
: 对不住大家
: 今晚不贴了
: 手上有 4 篇初稿
: 但感觉还不够满意
: 虽然我写史实
: 但故事性太强
: 只适合读一遍
: 一次写不进去

d**********o
发帖数: 1321
176
实习(79)
我滴不隆冬、叽叽喳喳地向表姐说个不停。没想到表姐却打断打趣我说,“你这是情人
眼里出西施,他的framework出问题了,你知道不?”见表姐如此反问、如此心惊,我
便睁着眼睛说瞎话地问她,“谁的framework出问题了,A的会出问题,怎么可能?”表
姐便解释、问我她那个NUMv早就交出去了,为什么那天C去找表姐,要她再去run一个
NUMv几个test case?
听到表姐充满惊恐、疑惑地问出这句话的时候,我的心就瞬间就融化了!这两年里我一
定相信表姐的善良和无辜。表姐的问话多像高三那个不敢不愿意去上学,一定得去上学
还巴巴地期待有人会鼓励一下当年的自己?当年的自己没能等到太多鼓励,但听到英语
老师那句话的时候我心里温暖过;表姐是比我大 16 岁的人,听到这话的自己内心却像
是一个母亲想要呵护自己的孩子,满满的都是理解宽容和爱意。我的那个从来都善解人
意、听话的表姐,老板让干什么就干什么,甚至出去测试明明是B的MSTK出问题了,还
委屈自己回来取更新的firmware,她何至于要如此屈尊?面对manager如此行事,她心
里就真正没有过一丝一毫的委屈么?那时C找到表姐要她去作这些测试的时候,表姐内
心里一定有过惊恐不安的吧。虽然表姐的项目早就已经交出去给A交了两三个月了,是A
第一个automation的test sweet,可表姐对自己交出去的项目都还保持着非常谨慎的态
度,揣摩着不知是A的架构出了什么问题,还是只是C想要她去核对一个什么内容(因为
她相信自己当时的测试不出意外应该是没有任何问题的)。表姐说她当初测试的时候没
出什么问题,A应该不会出问题才对,为什么C会安排她再去测一次呢?
我心里大致猜到是什么事儿了,便问表姐是哪天C要她去测试的,表姐答说是某个周一
,我便问她是不是两周前的周 一,18号那天下午,表姐回想了一下说是。我便对表姐
讲了那个周一A没有来,我以为lab里会空,所以那天下午去lab转告诉B对面的senior我
想用机器的事。我安慰表姐不用担心,不但她自己原本的测试没有出错,A的framework
也没有出问题,问题只是出在那天下午C要抓人去占机器占位置。我告诉表姐,现在知
道,不光她这个攻艰项目的人被去当作苦力奴隶抓去占一台机器,另一个team里一个察
言观色常同B搅在一起的那女的也给抓去测了,所以senior告诉C、C告诉site里其它
manager,或者其它步骤,但一定是有一个人告知了site头那里,这也是为什么senior
一两个小时之后才告诉我没有机器的原因,他们也需要反应、安排布置和分配的周转时
间的呀。
d**********o
发帖数: 1321
177
实习(80)
顺便地,我把自己生日他们庆祝、以及接下来周一的午餐等等一并讲给表姐听了。如果
说属羊的女子内心是一个长不大的孩子(自己的个例就是中学时生长停滞五年),那摩
羯座的内心其实也有着孩孩童般的纯真,我相信表姐是善良、清白无辜地被卷入到测试
中去,进而还惶惶不可终日地担心了那么久!出于人本能的善良,我就把这些共有的关
系、生活在同一片天空下的人事作为一种联结纽带帮表姐、也帮自己,把这一切的人际
关系看得再清楚透彻一点儿吧。于是,我又向表姐讲了那天傍晚B同我checkin项目前前
后后的经过,B的骄傲、我为表姐出气以及后果等等。表姐们是我中学黄金时代里爸妈
缕缕拿来鼓励我的武器,我眼中的表姐是不可亵渎的,心高气傲的自己又怎么可能看着
B让表姐那么受气?
我是非常佩服表姐是有着极大的魅力的。我是个迷信的人,便也不会免掉去查表姐的星
座。星座上说,惊慌是表姐这个属相星座人的主要情绪特征,“他并不善于变通,所以
当其遇到突然的转变或迅即的新事物时,他会立刻转向各种方向。摩羯肖兔者为无谓的
事惊慌。”跑一下题,也写一句摩蝎座。这种个性的人在规避潜在的危险时所采用的作
法就未必是他的真实想法与初衷了。那牵涉进来的人、事、性格存在,比如相对肤浅、
出口必黄、走哪儿黄哪儿的水瓶座,还会那么理直气壮地认定一切的发生都是那么理所
当然呢(是否,能够联系上下文环境,稍微深入地回想一下一些话、事情究竟是在什么
境况下才说出来、得以发生)?(^_*)
d**********o
发帖数: 1321
178
实习(81)
我想,如果时光倒流,那天傍晚、那种情境下(就算冒着项目可能会出问题的危险),
我还是会为表姐出头去交项目的,因为我不愿看见惠质兰心、心平气和、潜心钻研的的
表姐因为一颗石子崩入平静湖面而打破宁静、泛起惊恐滴涟漪。
如果借用那句著名的话,“因为懂得,所以慈悲”,我想一定会有人说我自恋的,我也
不敢承认自己能真正参透这句话,所以还是用自己的话说吧。一年365、366天,这个丫
头偏偏就出生在了细心观察、分析以及评论人性的这一天。星座上说这一天出生的人对
别人的评价令人可以真正看清自己的性格。所以用自己最真诚的话说,我想,我并没有
先天下之忧而忧、悲天悯人的文人情怀和境界,我所有做过的能做的也只是当我能感受
到、看清、明白别人在痛苦中挣扎时,希望自己的一个抚慰拥抱、一个举手之劳可以让
别人解压释怀或者开窃、过得稍微舒坦一点儿而已。
不是说爱情里最重要的一点就是要能够理解、包容对方的缺点么,在我看来,友情不也
一样吗?看到表姐这样一个小缺点的自己,真真切切地感觉到表姐不再是高傲不可一世
的、不是那种大神般的存在近而只可远观、不可亲近的,那是一个有血有肉、实实在在
滴肉身,有着你们都有的这样那样的缺点,但也就是这些这样那样的缺点,让这一切的
发生来得这么自然、真实、充分感受爱情友情亲情的每一次脉动!^_* 我为自己在B的
挑衅下为表姐出过气感到骄傲自豪!
d**********o
发帖数: 1321
179
实习(82)
姐姐们都结婚很早,大姐家的孩子已经快要大学毕业了,二姐家的过去这一年正上高三
。姐姐大概也受启迪于我当年高考的教训,也希望她的孩子在这样人生至关重要的一年
里能够充分享受到父母的爱吧,姐姐休了一年的假,全程专业照顾她的孩子高三学习。
小侄女早上上学时天已大亮,自己走路去学校,其余据说是早中晚一日三餐都由家里送
到学校食堂,她会在那里、姐姐看着她吃完、陪她聊一聊学习生活中的事,等她吃完再
回家;晚上太晚怕不安全,姐姐姐夫也会去学校接侄女回家。第一次听到妈妈给我提这
事的时候,替小侄女高兴的自己眼泪就崩崩地滚了出来。
姐姐家离学校很近,这一年妈妈也一直在姐姐那里休养、顺便稍微帮帮姐姐的忙。姐姐
会送早、晚餐加晚上接侄女回家,妈妈会帮着上午去菜市场买菜、外加送午餐到学校。
因为姐姐也还是多多少少有点儿自己的事情需要去忙的,比如想学车,可能以后早晚还
是会有想买车的打算吧,哪怕是买二手车呢?
这个暑假来加州前一个周时,我早就同姐姐约我,我想在自己出发前同大家视频一下看
看大家、看看妈妈。很久不见,妈妈脸上的皱纹都早已爬上了额头。这一两年里,因着
生活的变故,妈妈早已从那个很显年轻的中年母亲变成了位老太太,昔日臃肿的身财也
在照顾爸爸意外的岁月里、也因着她自己的病故,现在瘦只剩不到90斤。我看着妈妈,
心里很是感慨,摄像头前,怕掩饰不了自己,便挪到床头,借着扭头的间隙让枕巾沾去
泪水。妈妈对我讲着给爸爸烧周年、清明回家时亲朋、姐姐们都回家去的情景境况。妈
妈不紧不慢地讲着,我良久没有话说,只能任凭脑袋不停地扭动。
d**********o
发帖数: 1321
180
实习(83)
同妈妈聊完后,姐姐自己陪我也拉过些家常。快要关视频下线了,我衷心地对姐姐感慨
了一句,“有你们姊妹在家照顾妈妈,我在这边真的是心里好放心呀(实在是太感激你
们了)!”这该是我这个不懂事的孩子这些年来第一次对任何一个姐姐讲这样的话,摄
像头里的姐姐笑得花枝乱颤、忘乎所以,这边说这话的自己却禁不住再次眼框湿润。
唐立淇老师说,“回顾2013,狮子们真是经历了一场风雨啊。无助,慕名,看尽丑陋,
也算是难得的一次“利空”。就当是能量平衡好了,让羡慕、嫉妒、恨自己的人,有机
会发泄一下倒也不错。” 唐老师这句话是写2013年的,却很适合今天傍晚敲字时自己
此刻的心情。
还是借用唐老师的话来说吧,回顾2012,这真是一段很值得纪念的成长史,上半年已经
取得了一定成绩。火红的好运,让狮子看似无往不利,但变化的种子,也往往在无往不
利下滋长。从五月开始,我便成了那被修理的受害者,因有了地位气势而致之。“上半
年顺势斩断过去,下半年深沉的内部整理。”
回顾自己这新专业第一学年,落霞与孤骛齐飞,秋水共长天一色。这一年里,失魂落魄
过、魂飞魄散过;受过老师最严厉的打击、也接的有事后的隐形表扬;默默地努力过,
小有成绩;也有眼睁睁地期待着AI拿A却只得B的失落。过去的那个寒假是没有方向的,
换来的是春天学期里,逃避去想任何结果的默默努力,因为天下所有的人都知道,努力
不一定能取得成功,但不努力一定没法成功!
相关主题
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤博士还有两年毕业,今年要孩子还是明年要孩子
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
进入WebRadio版参与讨论
d**********o
发帖数: 1321
181
实习(84)
如同早前一个周已经计划好了,我上一个周末的时候已经准备好了干粮、备好了药材、
理好了头发,就等好好休息一晚第二天就可以开车返校了。这条路我已经来来回回走了
很多遍很多遍,但唯有这一次的走得这么惆怅。开过了680、505、来到 5 号,我对于
自己实习最后一个周、实习最后三个小时的战斗成果都还是很满意的,至少这一次我没
再作缩头乌龟!回忆过了这一两年,也真心感慨,这一年对自己来说也真是一段值得纪
念的成长史!但这一路上我心里其实始终都在想着一个问题:整个暑假状态都极好的自
己,为什么最后一个周就过得那么疲惫、狼狈不堪?我知道是工作不累人人杀人的人际
关系让自己困扰,可为什么我会把它们累积到这最后一个周呢?
我的脑海里过电影般反复重复着最后一两个周的细枝末节,去想自己表现得可圈可点的
地方,也会去思考做得不足、需要努力的地方。想着最后关头,C的那句信口盖过来就
是一句乌鸦嘴的话,还实在是禁不住心里有气;可A为什么就不帮我在他的机器上测试
呢?去回想自己的项目,突然就想起,最后关头,因为急、因为赶,我还是犯了一个小
错误。A让我把我最后一个项目放在什么什么目录下一个新创建的文件夹里,我测试时
在sys.path(“…”)的路径里加了那个文件夹的文件名,但当我checkin交到
subversion时,我忘了在路径里加那个文件夹的名字了(from …x import …)。其实
真正诚实地说,当A要求我新建一个文件夹的当时,我当时就有想到我的module导入的
时候,我是需要把新文件夹的名字带上的。但因为后来因为太忙太赶还是出错了~~ 心
里万分后悔,在当时想到我要把它们装进一个文件夹的时候,思考想到这一点儿的时候
,我就应该用笔把它写下来、记下来以免以防万一自己会忘记的,但自己当时的觉悟还
没能到这一点!
就像一年多后后来QQ群里,其实感概小伙伴们的讨论还是很有些价值,能够帮助自己与
同龄人去比较交流,找出自己比较弱需要加强的地方,所以从6月份我就开始存每天的
QQ日志,但那天的日志我还是没能存下来。如果早点养成每次登录就能记录一部分的习
惯,那我最后阶段同一位对我非常重要的人的聊天记录就不会丢失,但我还是失去了那
份纪录,这对我是非常重要的,当然我也还是可以争取更大的胜利的^_* ~~当然,这
是后话。
回想自己最后三个小时的状态,我以为自己没有遗憾,可还是有的啊,至少那个我是会
做的,却失误掉了。回想到之前的失误,我开车的心情开始变得阴郁起来。
d**********o
发帖数: 1321
182
实习(85)
其实我一直都还是没有想明白倒数第二个项目A说还有一个地方需要修改一下到底指的
是什么?是因为.csv的那一条命令的话,它丝毫不会伤害到我,因为这是我们之前早就
讨论过的话题,不是项目的不重要。那如果不是那一条命令,又会又可能是什么呢?
长途是漫长的,但是借由着时间的累积,还是不知不觉地开到了下午傍晚,一千miles
的长途也就开到了中点。是我一直在想问题、分心了么,还是也是开得太久,人早就已
经疲了,眼看旁边一个牌子写着45我瞬间就踩刹车迫降了下来,怎么后面就马上跟了辆
警车?没办法,赶快把车停路边。
警察说根据他的纪录,我在第二个45限速牌后还开了61;我向他解释说这个小镇不明显
,我是刚一看见这个45就降了下来(你可以测量现在停车处与这个45牌标处离得都不远
),但我不知道你在停在这里等我;我解释我因为车的cruise系统坏了,我开是一直踩
油门的,如果偶尔不小心速度升到61,根据车自带的计速表、根据GPS上的速度,一旦
发现自己超速我都会很快降下来的;我甚至对警察解释说,我之前超速过,但这几年我
已经彻底改变了,2012年7月底回学校时我全程没有超速;今年暑假我来加州时也没有
超速过,这次是意外,希望他能帮忙理解通融一下~~
但是任凭我怎么说怎么解释,警察还是执着地给我开了罚单,他只对我说我可以选择交
钱,也可以选择上庭或是写邮件,可是邮件管用能起作用么,上庭这前不着村后不着店
离自己的学校到加州四五百迈的地方我要花怎样的代价来上庭,上庭还不如不上的呀?
!!警察可不管这么多,给我开了罚单就走了。我除了开车上路,还能怎么样?开车前
看了一下金额,$160,他们以为我的钱是大水冲来的?
d**********o
发帖数: 1321
183
实习(86)
我以为我可以坚持着边开车边调整好自己悲痛的心情,但这一张超速罚单就成了压倒骆
驼的最后一根稻草,数日来地层里汩汩翻腾着岩浆在这一刻就真的火山暴发了。
滚滚落下的泪水已经严重扰乱了我的视线,我开不下去了,很容易出车祸会死掉的。我
把车趴到路边,自己也趴在方向盘上,像一个走丢迷失的孩子、失声大哭起来。
我好歹也算是一个带点儿灵气的孩子,尤其是经历过高考的磨砺之后(它迫使我探索内
在)。就像之前2012年5月有那么一刻,我会因为经受不了与舅舅关系的考验,觉得自
己的人生就要跨掉了;在这一刻,随着一年来深沉的内部整理,成长的脚步早已逼近,
就算是被迫成长,也不得不长一定得长!随着这个暑假最后两个项目也都一个一个带着
瑕疵,这个实习的已经彻底落败,生存的压力就像刺骨的寒风再次侵袭。脆弱的人际关
系,我要如何提高抵防?
这个警察不也一样么?我解释得这么清楚透彻了,为什么他还要那么执着地给我开罚单
?在这45之前就是55的限速啊,正常情况下超5迈都不会抓,我第一次送开车来加州的
路上舅舅对我说过这是不成文的规矩。那我61迈没什么不同,而且他自己就等在第二个
45牌的有限距离内,这点儿分歧,他自己就没有意识的么,他给我开罚单他就安心、心
安理得么(难道他也要受manager指挥)?可我那春天出庭结束后的$1300的罚单呢?有
谁会真正站在自已怕立场上替自己考虑呢?
d**********o
发帖数: 1321
184
实习(87)
不是别人就消极就弱就出错,看人只能看到别人的缺点,昨天晚上,对看不转这些人际
关系的表姐,我不是以早就已经以最大的善意向表姐讲述讲解了这来来往往、因果照应
、讲完了几个轮回了么?可表姐的惊恐疑问让我没法不去重新斟酌评估评价C的各种捣
乱。
有了C两个周前的捣乱,就不难理解一周前的周五她会说下个周见不到我的话;也就不
难理解最后一个周表姐的各种神叨叨地劝说,不全是C的主意么?同自己向她的问话环
环相扣,巧合得天衣无缝!有了来自policeman的一次又一次的罚款,有了来自于C的这
层层罪恶,也早有了自己之前的两个team两种strategy的特殊关系的理解,至此我已不
忌惮以最坏最大的恶意来揣度这这缤繁纷错的实习,这叵测的人生!
凭借最后两个周自己觉悟的恢复、意识逐渐清醒,以及周五A帮我fix一个bug前前后后
的事情,此时的自己就该非常明白,上周四下午同A吵过之后,我checkin VDBench项目
之前,B交她的项目就一定是C的主意了,B不会傻到自发地想在我先交,而且她们俩个
无时无刻不在talk,那C要B交项目的旨意便正是逼我交项目!我以为自己赤胆忠心、设
身处地的在为表姐着想,却不折不扣地走进了别人设计的陷井!B应该不明白C要她交项
目的真实目的,但相对于表姐的固执可靠稳定,B便有当年交际花般的圆滑八面玲珑,
与C沟通极好,就像国庆表姐时她会向A传信息!但人的傲慢是很容易滋长的,她原本按
照C的要求交项目就该完成任务了,但后面的凌乱就该属于她个人行为,因为manager那
天早就走了,她自己也一直就有这样的历史!C没有料到B会骄傲,B没料到我会为表姐
出气,我想不到C的tricks,于是那天晚上大家就一起凌乱了!
d**********o
发帖数: 1321
185
实习(88)
我知道自己是为表姐出气交的项目,还没有同A下这样的决定,所以第二天就表现得很
乖,就很希望如果我有什么做错的地方A能帮我指出来,我还可以改的!前面忘了提,
其实这天我有从subversion修改一个python文件,因为有一个indent我只空了三个
space(正常应该需要 4 个),当时就有过舆论说我这是在暗讽B,就算别人只改一个
空格也只修改了一个文件,哪里犯得着像B这么如此这般大刀阔斧地乱搅?也难怪site
里善良的人们要去同情她了,但实际上我只是追求正确罢了。
那A呢,第二天的A为什么就只字不提具体那个要改的地方是什么呢?说起来也很奇怪,
心理学家应该去研究这样一个现象,刚来美时在舅舅任职的学校官网上搜名字时我没找
到,但一年后等我恢复,“eecs”就像一串神奇的密码蹦入脑海;同样的事情发生大哭
时,这次的密码是“__init__.py”!回想A的framework里很多层文件夹可见的这个文
件,对照C的随口一句恶咒我只能在local机器上行得通,外加A推诿说他的电脑缺一个
文件,那我的这个文件夹里需不需要这个文件?
前面没有解释清楚,因为对生还有留恋、没有勇气去死,我高考前之所以想要离家出走
,是因为认识到自己撒谎了,思想滑波,觉得自己一无是处,同任何亲人相处都会给别
人带来痛苦,所以,为减轻对亲人、亲朋好友等关系至近的人的伤害,对我来说最好的
办法就是远离他们,一个人到一个陌生的地方去流浪!当然这个想法是当时自己的秘密
计划,若是那时有一个人挑明我想离开,也是因为我爱爸妈养育我的这个家,爱自己的
亲人,我是否可以打开心结(这是后话)?今天大哭的自己险像极了当年的自己,还禁
不住地泥足深陷、痛苦沉沦!
d**********o
发帖数: 1321
186
实习(89)
好,我回去一定要仔细查一下这个细节。那就算我这最后一个项目还真缺一个文件,可
我从来都不曾真正涉及到这个文件、这个版块的呀!这时骂人的心都一个头10000个大
,痛苦呀痛苦、不服啊不服,那就让暴风雨来得更猛烈些吧!
那既然这个神奇的密码已经出现,它会成为别的项目的问题么?第一个不会,因为MSTK
这个test suite是A早就搭好的,我也只是修改了一些他的文件,在现在的牌块中插入
必要的文件,插入这样的部分内容就可以了,那其实项目呢?是的,除了最后一个项目
,它就一样也成为了倒数第二个项目一一VDBench的问题!我的这个项目需要这个文件
么,不需要么?它为什么不需要,不需要的话除了local机器上我指明了路径能测,到
其它机器上真的能测么?C最后打击我的原话是怎么说的来着?我以为自己可以在自己
Windows机器上测一下就可以了,我以为在自己机器上测过就可以,原来我真的需要在
lab里好好仔细测一测的!
这个细节回去后一定要好好查一查!那现在的问题就是,上周五我checkin那个修改一
个space的文件都交过一次,那么A为什么不帮我及时指出来一一尤其是当这个问题一定
会出现在我下一个项目里的时候?再回想一下C随口而出的那句最后时刻还要打击我的
话,这是C早就知道的?这是A早就知道的,这是A故意如此设计的?Ooh my God! 这里
是平原,如果路边若有一堵墙,我一定去撞死,活在这个世界上太悲哀了!
d**********o
发帖数: 1321
187
实习(90)
A怎么可以这么对我?A怎么可能这么对我?A不知道这一点,不,A不可能不知道这一点
,C也不可能不知道这一点!如果如同我之前所猜测到的,如果背后真存在着一个时刻
监督着我的队伍,那他们、C、site里的各大头目们一定是知道我上一个项目的问题的
!那如此做法,就是为确保我最后一个项目一定接着出问题,无论如何,逃不出他们的
手掌心?
A这么做是为了升官发财、平步青云?No! stop it,太恐怖了!我敢再往下想,心里有
一个声音本能地告诉自己,不是A,一定不是A的本意;他这么做,一定是有苦衷的,是
C授意B赶交项目的逼迫让A明白要那么做的!最最关键的,自己当时竟然不知道、意识
不到我应该去反驳的!A是无辜的,那C呢?C从来都是就是这么对待自己的啊,这一环
一环还有太多的步骤,C的做法有太多的不能理解,从最开始无视我们的存在,到最后
想法设法加害于人!C是同B一样世俗的人,C又何至于能够把人掌控、操控得这么完美
、天衣无缝?还是这个傀儡manager的背后,隐藏有真正的高人?我的想法吓到自己,
我不敢再往下想下去~~
这一年里我得各种B就真的只值B,活该么?一年前的五月,我清清楚楚地知道感觉到舅
舅有要我回去闹的意思,但我不敢、怕自己输不起;一年前我留下的时候各种犹豫,舅
舅和表哥都不表态、不发表任何意见,那现在、一年后当自己毕业的时候,我同样没法
去丝毫地依靠这样一个人,爱了又如何,不爱又如何,这个世界上我始终都只能一个人
孤零零地去承担一切、依靠自己存活!
这里是横垮大平原的Freeway,车道上的车呼啸而过,我在车里放声大哭,思想思维走
到这里,天无活人之路,梦想让我一次次去努力,却又让我一次次去挫败,我心里能感
受的只有万籁俱静的恐怖,仿佛<电锯杀人狂>里的女子,如果QQ群里大家刷屏,“
new grad哭昏在厕所”,我凄切悲怯、哭天怆地、惊天地、泣鬼神!如果我生在早前的
时候,我一定比孟姜女早上千年就已经哭倒了长城!这个人多想逃离、超越这平凡的世
界!
d**********o
发帖数: 1321
188
实习(91)
相比之下,E生得多么幸福!自始自终都有最好的mentor!始终都有着board里、善用各
种攻心计的的舅舅罩着,有着尖人这样的贴身保镖全程护卫!在我还没有意识到自己有
错误、犯过错误的时候,site里最大的官就安慰、抚慰过我说实习生suppose to make
any kind of mistake they want! 表姐不愿意从technical层面帮我,可自己最困难的
人际关系上表姐却无能为力、完全帮不上忙!而E不仅自己可以慢慢地做项目,还有着A
与我各种失误教训的警醒,比如国庆节表姐走后B向A传信息的时候他就可抓住要点;那
我最后一次DEMO的时候他一定可以千真万确清醒地认识到、明白别人是在抓把柄!这样
即便A最后两个周只交他最后一个项目,他只要保证做对就可以了!
我到最后走的时候,连平时同自己最亲密的小伙伴都不敢送自己出来,就C一个人把自
己赶出来了;小伙伴车里、吃中饭的时候还在开玩笑说的“bear hug”在这种情况下又
怎么可能?别人还可以举国欢庆、到户外去欢庆,让所有的人都知道他们是粘了E的光
才得以出去玩的~~ ;)
哭了大半个小时吧,哭过了最为悲怯的部分,终于哭累了,自己的情绪也开始慢慢平复
。当我渐渐平息,那现在,对于自己的项目所出现的问题,他们又会怎么处理呢?因为
自己在路上哭一场,他们就像最后一周自己的bug被无限放大一样,自已项目的问题是
会被C无限放大,还是像上周四吵架时A提到过的,让E来发现我的问题,为E的提升提供
有利电梯?这些,都已经与自己无关了!
x***n
发帖数: 10764
189
写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
起个名字吧…

make
着A

【在 d**********o 的大作中提到】
: 实习(91)
: 相比之下,E生得多么幸福!自始自终都有最好的mentor!始终都有着board里、善用各
: 种攻心计的的舅舅罩着,有着尖人这样的贴身保镖全程护卫!在我还没有意识到自己有
: 错误、犯过错误的时候,site里最大的官就安慰、抚慰过我说实习生suppose to make
: any kind of mistake they want! 表姐不愿意从technical层面帮我,可自己最困难的
: 人际关系上表姐却无能为力、完全帮不上忙!而E不仅自己可以慢慢地做项目,还有着A
: 与我各种失误教训的警醒,比如国庆节表姐走后B向A传信息的时候他就可抓住要点;那
: 我最后一次DEMO的时候他一定可以千真万确清醒地认识到、明白别人是在抓把柄!这样
: 即便A最后两个周只交他最后一个项目,他只要保证做对就可以了!
: 我到最后走的时候,连平时同自己最亲密的小伙伴都不敢送自己出来,就C一个人把自

l******k
发帖数: 27533
190
写得太悲伤了
包袱放不下,就永远被压着踹不过气
劝楼主轻装上阵,翻开新的美好篇章
这些不开心的事情,最多1,2天我就全忘记,大脑空间有限,赶紧清楚掉不值得收藏的
内容
把生命中开心美好的时刻深深记住!

【在 x***n 的大作中提到】
: 写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
: 起个名字吧…
:
: make
: 着A

相关主题
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
请教一下各位教授郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙
offer选择,请支招求助,我该接受这个教学职位吗?
进入WebRadio版参与讨论
d**********o
发帖数: 1321
191
夏老师好~~
是纯写实,主要还是吐槽吧,忍耐太久太痛苦会憋出毛病来的 ^_*
实习的部分复杂点儿,后面的人物就简单多了,我去想想后面的人物该怎么称呼。
我不会写作文只能讲故事,也很欢迎夏老师以这样的故事或者某些情节为原型,进行深
层创作,写出更多更好的作品来。夏老师的作品、写的文章我都很喜欢 :-)

【在 x***n 的大作中提到】
: 写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
: 起个名字吧…
:
: make
: 着A

d**********o
发帖数: 1321
192
是啊,这两年的成长太不容易~~
mm好贴心,表姐也从来都是这么劝我的。
这是我努力的方向,也希望自己能尽早快乐起来~~

【在 l******k 的大作中提到】
: 写得太悲伤了
: 包袱放不下,就永远被压着踹不过气
: 劝楼主轻装上阵,翻开新的美好篇章
: 这些不开心的事情,最多1,2天我就全忘记,大脑空间有限,赶紧清楚掉不值得收藏的
: 内容
: 把生命中开心美好的时刻深深记住!

b*s
发帖数: 82482
193
这样的?
我的前辈先生N,正走到我的寓里来谈闲天……
阿Q,小D……

写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
起个名字吧…
make
着A

【在 x***n 的大作中提到】
: 写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
: 起个名字吧…
:
: make
: 着A

x***n
发帖数: 10764
194
闰土,孔乙己,九斤老太,吴妈…我要困觉了…

【在 b*s 的大作中提到】
: 这样的?
: 我的前辈先生N,正走到我的寓里来谈闲天……
: 阿Q,小D……
:
: 写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
: 起个名字吧…
: make
: 着A

r****e
发帖数: 3373
195
以后谁再提九斤老太
我就跟谁急

【在 x***n 的大作中提到】
: 闰土,孔乙己,九斤老太,吴妈…我要困觉了…
x***n
发帖数: 10764
196
哈哈…这么耿耿于怀啊…pat, pat,你这么萌怎么会和九斤老太太有啥关系…
其实九斤老太太也很可爱的,以前我爸就老开玩笑说我们,才吃完饭,就要吃豆,真是
一代不如一代…

【在 r****e 的大作中提到】
: 以后谁再提九斤老太
: 我就跟谁急

r****e
发帖数: 3373
197
俺自豪啊
九斤老太咋了
见多识广
这几天重温了不少老的比赛录像
很鸡冻
有幸目睹那么多伟大的时刻
我常说现在谁谁不行
那都是实话啊
小花是德国扇子
可是我真喜欢不起来德国
你看下面这个录像
他的球
我从82年看到90年
现在的德国队里
没人能给他提鞋啊

http://www.youtube.com/watch?v=Wfdvj2PC4mI

【在 x***n 的大作中提到】
: 哈哈…这么耿耿于怀啊…pat, pat,你这么萌怎么会和九斤老太太有啥关系…
: 其实九斤老太太也很可爱的,以前我爸就老开玩笑说我们,才吃完饭,就要吃豆,真是
: 一代不如一代…

d**********o
发帖数: 1321
198
嘿嘿,我得好好想想~~
还是用最正常的名字称呼?
这是个问题!

【在 b*s 的大作中提到】
: 这样的?
: 我的前辈先生N,正走到我的寓里来谈闲天……
: 阿Q,小D……
:
: 写了这么多,不容易…纯写实?写给自己看还是给大家看呢?如果给大家看的话给人物
: 起个名字吧…
: make
: 着A

d**********o
发帖数: 1321
199
不知道夏老师也是这么顽皮滴~~
嘻嘻

【在 x***n 的大作中提到】
: 闰土,孔乙己,九斤老太,吴妈…我要困觉了…
d**********o
发帖数: 1321
200
侬写滴这么好看,
俺眼睛不敢睁开,
俺要去躲墙角里~~ :)

【在 r****e 的大作中提到】
: 俺自豪啊
: 九斤老太咋了
: 见多识广
: 这几天重温了不少老的比赛录像
: 很鸡冻
: 有幸目睹那么多伟大的时刻
: 我常说现在谁谁不行
: 那都是实话啊
: 小花是德国扇子
: 可是我真喜欢不起来德国

相关主题
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
201
今晚吐槽 Emacs 一一 《我与Emacs的不解情缘》…... ^_*
偏专业,主要想与自己同专业的小伙伴们交流思想吧
现在还没时间写,会偏晚点儿上来更新~~
刚刚赶写一篇赶任务的,现在开始写 emacs ,可能得一两个小时吧,
所以请给我时间,不要太期待,我也只是纯吐槽而已~~
d**********o
发帖数: 1321
202
实习(92)
开过长途的人都知道开长途很累很累,很容易犯困,自己中间还又大哭过大半个小时,
自已实在是疲惫交加,我不能拿自己的生命开玩笑,所以到半夜已经快到家了,离自己
目的地小镇只差二三十迈的地方,还是找了个加油站靠边的位置停下来,把车门锁了,
倒在车里休息,想着能睡着几个小时,再稍微开一开就到家了。
不清楚具体过了多久,大概一两个小时吧,有人把我叫醒,睁开眼睛,居然是警察!于
是我打开车、摇下车窗,警察说得非常理解,说知道我大概已始开了很久的车了(从我
的车牌可以下笔成章称是本地人),因为一般人不会在离家这么近的地方休息了,但他
劝我不要把车停在这样一个靠什么墙边,建议我把车停到加油站的一个停车位上去。既
然他已经这么说了,那我实际不上是完全可以照做停到那边停车位去的,但既然自己已
经醒了,离家也不远,就开车回去吧!
我早就已经同自己的小伙伴联系好,我的新室友那天晚上不会锁门,所以我只要把门推
开就可以回自己的卧室里舒舒服服地休息了。(当然,这个租房子的事情还是可以稍微
解释一下的,草稿没打好,以后再补。)真正休息过一阵子后,脑袋就真的很清醒了,
大几个小时前大哭的基本所有想法都已经灰飞烟灭,能告诉自己的只能是这个暑假这份
实习是一块试金石,检验出了很多的问题,最大的问题当然就是学得不深、没扎进去。
便也给自己暗下目标,希望新的一年里能有所进步。这也真的是到了成长的一个最黑暗
的阶段,漫漫长路,暗无天日,这是接下来专业领域里最为黑暗的一年里我大哭三场的
第一场,但专业上真正成长的脚步正在逼近!
d**********o
发帖数: 1321
203
我与Emacs的不解情缘(1)
题目写的是我与“Emacs”,实际上,我想写的是我与这个专业的最早接触,与Linux系
统的各种小工具的接触与感悟。但司马昭之心,路人皆知,我想写的是Emacs啊!
我与现在这个Computer Science专业最早的接触是在上大一还是大二时学Visual Basic
编程基础,分上下两学期。需要提一下的是上学期因为上机时间有限,我自己可能细心
程度也还不够,所上上学期期末上机考试时自己该保存的一个文件没能保存下来,还是
补考了一次的;这还是给自己敲下了警钟,所以下学期从一开始就开始了认认真真的学
习,教我们的老师是从武大来的一年轻女老师,我的同班同学小伙伴们有好几个男生上
课时同我一起抢着回答老师的问题,期末考试我的成绩是全班并列第一,大概有两三个
同学得同样的成绩!再然后就是国内硕士研究生时老师有讲过数据库基础,但国内农科
专业的科普课,讲得非常浅,我也就期末考试考完就将所学的所有知识就立刻全还给老
师了!
来到美国这边后,与这个专业最早的接触是在2008年秋天上Multivariate Analysis课
时,老师授课用R做数据分析。当时班上有位BCB的生物信息学的小美学生人很nice,常
组织我们好几个同学一起写作业(当时还有另一位中国女孩学生与我同班)。他用一个
我已经不记得是什么版本的Linux里的Open office写report,用那个系统里的Kite写R
代码。同我们Windows系统下的软件界面代码完全没有颜色相比,他的代码从来就是
colorful的,于是我就很羡慕。后来某天傍晚当时计算机专业的一位我们称他为晓慧姐
的中国同胞在我的求救下,答应帮我帮一个Ubuntu系统,这样我可以写有颜色的R代码!
d**********o
发帖数: 1321
204
我与Emacs的不解情缘(2)
前面应该已经提到过了,我用一个五百多元的厚重笔记本,买的时候连无线网的意识都
不全,居然没有无线网卡。于是那天晚上我们这位姐就帮我装,装完系统装R,颇费了
番周折,我总算是有了自己有生以来的第一个Linux系统了!
因为一个晚上的时间就这样过去,而且这位姐也早就说了他不太会configure wireless
,我便拿着自己崭新的系统开开心心地回家了。那时没有其它人可以问,为了自己学习
上网方便,就在网上使劲搜,我用的无线网卡是一个外置的Linksys的带加速的什么
version的,大概这款无线网卡那时卖得还火、用得人多,所以先装driver什么的,费
了九牛二虎之力之后,我居然真的就自己configure能连上无线网了!对我自己来说,
在后来的自己看来,那也还算得上是一种搜索和解决问题的能力!
但那个系统我就真的只是用了gedit来编写R代码了,关于那个崭新系统的知识我当时学
到的极少(可能那时还很贪玩,没有想学习和深入钻研的心吧)!那时用gedit是一个
char一个char的type,一个空格一个空格的indent,可是因为编出来的代码是带颜色的
,对当时的自己来说已经是非常知足、简直就是天大的安慰!后来等我转专业之后,这
款编辑器就成了我的各种备胞一一只有打印代码的时候我才用它,因为用它打出来的文
件比较有型!
d**********o
发帖数: 1321
205
我与Emacs的不解情缘(3)
后来12年秋天转专业之后,因为上过一两个周我导师的system software的课,他建议
大家使用Linux,所以我回家自己在网上搜索一番后,就把自己的台式机大电脑、笔记
本小电脑全都装上了Ubuntu 12.04的版本,笔记本装的时候还crash掉一个月,寄回厂
家去估价过,但因为charge太多不想修,后来在闺密朋友的帮助下才最终能让它再次正
常运行!
一开始我们的programming language课讲lisp,而且代课老师也建议说任何一个同学都
应该学习使用至少一款coding editor,我就搜到Emacs lisp,因为可以compile。这样
在从来没有接触学习过vi、vim之前,Emacs就这样误打误撞地成为了我一生的至爱!这
么说,我真正想表达的是,后来我就再也没去学习过vi、vim的用法,Emacs真是我唯一
的最爱!还记得早些年自己在网上写与表哥的所谓爱情的时候,不记得哪位网友在他自
己的文章里(看见过是因为文章上了首页)提到过,“你当坚信,他永远是最适合你的
,永远是你最好的选择,值到生死病死、死亡将人们分开!” 当时的自己读到这么句
话的时候,回味自己的爱情,多么感动、多么确信这一点儿!现在岁月又走过这么些年
,只有对Emacs,我还有着这样的爱与坚信,它是我唯一的至爱~~ ^_*
学习使用热键后,我就用这款编辑器来完成我所有的编程工作,C、C++,Java,Python
,Unicon,所有的所有的编程~~ 没有觉得有丝毫的不便,全然是乐在其中,流连忘返~
~ 但也要提一句的是,因为我几乎只用这个系统下的编程器,terminal绝大部分时间也
只用来compile C/C++代码,所以对Linux以及terminal的开发,对我来说来得比其它同
学都要很晚一些。
d**********o
发帖数: 1321
206
我与Emacs的不解情缘(4)
这个夏天,“天是蓝的,水是清的,我对你的爱是真的!”这句话如同大家所搜索过的
,不是我原创,但我很欣赏那位美眉写她那篇文章所展现出的思维文学才情。
如果此时自己来承认,过去的那一年,即便自己用了一年的Emacs,我从来都是用M-x
linum-mode来调出行号,敬请大家笑的时候稍微节制一点儿,笑掉大牙我可不会为你们
作赔偿的!其实上CS121的年轻人TA在某堂lab课上有提到过home directory下关于
Emacs configure的问题。但当时讲的是系里的linux server,我当时完全没有概念,
没有行之有效的学习小伙伴,我的脑袋也就从来不曾开窃过,所以感觉不到自己有任何
迟顿与不同,日子还是一样悠然悠然、悠哉悠哉地过~~ 再来回想一下刚过去春天的AI
课,这位年轻人TA是与我们一起上这门课的,他若没有写decision tree,就应该再没
有除我以外的别人会去写了,因为只有我们两个还算是有点儿统计背景的。回想起来,
当时自己能够有勇气、敢去这样一个东西也还是很不错滴。
这个夏天的美了来自于 A 的启蒙,也来自于我自己思维的开窃。早在还是跟着B的时候
,坐在舒适的office里,有着极好的状态,我就自发地悟到原来我还是可以hard code
line number滴!进而那时接下来,我便configure了startup时inhibit startup
window;我手动清道夫持续清了一年的三行内容,到这时startup buffer总算启动时可
以自动清空了;设置了窗口全屏以及固定大小随我需求;装了autocomplete以及
yasnippet自动补全;再后来接python项目的时候,用emacs-for-python IPython打造
了了Emacs python IDE,这个IDE的打造因为之前有bug,很费了我一段时间,但到真正
可以用C-c C-c execute代码的时候,还是非常开心的。
d**********o
发帖数: 1321
207
我与Emacs的不解情缘(5)
忘了说,其实暑假的时候因为是用Visual Studio作测试,习惯了用emacs的再用任何其
它的非key-based editor应该都有一个很不习惯的问题,所以就搜到一个revert-
buffer,非常好用,windows下,linux下都可以用。我后来就用这个来结合所有的IDE
,python netbeans,C#的VS C#非常好用,几乎万能,所有系统通吃!
以后应该不会再写关于Emacs的内容,所以我就这次一次把想写的写完!暑假对emacs的
意识清醒后,回到学校便开始新的color-theme,configure C/C++/C#的IDE环境,装了
GDB,ecb等等,以用后来也曾尝试过Java的IDE环境,但因为bug太多,常常会调整不好
,并且真正很难的bug的时候我应该还是会进windows下的ide环境来debug的,所以对
emacs ide慢慢的还是兴趣不大。
后来接下来秋天一门network introduction课,老师说如果同学们作业写得看不清楚的
话,他不会给分的,并且建议提倡我们去学用latex。其实这个东西早在上学期旁听导
师算法课的时候他也提过,不过那个时候我只听不写作业,大概把这个软件安装了,但
却还没能真正去学。那既然这次自己一定得写作业,就去学吧。用了AUCTex,也实现了
自动补全。
记得新学期这门课的老师向我推荐tex的时候提到说,这个东西会上瘾,会让人欲罢不
能,后来随着自己越来越喜欢这个东西,就真的到了这个境界了,不仅费了很大的力气
终于是configure出了可并存使用的英中文环境,接下来寒假的时候用它编了本连题目
带解答的cc150的pdf,春天学期的时候,哈哈,就真滴又穷凶极恶了一回,花了一个周
末的时间,从周五下午五点到周日晚上回家休息前,用tex编完了两本书,一本是linux
midi function,一本是Windows Dev Center Audio devices的部分,方法是从
website把内容复制下来,再在*.tex文件下把它们编成文档,最终生成pdf。现在回想
起来都还有点儿不敢相信,太crazy了~~
d**********o
发帖数: 1321
208
我与Emacs的不解情缘(6)
记得上AI课的时候五六个项目的report我也还都是code在linux下写,report在emacs下
写个初稿,如果有图的话就最终再在windows下插入图片等最终完成,因为相比于
openoffice,我还是喜欢emacs,习惯了这样一款编辑器。
再后来春天上evolutionary computation课时,代课老师还是AI的老师,授课内容还是
类似的形式,要作四五个项目,项目同样不要求code,但需要写report。那时候是春天
我已经开始在系里的CSAC里tutor学生,借助在那里工作的机会慢慢地就结识了不少的
小伙伴,学习上真正交流的就多了起来。有一次一位我很欣赏的美国小伙伴就帮我推荐
了升级版的latex-mode,用org-mode,可以直接在emacs里使用这个mode生成.tex文件
,也可以直接生成.pdf文件,就像之前python我可以C-c C-c执行文件,只要C-c C-e l
p就可以生成pdf,知道有这样一个好东西存在,我好开心呀~~
因为该有的软件也早就基本就装了,但是configure这样一个中文环境还是很费了一翻
波折。直到目前我也还是没能全面彻底地解决问题,但就像表姐说她之前赶时间尽量能
把做、需要做的事情做完,我能做到的是生成一个自己的中英文环境模板后,应付我EC
课的report,在emacs里直接生成pdf已经完全满足、绰绰有余了!后来,因为之在太喜
欢这种生成的pdf,我把很多网面从网上复制下来后,用这个模板生成了pdf,以后我应
该还可以分门别类,把这些积攒下来的pdf在装订成几本书吧。
d**********o
发帖数: 1321
209
我与Emacs的不解情缘(7)
一两年的专业课学习,尤其是学了编译课明白了一些原理,下学期的EC课为自己编程给
了足够的锻炼,我开始认为其实只要有一门语言自己能够学得深入,那我还是要稍微扩
展一下广度来消除自己对陌生领域的恐惧。Python编程我还是得到了不错的锻炼,我欠
缺的是java及前端的部分。
Java在上programming language的时候只写了一个关于halilulu的游戏编程;后来上EC
课时看见网上一位网友强调java的重要性后便把自己的一个EC项目改编成了java,但这
门语言,我也还需要更多的锻炼。这个夏天,本着自己消除广度的愿望,我开始用
django搭建html网站,数据库用mysql,html、 css、bootstrap写html template,之
前有过的对于html的陌生正在减少,当然,so far,我学得也并不深。如果说之前我所
用到的所有的mode都可以自动补全,html里我却configure不了这样的feature,还是比
较难受的,比较打击我学习这一块知识的热情(除了css-mode可以自动补全之外,css-
mode用了rainbow-mode来显示以“#”打头的各种颜色也还比较好玩)。
Html-mode、sgml-mode的语法高亮、indent等我都喜欢,但试过了web-mode,对于前者
在键入“ 词、text等的前提下,于是我还是用了web-mode,虽然现有color-theme这个模式只有
两种颜色!后来web-mode下color-theme用了solarized-theme,结合使用emmet-mode有
很多很酷的feature,比如用固定的键,在已经输了标志符后,可以自动完成很多个标
签,for example,输入“a”后用C-j调用emmet-mode,ENT,就会得到<
/a>,并且此时光标可以定位在两引号之间需要type的位置,这个我还是很喜欢的。
d**********o
发帖数: 1321
210
我与Emacs的不解情缘(8)
也是上学期同一个小伙伴帮推荐了zsh于是便自己安装了。当然对于Terminal下的
command set我设置了Emacs键,但是觉悟不够,一直用得不多,花得的时间也不多,
仅只move这一块,是.forward-word还是 .backward-word就移不通,于是就有了后来在
QQ群汗流浃痛地问问题。只是uncheck一个选项的问题,不过还是很感谢那位姐耐心地
帮我解答了问题。
后来,认识到自己虽然装了zsh,但对它的开发自己做得不够,后来就将以前自己想往
过的复制、粘贴热键功能给做出来了。在Emacs中,C-spc是用来mark的,但Terminal下
somehow,it doesn’t work。后来自己设置了C-v用来mark,M-w复制,真的做了出来
,做出来后带来的便利还是不同凡响的。后来想想,如果我用鼠标从google chrome复
制命令来terminal下,我再用鼠标中键来粘贴还是可以忍受的,但如果我在Emacs下
coding再转到terminal,我还得去动一下鼠标的话,就很难受了,最终也找到了解决办
法。比如,“echo life is beautiful hello world”剪切“life is beautiful”贴
到句子最后,以及也贴到Emacs buffer里,可以不用鼠标直接完成!设置完这些,很开
心呀~~(友情提示,把鼠标中键绑定到一个键盘键上^_*)
以后,如果我有机会需要制作幻灯片,我想作为计算机major的专业人士,我不会去用
power point,我会像之前那个小伙伴推荐的那样,去使用emacs beamer,相信它给人
们带来的便利会像org-mode一样让自己欣喜若狂的~~
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
老印还挺不好伺候的,不准备打交道了有患巧克力囊肿后成功怀孕的版友吗?
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
进入WebRadio版参与讨论
d**********o
发帖数: 1321
211
我与Emacs的不解情缘(9)
差不多去年暑假后回学期也学会了自己写macro,贴个前段时间做题时写过的写lc的模
板吧:M-x lc ENT :
(fset 'lc
[?# ?i ?n ?c ?l ?u ?d ?e ? ?< ?i ?o ?s ?t ?r ?e ?a ?m ?> return ?# ?i ?n
?c ?l ?u ?d ?e ? ?< ?v ?e ?c ?t ?o ?r ?> return ?# ?i ?n ?c ?l ?u ?d ?e ?
?< ?a ?l ?g ?o ?r ?i ?t ?h ?m ?> return ?# ?i ?n ?c ?l ?u ?d ?e ? ?< ?c ?s
?t ?r ?i ?n ?g ?> return ?# ?i ?n ?c ?l ?u ?d ?e ? ?< ?c ?m ?a ?t ?h ?>
return ?# ?i ?n ?c ?l ?u ?d ?e ? ?< ?s ?t ?a ?c ?k ?> return ?# ?i ?n ?c ?l
?u ?d ?e ? ?< ?q ?u ?e ?u ?e ?> return ?u ?s ?i ?n ?g ? ?n ?a ?m ?e ?s ?p
?a ?c ?e ? ?s ?t ?d ?\; return return return return ?i ?n ?t ? ?m ?a ?i ?
n ?\( ?\) ?\{ return return return tab ?r ?e ?t ?u ?r ?n ? ?0 ?\; return ?\
} ?\C-p ?\C-p ?\C-p ?\C-p ?\C-p ?\C-p])
接下来两个是用来减速少行数的,把“{”移到前一行的离最后一个有效字符空一个
space的地方,其实两个可以合成了一个,写了运行了就那么用了,没有合并的:
(fset 'fo
[?\M-g ?1 return ?\M-p ?\C-q ?\C-j ?\{ delete return ? ?\{ delete return
?\M-g ?1 return ?\M-p ?\C-q ?\C-j ? ? ? ? ?\{ delete return ? ?\{
delete return ?\M-g ?1 return ?\M-p ?\C-q ?\C-j ? ? ? ? ? ? ? ? ?\{
delete return ? ?\{ delete return ?\M-g ?1 return ?\M-p ?\C-q ?\C-j ? ? ?
? ? ? ? ? ? ? ? ? ?\{ delete return ? ?\{ delete return ?\M-g ?1
return ?\M-p ?\C-q ?\C-j ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
{ delete return ? ?\{ delete return ?\M-g ?1 return ?\M-p ?\C-q ?\C-j ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\{ delete return ?
?\{ delete return])
(fset 'f
[?\M-x ?f ?o return ?\C-x ?h tab ?\C- ?\C- ?\C-v])
.emacs中org-mode configurations的部分:
先配语言环境:
(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'euc-cn)
(set-clipboard-coding-system 'euc-cn)
(set-terminal-coding-system 'euc-cn)
(set-buffer-file-coding-system 'euc-cn)
(set-selection-coding-system 'euc-cn)
(modify-coding-system-alist 'process "*" 'euc-cn)
(setq default-process-coding-system '(euc-cn . euc-cn))
(set-locale-environment nil)
;(setq-default pathname-coding-system 'euc-cn)
(setq default-process-coding-system '(chinese-gbk . chinese-gbk))
再配org-mode以及模板:
(load-file "~/.emacs.d/auto-completing-read.el")
(load-file "~/.emacs.d/org-latex-hack.el")
(setq load-path (cons "~/.emacs.d/elpa/org-20140224" load-path))
(require 'ox)
(require 'org-install)
(require 'org-publish)
(require 'ox-latex)
(require 'org-export-latex)
(add-to-list 'auto-mode-alist '("\.org\'" . org-mode))
(add-hook 'org-mode-hook 'turn-on-font-lock)
(add-hook 'org-mode-hook
(lambda () (setq truncate-lines nil)))
(setq org-startup-indented t)
(setq org-startup-truncated nil)
(load-file "~/.emacs.d/iimage.el")
;; iimage mode
(autoload 'iimage-mode "iimage" "Support Inline image minor mode." t)
(autoload 'turn-on-iimage-mode "iimage" "Turn on Inline image minor mode." t)
;; enable image mode first
(iimage-mode)
;; add the org file link format to the iimage mode regex
(add-to-list 'iimage-mode-image-regex-alist
(cons (concat "\[\[file:\(~?" iimage-mode-image-filename-regex
"\)\]") 1))
;; add a hook so we can display images on load
(add-hook 'org-mode-hook '(lambda () (org-turn-on-iimage-in-org)))
;; function to setup images for display on load
(defun org-turn-on-iimage-in-org ()
"display images in your org file"
(interactive)
(turn-on-iimage-mode)
(set-face-underline-p 'org-link nil))
;; function to toggle images in a org bugger
(defun org-toggle-iimage-in-org ()
"display images in your org file"
(interactive)
(if (face-underline-p 'org-link)
(set-face-underline-p 'org-link nil)
(set-face-underline-p 'org-link t))
(iimage-mode))
(add-hook 'org-mode-hook
(lambda ()
(local-set-key "\M-n" 'outline-next-visible-heading)
(local-set-key "\M-p" 'outline-previous-visible-heading)
;; table
(local-set-key "\M-\C-w" 'org-table-copy-region)
(local-set-key "\M-\C-y" 'org-table-paste-rectangle)
(local-set-key "\M-\C-l" 'org-table-sort-lines)
;; display images
(local-set-key "\M-I" 'org-toggle-iimage-in-org)
;; fix tab
(local-set-key "\C-y" 'yank)
;; yasnippet (allow yasnippet to do its thing in org files)
(org-set-local 'yas/trigger-key [tab])
(define-key yas/keymap [tab] 'yas/next-field-group)))
;(global-set-key "\C-cl" 'org-store-link)
;(global-set-key "\C-ca" 'org-agenda)
;(global-set-key "\C-cb" 'org-iswitchb)
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode %f"
"xelatex -interaction nonstopmode %f"))
(setq org-latex-pdf-process (quote ("texi2dvi -p -b -V %f")))
;(unless (boundp 'org-export-latex-classes)
; (setq org-latex-classes nil))
(add-to-list 'org-latex-classes
'("article"
"\documentclass{article} ;;; use the article class by
default
[NO-DEFAULT-PACKAGES]
[EXTRA]"
("\section{%s}" . "\section*{%s}"))) ;;; map org headlines
and lists to latex sections
(add-to-list 'org-latex-classes
'("article"
"\documentclass{article}"
("\section{%s}" . "\section*{%s}")
("\subsection{%s}" . "\subsection*{%s}")
("\subsubsection{%s}" . "\subsubsection*{%s}")
("\paragraph{%s}" . "\paragraph*{%s}")
("\subparagraph{%s}" . "\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("org-article"
"\documentclass{org-article}
[NO-DEFAULT-PACKAGES]
[EXTRA]"
("\section{%s}" . "\section*{%s}")
("\subsection{%s}" . "\subsection*{%s}")
("\subsubsection{%s}" . "\subsubsection*{%s}")
("\paragraph{%s}" . "\paragraph*{%s}")
("\subparagraph{%s}" . "\subparagraph*{%s}")))
(add-to-list 'org-latex-classes
'("cn-article"
"\documentclass[10pt,b5paper]{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{xeCJK}
\usepackage{longtable}
\usepackage{float}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{left=0cm,right=0cm,top=0cm,bottom=0cm}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{listings}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{latexsym}
\usepackage{natbib}
\usepackage{fancyhdr}
\usepackage[xetex,colorlinks=true,CJKbookmarks=true,linkcolor=blue,urlcolor=
blue,menucolor=blue]{hyperref}
[NO-DEFAULT-PACKAGES]
[NO-PACKAGES]"
("\section{%s}" . "\section*{%s}")
("\subsection{%s}" . "\subsection*{%s}")
("\subsubsection{%s}" . "\subsubsection*{%s}")
("\paragraph{%s}" . "\paragraph*{%s}")
("\subparagraph{%s}" . "\subparagraph*{%s}")))
;\lstset{language=c++,numbers=left,numberstyle=\tiny,basicstyle=\ttfamily\
tiny,tabsize=4,frame=none,escapeinside=``,extendedchars=false}
(setq org-latex-packages-alist '(
("" "CJK" t)
("" "indentfirst" nil)
("pdftex" "graphicx" t)
("" "fancyhdr" nil)
("CJKbookmarks=true" "hyperref" nil)
"%% Define a museincludegraphics command, which is
%% able to handle escaped special characters in image filenames.
\def\museincludegraphics{%
\begingroup
\catcode`\|=0
\catcode`\\=12
\catcode`\\#=12
\includegraphics[width=0.75\textwidth]
}"))
(setq org-export-latex-listings t)
;; Options for \lset command 容ference to listing Manual)
(setq org-export-latex-listings-options
'(
("basicstyle" "\color{foreground}\small\mono") ("
keywordstyle" "\color{function}\bfseries\small\mono") ("
identifierstyle" "\color{doc}\small\mono")
("commentstyle" "\color{comment}\small\itshape") ("
stringstyle" "\color{string}\small") ("
showstringspaces" "false")
("numbers" "left")
("numberstyle" "\color{preprocess}")
("stepnumber" "1")
("backgroundcolor" "\color{background}")
("tabsize" "4")
("captionpos" "t")
("breaklines" "true")
("breakatwhitespace" "true")
("showspaces" "false")
("columns" "flexible")
("frame" "single")
("frameround" "tttt")
("framesep" "0pt")
("framerule" "8pt")
("rulecolor" "\color{background}")
("fillcolor" "\color{white}")
("rulesepcolor" "\color{comdil}")
("framexleftmargin" "10mm")
))
(setq org-todo-keywords
'((type "job(j!)" "emacs(s!)" "git(g!)" "clanguage(c!)" "homework(h!)"
"interview(i!)")
(sequence "PENDING(p!)" "TODO(t!)" "|" "DONE(d!)" "ABORT(a@/!)")
))
(setq org-todo-keyword-faces
'(("job" . (:background "red" :foreground "white" :weight bold))
("emacs" . (:background "white" :foreground "red" :weight bold))
("git" . (:background "white" :foreground "red" :weight bold))
("clanguage" . (:background "white" :foreground "red" :weight bold))
("interview" . (:foreground "MediumBlue" :weight bold))
("PENDING" . (:background "LightGreen" :foreground "gray" :weight bold
))
("TODO" . (:background "DarkOrange" :foreground "black" :weight
bold))
("DONE" . (:background "azure" :foreground "Darkgreen" :weight bold
))
("ABORT" . (:background "gray" :foreground "black"))
))
(setq org-highest-priority ?A)
(setq org-lowest-priority ?E)
(setq org-default-priority ?E)
(setq org-priority-faces
'((?A . (:background "red" :foreground "white" :weight bold))
(?B . (:background "DarkOrange" :foreground "white" :weight bold))
(?C . (:background "yellow" :foreground "DarkGreen" :weight bold))
(?D . (:background "DodgerBlue" :foreground "black" :weight bold))
(?E . (:background "SkyBlue" :foreground "black" :weight bold))
))
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(latex . t)
(R . t)
(C . t)
(ditaa . t)
(dot . t)
(emacs-lisp . t)
(gnuplot . nil)
(haskell . nil)
(latex . t)
(ocaml . nil)
(org . t)
(perl . t)
(python . t)
(ruby . t)
(screen . nil)
(sh . t)
(sql . t)
(sqlite . t)))
就像前面所说到过的,因为并没有找到完美方案,我的主要问题出在了emacs -batch -
-eval "(org-babel-tangle-file "article-class.org")" 这一步,org-babel-
tangle-file不是用懂。后来试过很多方案,稀里糊途地解决了问题,这样的配置是有
些问题的。试过之后,我基本就只用cn-article模板了,并且还需要加上下面的文头。
之前是写了个macro自动加入文头,后来就干脆每次都copy同一个文件再帮修改了。文
头是下面的:
#+latex_class: cn-article
#+latex_header: \usepackage{CJKutf8}
#+latex_header: \begin{CJK}{UTF8}{gbsn}
#+latex_header: \lstset{language=c++,numbers=left,numberstyle=\tiny,
basicstyle=\ttfamily\small,tabsize=4,frame=none,escapeinside=``,
extendedchars=false,keywordstyle=\color{blue!70},commentstyle=\color{red!55!
green!55!blue!55!},rulesepcolor=\color{red!20!green!20!blue!20!}}
#+title:
#+author:
前面说过了,这只是一个可以work的解决办法,并不是最好的,仅给像我一样还需要中
英文的挣扎在这条道上的同胞提供一个可供参考的方法,过多的批评也大可不必。有懂
原理、有更好解决办法的同胞欢迎发邮件给我( 这里先谢过了~~)。
鼠标中键的设置是这么完成的:在zsh configure 文件中加入(for emacs key-set):
#### zsh for mark, cut, copy regions
x-copy-region-as-kill () {
zle copy-region-as-kill
# print -rn $CUTBUFFER | xsel -i
print -rn $CUTBUFFER | xclip -i -selection clipboard
}
zle -N x-copy-region-as-kill
copy-region-as-kill-deactivate-mark () {
# zle copy-region-as-kill
zle x-copy-region-as-kill
zle set-mark-command -n -1
}
zle -N copy-region-as-kill-deactivate-mark
x-kill-region () {
zle kill-region
# print -rn $CUTBUFFER | xsel -i
print -rn $CUTBUFFER | xclip -i -selection clipboard
}
zle -N x-kill-region
x-yank () {
CUTBUFFER=$(xclip -o)
# CUTBUFFER=`echo -n $CLIP`
# CUTBUFFER=$(xclip -d)
zle yank
}
zle -N x-yank
bindkey -e '^v' set-mark-command
#bindkey -e '\eW' x-copy-region-as-kill
#bindkey -e '^[w' x-copy-region-as-kill
bindkey '^[w' copy-region-as-kill-deactivate-mark
bindkey -e '^w' x-kill-region
bindkey -e '^y' x-yank
autoload -Uz copy-earlier-word
zle -N copy-earlier-word
bindkey "^[m" copy-earlier-word #复制前一行命令最后一个word
~/.xinitrc中加入下面这一行:
~/.middle-click.sh
.middle-click.sh的内容如下:
#!/usr/bin/zsh
# set XKB layout
setxkbmap -layout us
# turn on mousekeys
xkbset m
# stop mousekeys expiring after a timeout
xkbset exp =m
# map keysym to other keysym
xmodmap -e "keysym Menu = Pointer_Button2"
# this also works
# xmodmap -e "keycode 135 = Pointer_Button2"
还需要设置将这个键设为系统热键,具体细节请参考:http://linuxaleph.blogspot.com/2008/11/mapping-middle-click-to-keyboard-key.html
b*s
发帖数: 82482
212
vi rules

今晚吐槽 Emacs 一一 《我与Emacs的不解情缘》…... ^_*
偏专业,主要想与自己同专业的小伙伴们交流思想吧
现在还没时间写,会偏晚点儿上来更新~~
刚刚赶写一篇赶任务的,现在开始写 emacs ,可能得一两个小时吧,
所以请给我时间,不要太期待,我也只是纯吐槽而已~~

【在 d**********o 的大作中提到】
: 今晚吐槽 Emacs 一一 《我与Emacs的不解情缘》…... ^_*
: 偏专业,主要想与自己同专业的小伙伴们交流思想吧
: 现在还没时间写,会偏晚点儿上来更新~~
: 刚刚赶写一篇赶任务的,现在开始写 emacs ,可能得一两个小时吧,
: 所以请给我时间,不要太期待,我也只是纯吐槽而已~~

d**********o
发帖数: 1321
213
seriously, vi, are you sure?

【在 b*s 的大作中提到】
: vi rules
:
: 今晚吐槽 Emacs 一一 《我与Emacs的不解情缘》…... ^_*
: 偏专业,主要想与自己同专业的小伙伴们交流思想吧
: 现在还没时间写,会偏晚点儿上来更新~~
: 刚刚赶写一篇赶任务的,现在开始写 emacs ,可能得一两个小时吧,
: 所以请给我时间,不要太期待,我也只是纯吐槽而已~~

d**********o
发帖数: 1321
214
我与Emacs的不解情缘(10)
其实以上我已经基本上把自己用到过的比较好的package都列了一遍了,terminal里复
制粘贴可以不用鼠标很开心,org-mode还是偶滴大爱啊~~
记得二三月份学会用这个东西,我对推荐自己这个模式的小伙伴承认感慨过,不敢相信
自己居然曾经有一个周末是用来去干那事儿啦,早知道我就等到我学会了org-mode再去
做,怎么也得提高效率四五位吧!对小伙伴承认这句话是在几个月前;现在如果让我重
新再来说一遍这样的话,我大概会感慨说,不敢相信自己居然曾经有一个周末是用来去
干那事儿啦,早知道我就直接去学python Beautiful Soup等等爬网方法、直接爬网去
摘自己想要的果子了~~ ^_*
我从来不曾认为自己是什么emacs大牛小牛甚至是在行,这也是为什么之前群里有人说
过溢的话我不去理会的原因;但这也是一个学习的过程。到现在我的emacs只装了一遍
,没有花时间和精力去整理,还有着多多少少的bug,或者某些自己想要的feature出不
来;我现在只仅仅停留在把别人试过的packages自己能平平安安地装上用上,写写自己
的macro,snippets的小打小闹上;等哪天bug多得不行了,我不得不、必须要重新去再
装一遍的时候,我会考虑各方面的因素,比如分模块启动以减少start-up开启等待时间
,模板间的资源共享(比如不同的模式间可共享的snippets)与某些冲突等等。
d**********o
发帖数: 1321
215
我与Emacs的不解情缘(11)
可就算是emacs有常常会有bug,但爱emacs的心从来不曾变过滴啊~~ 而且就像老师评说
latex,用emacs也是一件很容易上瘾的事情,春天找工作时,想用emacs作类似于excel
表格来记录找工作纪录,跑去搜一下就找到一个ses-mode用起来还挺不错的;想用
emacs收发邮件,跑去搜一下就搜到成堆成堆的配置~~ 看来大家对它的瘾都是相通的,
基本我能想到的大家都早就想到并且给出了行之有效的解决办法了~~ 可惜春天时功课
紧张,收发邮件的配置没弄出来,但想征服它的心从来从来没减过,再过一两个月,新
一季找工作来临前,我一定把它给整出来滴~~!! 同样受启发于emmet-mode的C-j调用
出的诸多snippets,我其实应该把自己写过的几百个针对不同mode的macro改为
snippets存放在自己定义的类似于emmet-mode的模块中,方便使用,但这也只是自己目
前触角打开、思维的一个方向而已。
亲爱的小伙伴们,受限于自己的知识水平,我与emacs的情缘就只能写到这里了,和这
里的任何人一样,在专业领域里,我也从来没有想过去倚赖谁,相信选择这个
technical major的大家都有共识,我们最能依赖、依赖得最多的从来都是我们自己!
对那些嫌别人笨的、劝退的,我也只能说省省吧!当learning curve到达一个拐点,当
专业领域里的触角打开,对陌生领域的恐惧就越来越少,我能做想做的也就是深入理解
与发掘,把这个坑挖大挖深,深到自己可以有用武之地,目前的目标仅仅只是找到一份
工作而已!在这个过程中,就算全世界都不相信我,我还会本能地去相信自己,没人能
够真正阻止一个人前进的步伐越跨越大、越来越洋溢着自信~~!
就像我相信自己的明天会更好、更幸福,我相信与emacs我还有一段长长的征途要走,
因为我还不太理解lisp的那些编程、不理解emacs那些浩如烟海的bug到底是怎么产生的
,对某些bug我甚至到了像赤手去拿刺猬般无从下手、束手无策(比如一个select
coding system,明明知道是语言、某些特殊中文字符出问题了,却不知道到底该从哪
里去trace back这些特殊字符,从什么文件哪个log去找到这些特殊字符,目前尚在顽
强探索搜录中~~!!),但这并不防碍我乐在其中,热情洋溢、信心满满地去认识和征
服这块神秘的领域!相信我还能与Emacs谱出更美、更动人的恋曲~~ :)
b*s
发帖数: 82482
216
you always have vi to troubleshoot script problems. you don't always have
emacs.
emacs is bloated. it's an ide, not just an editor.

seriously, vi, are you sure?

【在 d**********o 的大作中提到】
: seriously, vi, are you sure?
d**********o
发帖数: 1321
217
Let me guess.
That's most probably because you are not using Emacs, do you?
I like the way elisp language works, and I believe in the future emacs has,
and hopefully later on I can contribute to it just like those ses-mode,
emmet-mode, yasnippet authors do~~
haha :)

【在 b*s 的大作中提到】
: you always have vi to troubleshoot script problems. you don't always have
: emacs.
: emacs is bloated. it's an ide, not just an editor.
:
: seriously, vi, are you sure?

d**********o
发帖数: 1321
218
附: sample snippet
也贴一个snippet示范一下吧,偶从来就不是一个夸夸其谈的人,也省得别人嫌自己吹
牛,而且仅仅也只是snippet而已,至于么?(看来偶与某前辈大神较上劲了,对不住了
,这里,哈哈~~)
在yasnippet/snippets/cc-mode中有inc和inc.1两种,当“inc”时按TAB,会有两种选
择:
一种是#include <|>,
另一种是#include "|" (其中“|”为光标所在位置)。
我不喜欢这种选择,便单一命名,把inc.1换为为ind,内容如下:
# -*- mode: snippet -*-
# name: #include <...>
# key: ind
# --
#include <$1>
d**********o
发帖数: 1321
219
* 关于软件工程项目
** From: 小伙伴
Sent: Thursday, June 20, 2013 8:59 PM
To: me~~~
Subject: thoughpts on our projects 2- JS calendar code
Here is an example of calendar resource code written in JavaScript. It
should be helpful.
http://www.oschina.net/code/snippet_994981_22108
Best,
小伙伴
** From: me~~~
Sent: Saturday, June 29, 2013 11:12 PM
To: 小伙伴
Subject: CS502_Weekly Reports
Hi 小伙伴,
I have been busy for a while, and now began to think about our projects for
CS502 the software engineering.
I want to know if you have sent Jim the most recent documents to him already
, or I still need to send both the documents and codes to him tomorrow as
our starting point, and we go from this starting point reporting to him
every week?
Please let me know your ideas about this and let's get started.
Thanks,
me~~~
** From: 小伙伴
Sent: Tuesday, July 02, 2013 9:46 PM
To: me~~~
Subject: RE: CS502_Weekly Reports
Also, I forgot to mention that there is a date picker that already exist. I
think it is pretty handy for us to use.
小伙伴
** From: me~~~
Sent: Saturday, August 17, 2013 9:10 PM
To: 小伙伴
Subject: RE: CS502_Weekly Reports
Hi 小伙伴,
Fianlly got my email password back. Just want to check with you if you are
still available for the CS502 project. I was too busy during the summer and
have not done anything on it yet, but planning to do something this week.
Just want to check if you would join me.
Thanks,
me~~~
** FW: Graduation: incompletes reverted, PhD awarded May 2013
From: 小伙伴
Sent: Tuesday, August 20, 2013 3:02 AM
To: me
From: XXX
Sent: Wednesday, June 05, 2013 4:12 PM
To: Wan, 小伙伴
Subject: Graduation: incompletes reverted, PhD awarded May 2013
Dear 小伙伴,
Your two CS 502 incomplete classes in Spring 2013 were reverted in order to
award your Ph.D. degree for May 10, 2013. The reverted grades were included
in the computation of your cumulative grade-point average for graduation.
You may make up the incomplete course work by December 20, 2013 in an effort
to raise the reverted grades on your permanent record.
More details about incompletes and grade reversion at the time of graduation
are available in Catalog Regulation F: Grades of Incomplete.
Thank you.
** Sent: Tuesday, August 20, 2013 1:05 AM
To: me~~~
Dear me~~~,
I just moved to VA and I am super busy in preparing for the new semester. I
won't be able to dive in to work on the projects at this moment. The email I
received claimed that we have until the end of the fall semester to make up
the grade. I will be more than happy to work with you in the coming
semester once I settle down here.
Best,
小伙伴
d**********o
发帖数: 1321
220
* 关于软件工程项目:与导师联系
** From: me~~~
Sent: Monday, August 19, 2013 11:05 AM
To: 代课老师
Subject: CS502 project
Hi Dr. 代课老师,
Wish you had a great summer. I have not got enough tuition fees yet for my
fall semester, and I hope it will be ok for me to come back to school one
week after school starts.
The whole summer I have been busy working one those SAS SSD thing, and
having not be able to take care of the summer projects yet. I know you have
helped move the deadline late so that I can still spend dedicated time on it
and get it done. Thanks. I will be working on the scheduler project for
this week, and I will send the codes to you as soon as possible sometime
this week.
Thanks,
Heyan
** Sent : Monday, August 19, 2013 6:07 PM (actually it should be 11:07am
because of the time system)
To: me
Coming 1 week late will cause some problems. Are you registered for classes
, and will just not be here (because you are spending another week earning
money?)
** From: me~~~
Sent: Monday, August 19, 2013 11:34 AM
To: 代课老师
Subject: RE: CS502 project
Hi Dr. 代课老师,
I am registering class online right now, and communicating with Dr. (目前导
师) and Dr. (AI代课老师) and Dr. (后来导师) so that I can get my course
selections as fixed as possible. Some minor changes can be made when I come
back on campus.
So the things for me this week:
1. register for full time student;
2. Fix non-thesis research advisor, either Dr. AI代课老师 or Dr. 后来导师
3. got CS502 and CS552 projects done
4. Pay tuition fees that I am affordable this week, some friends will help
me on Monday to pay the rest
Yeah i am registering classes to be a full time student, and I am just not
be on campus in XXXXXX(because I am spending another week earning money and
getting experience, right!)
Could this way avoid those important problems?
Thanks,
me~~~
** Sent: Monday, August 19, 2013 8:14 PM
To: me
This looks like a good plan, you seem to have it figured out.
** From: me~~~
Sent: Friday, August 23, 2013 10:05 AM
To: 代课老师
Subject: CS502 Project
Hi Dr. 代课老师,
I am sorry to say that I am not able to finish the CS502 software
engineering project by the end of summer. I have tried to download and read
the scripts for JavaScript-based calendar API, but I still feel lost and I
need your close direction to finish it. One maybe good excuse is that I have
been working really hard this summer to build and initialize my career. I
want to know if it be possible for you to help postpone the deadline
slightly late so that I can get it done after I come back to school and have
convenient communication between you and me? Thanks a lot!
I look forward to hearing from you.
Thanks,
me~~~
** Sent: Friday, August 23, 2013 5:13 PM
To: me
OK. I will delay the deadline. Have you worked with (小伙伴) on this?
代课老师
相关主题
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香offer选择,请支招
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
进入WebRadio版参与讨论
d**********o
发帖数: 1321
221
* 关于秋季选课
** On Aug 19, 2013, at 10:22 AM, "me~~~"
wrote:
Hi Dr. 目前导师,
I have not earned enough tuition fee for my full semester yet, and I am
planning to come back on campus one week after school starts. And I would
need the department's help for my spring semester I can not survive by
myself. But right now, for fall semester course selections, I need your
guide.
I am interested in CS445(compiler), CS551(Computer Architecture), CS576(Data
Mining), but I need to try to select as much 500 level as I can so that I
can get graduated on time. And from this fall semester, I would need
register 3 research CS580 for non-thesis graduation for Master (I am
struggling right now between AI代课老师 and 后来导师 which one I should
follow). Do you have any suggestion which courses I should take?
I will keep close look into my Email this week, and I would be able to reach
email conveniently.
Thanks,
me~~~
** Re: Fall 2013 Course Selection
Sent: Monday, August 19, 2013 10:29 PM
To: me
You should take CS507 (Research Fundamentals). Data mining will be done by
long distance with ZZZZ who is in (some town else which is far away).
This tends to make the
course a bit difficult to understand. CS445 is a lot of work. Was it on
your list of deficiencies?
后来的导师或是AI的代课老师 would be good people to take a project under.
You might consider that AI代课老师 is also teaching CS507.
cheers,
ex-导师
d**********o
发帖数: 1321
222
* 选research导师
** From: me~~~
Sent: Monday, August 19, 2013 10:31 AM
To: AI代课老师
Subject: non-thesis research
Hi AI代课老师,
I wish you had a good summer.
In the end of spring semester, I was dedicated to AI and hoping I would have
the chance to do my non-thesis research under your direction. But after a
whole summer's time spending on SAS SSD, I began to feel worry about myself.
On the one side, I am dedicated to study and work hard, and I have
statistics master's degree, so it won't be too difficult for me to survive
for master's degree. But for surviving in industry, I am a girl, and only a
master, whether or not I would be able to survive in industry I feel
slightly worried. On the other side, for surviving my master's degree, I
would still need department or your help (if I work on AI) for spring
semester. I can not do it by myself.
I am trying hard to think a solution out. But I need your suggestion about
the aspects that I missed or areas that I am not so confident right now. I
need your suggestion and information to help me make a decision.
Thanks in advance.
me~~~
** Sent: Friday, August 23, 2013 5:31 AM
To: me~~~
Hi,
I don't think you should have too much trouble finishing the MS in computer
science. In terms of industry, I've spent all of my career in academia, so
I don't know from personal experience how hard industry jobs are. However,
in general the demand for programmers is high enough that I don't think you
will have too much trouble, especially if you can find a job that also
involves a lot of statistics. If you want we can certainly discuss options,
and research, further. My schedule is on-line at www2.cs.XXXX.edu/~yyyyy.
Hope you had a good summer,
AI代课老师
** From: me~~~
Sent: Monday, August 26, 2013 10:25 PM
To: AI代课老师
Subject: RE: non-thesis research
Hi Dr. AI代课老师,
After another week's struggling, I think I will still go with Dr. 后来导师
for non-thesis graduation options. I don't think I am a research material,
and that was the reason Dr. (以前统计专业时的导师) did not want me to do
research with him when I was a master student for statistics major. The
other reason is that I am in my thirties already, and I have my desire for
graduation for life. I am sorry. I hope in not far future, both you and Dr.
目前导师 will be able to meet some talent students who enjoy doing research
and would love to spend lots of time with projects. Please forgive me.
Sincerely, regards,
me~~~
** RE: non-thesis research
AI代课老师
Sent: Tuesday, August 27, 2013 2:21 PM
To:
me~~~
Hi,
No need to apologize, you should absolutely pick the option that best fits
your goals. Good luck with your research and if I can help at some point
please feel free to ask.
AI代课老师
d**********o
发帖数: 1321
223
租房子
因为这段时间比较忙,来写这第三个学期内容的时候,我准备得并不是很充分,所以写
起来时间上就会显得稍微混乱。
其实早在暑假的时候,因为自己需要晚回学校,就打电话回去给学校里的小伙伴请他帮
我交学费,得知自己同一专业的一个同学正在找人租出他的房子。他同国内来的一位访
问学者同住,但访问学者十月份第一周的时候回国,时间上有点儿不上不下,怕他走了
丢下乱滩子不好处理,于是大家便商量着趁秋季入学的时候好找人入住早点儿解决问题
。他们的房子离系里很近,只有不到十分钟的路程,LEASE正好也是到来年五月底结束
,同自己的时间计划也还比较MATCH(我的暑假一般不在local过的),房租是贵了些,
但也算是为自己的同胞解决问题吧,便答应他们让他们帮我找个室友,我帮租出一个房
间,这样中国人互相帮忙、互相解决问题就挺好的,也算是与同专业的同学搞好了关系。
后来的事情就有点儿离谱了。首先这位同胞把自己几乎是个人信息贴到了学校公告栏(
说学校计算机系一个女中国研究生,几乎可以唯一确定);电话里我就直接跟那位同学
说了,明说了我是为帮他解决问题才答应去住的,他这样做不太妥当、有失情份!他在
电话里态度很好,我也就没太计较;后来,我回学校前,他问我要一张CHECK,本来中
国人这么处事,也没什么大义上的错,但总感觉这忙帮得些许赌心。不过也还算能理解
吧,后来我就让帮自己交学费的小伙伴在自己回学校前就先给他写了张支票消除他的疑
虑了。
d**********o
发帖数: 1321
224
落寂归来
就像大家所看到的,带着缕缕伤痕、我开车回到了属于自己的小学校。见到自己的导师
,我对他坦诚地说,“This summer, I have experienced all kinds of failures.
”当然,我也并没有完全向这这位老师坦诚自己TECHNICAL、人际关系上的挫败,觉得
好像我也还没有必要去向这样一个陌生人去谈论这一切细节的必要。刚回学校时,家里
还没装网,周末学校系里各地方的门都没有开,我去书店上网、买水,那里同时也是一
家咖啡厅,周围也有不少人在,可忽然感觉身处闹市、内心落寂,分外想念暑假里同自
己一起度过欢快时光的小伙伴们~~ :)
这个学期,经历了暑假换MENTOR前那么深刻的教训,编译课,就算老师说得再难,难于
上青天,我也一定要去选的;这样的课,能有机会去选就已经算是运气了,哪里还会去
考虑废掉的可能?再说了,就是因为没有退路的选了这门课,又怎么可能废掉?是的,
这门课,就算自己的导师把它描绘成恐怖门、灭绝师太、电据杀人狂,我也一定会去选
的!只是我也真没有意料到,这样一门课最终真的给自己带来莫以言状的痛苦心伤与信
心上的挫败。
就像大家从邮件里所看到的,收到导师要我秋季学期选RESEARCH FUNDAMENTAL课邮件的
自己就像接到一记警钟,这都什么时候了,他们还在打着要我去作RESEARCH的主意?后
来我就直接跟了这位上春季给我上RTOS课的老师走NON-THESIS OPTION GRADUATION了。
不是因为不喜欢AI的老师,喜欢欣赏这位老师的代课风格是一定的,只是害怕自己陷进
了没法摆脱的泥潭。与其那样,不如还是规避这里,执行原计划,争取早点儿毕业吧~~
!!
d**********o
发帖数: 1321
225
秋季选课
随着意识的增长,这学期选课,我就慢慢地有了自己的向往与要求,不再会被因难轻易
吓倒。这次回来,我对自己的导师提到过,我不喜欢对学生要求过于严格的老师,会因
为害怕抑制抹杀我学习的热情;当然我也不喜欢对学生要求不严的老师,会滋长我的惰
性、依赖性,让自己滑身堕落的深渊。最终这学期我选的课程是:Compiler design(4
学分),data communication (3学分),computer hardware (3学分),non-thesis
research (4学分)。
没有选那门统计相关的课是因为这门课与本校的这门硬件课在时间上是完全冲突的(完
全一致);选课的时候我还在外州,只有他们在LOCAL的学生才有机会知道,老师发邮
件给他们,说是因为时间上的冲突这门课的上课时间有可能会改变的;我是开学很久以
后才了解到这样的信息,但也就因为这样的冲突,我就这样被自己最应该、最值得去上
去选的课(因为自己有统计前景)拒绝在心门之外、深深地感到忧伤~~
选网络课是因为不想错过垫定这一块基础知识的机会;后来这门课的老师带给自己一样
绝美的礼物一一就是LATEX啦~~ 选编译课是因为暑假的教训让自己认识到这块基础的重
要性,走过了第一学期对新专业的各种恐惧,走过了第二学期写对了作业答案也不知道
为什么的稀里糊途,现在原本就到了这样一个该挖深入的阶段,我没有任何理由不去选
这门课。但选这课的结果却也是出乎意料地严格,几乎把自己整死~~ ^_*
d**********o
发帖数: 1321
226
关于一门统计相关课
** From: 后来导师@gmail.com [后来导师@gmail.com] on behalf of 后来导师 [后来
导师@XXXXX.edu]
Sent: Tuesday, August 27, 2013 10:50 PM
To: all the CS551 classmates & relative instructors
Cc: 后来代课老师
Subject: CS451/551, ECE441/541
Hi All -
I first of all apologize for all the confusion concerning this class. We had
to make some last minute changes in teaching schedules, and so didn't have
very good immediate solutions for covering all the classes. I wasn't very
happy with the arrangement whereby we would re-use previous tapes, but it
was the only solution that came to mind in the short time we had.
So, we are going to change things again - but I think this is a much better
solution. Dr. 后来代课老师has agreed to take over the class. He is fully
qualified to cover the material, having directed work involving computer
architecture with the AFRL, and with designing specialized architectures for
space applications in his own research with NASA. He will be doing live
lectures, rather than replayed video.
I believe that as a result of this move we will go back to the original
schedule for the class, meeting on TTh from 11:00-12:15 in the same room -
assume that is the case, unless you hear otherwise.
Again, I am sorry for the inconvenience and confusion.
- 后来导师
** RE: CS451/551, ECE441/541
(me~~)
Sent: Thursday, September 19, 2013 6:22 AM
To: all the CS551 classmates & relative instructors
Cc: 后来代课老师
Hi, Dear Instructors and classmates,
Sorry for the interruption. My name is (me~~), and I am taking the course of
cs451/551 this semester.
I am writing to ask if we could still change the class meeting time for
cs451/551. I know it was slightly late, but I want to take the chance to ask
and see if it could happen for we have only several classmates for this
course. I know it is slightly late, but it is really important to me.
The reason I want to change the meeting time is because I want to audit the
cs576 "Data Mining Topics and Techniques". I got my master's degree in
Statistics from U of X in Dec 2009. And afterwards I spent 2.5 years in CA,
around 1 year worked in Nielsen/Net Ratings as Research Analyst, 2.5 months
in Ask.com as a statistician, and 3 months in PayPal titled Research Analyst
III. For this fall semester I have registered cs551, cs445 compiler, cs520
"Data communication systems". (551 and 520 are required for my graduation to
make the 9 credits focus.) Beside, I work around 15 hours/week in Bob's to
cover my living expense. I may not even have any energy to register this
data mining course at all. But I do need some inspiring ideas from the
instructor to help combine my majors.
How I wish I were as young as the classmates! But I have wasted too many
years back and forth in this university already! I am not sure if it could
make any difference by sending this email out, but it doesn't hurt to ask
and share feelings. I will talk to department main office and Dr. 代课老师
the first thing tomorrow morning, and hoping we could spend several minutes
before class to discuss if it's feasible.
Sorry for the inconvenience and thanks for reading this.
(me~~)
** From: 后来导师 [后来导师@gmail.com]
Sent: Thursday, September 19, 2013 3:21 PM
To: (me~~)
Subject: Re: CS451/551, ECE441/541
(me~~) -
I have some advice - you are already trying to do too much. You have a full
class load, and you haven't even finished last semester yet. You started
this semester late, so you were behind from the very beginning. You are
working in addition. You told me that you would finish the RTOS class
incomplete, then start working on an as-yet unspecified graduate project. It
is 1/4 of the way through the semester, and I haven't seen any progress on
the incomplete, let alone the graduate project. I think you should focus on
these projects, rather than trying to do something else.
On a slightly different subject, would it be possible to meet tomorrow
instead of today? I could meet in the morning, either before or after my 11:
30 class.
- 后来导师
** RE: CS451/551, ECE441/541
From: (me~~)
Sent: Thursday, September 19, 2013 7:14 PM
To: 后来导师 [后来导师@gmail.com]
Hi 后来导师,
We could meet on Friday regularly at 10:30am.
I will see you tomorrow.
Thanks,
(me~~)
d**********o
发帖数: 1321
227
后面应该还会贴很多邮件的,
过去那些事也大多邮件交流,
直接贴出来比较方便~~
常常会觉得时间紧张,
再回去敲点儿字上来~~
d**********o
发帖数: 1321
228
我的室友(1)
因为已经同自已同胞解决好住房问题,从加州开车回去的当晚,我就住到了属于自己的
房间。这房子是前房主们住的时候我从来不曾来拜访、不曾见过的;我的新室友是一个
美国在校学生,也是之间我从来不曾见过,不知道将来到底会处得怎么样的。但就想着
,我住这里,图明年lease结束得早(五月底),图离自己系里方便,可以安心学习;
住校园里,只要大家友好相处,再怎么差也不会差得怎么样,差到哪里去吧~~
刚住进来的时候,我知道家里有这么个人存在;但他就像一个影子,我只看见蛛丝马迹
,却从不曾见到真人;真正见到他已经是几天后的事了;美国人所以比我们要白点儿,
很年轻,只有19、20岁吧。他说他以前住学校community里,像是出去玩集中营那种感
觉(比如每天自己的洗刷用品会收起来放到房间里,后来才再习惯放外面)。
他也有好几个major,大概是有一个minor在数学还是统计。接下来有一次聊天我们就聊
到我们系,是室友,我就直接对他说我不太喜欢我们系,不太喜欢他们的一些作法,比
如这们硬件课,他们老师、同学我还没回来时就换过上课时间,但我当时根本就不知道
,到自己统计相关的课都不能选了才知道消息,完全就错过掉的自己应该好好努力的方
向~~
b*s
发帖数: 82482
229
侬现在在上班还是上学?

后面应该还会贴很多邮件的,
过去那些事也大多邮件交流,
直接贴出来比较方便~~
常常会觉得时间紧张,
再回去敲点儿字上来~~

【在 d**********o 的大作中提到】
: 后面应该还会贴很多邮件的,
: 过去那些事也大多邮件交流,
: 直接贴出来比较方便~~
: 常常会觉得时间紧张,
: 再回去敲点儿字上来~~

d**********o
发帖数: 1321
230
还在上学, 还得一年再毕业~~

【在 b*s 的大作中提到】
: 侬现在在上班还是上学?
:
: 后面应该还会贴很多邮件的,
: 过去那些事也大多邮件交流,
: 直接贴出来比较方便~~
: 常常会觉得时间紧张,
: 再回去敲点儿字上来~~

相关主题
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
求助,我该接受这个教学职位吗?It's still hot!
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
231
我的室友(2)
聊到这个学校里的学生,之前提到的那些个数字便是他告诉我的。他说,这个学校平均
本科生毕业时间4.5年,研究生也得两三年吧。我就好奇问他,既然本科生都是平均时
间4年,为什么这个学校会成为4.5~5年(关键也是那会儿我第一次听说这个数字)。便
也就问他这里的学习就没有自己的life plan什么的吗?他们就心甘情愿在这里呆上4.5
年甚至更久?室友告诉我说,要知道这个学校学生的入校成绩很低,他们有些人完全没
有资格进入本科学习的!
室友的这些话让我想到了我自己。可以打保票的是:在我去年33岁的时候,如果让我知
道,没有人能够两年完成这样一个30学分毕业的硕士学位,我会接受现实,回国!在被
录取、同自己导师联系秋季选课的时间也还曾经一度想要放弃,我的邮件他4天才回;
老师的邮件我也是10天才回,为什么,不就在考虑要不要放弃回国么?那十天里,同一
个学校的小伙伴打过很多次电话,小伙伴也多方面解说劝我,我就是接受不了一万多的
学费只能上7个不计入硕士毕业学分的这样一个事实!
被室友说他们本科生说得那么狠,我也禁不住去想自己的状况。当时,自己的舅舅、表
哥都不曾为自己想读computer science作过任何表态,如果我真的那么差,没有任何基
础,他们一一系里的graduate committee里的人怎么就那么放心大胆地接收了我,而且
还是在别人33岁的高龄(还在别人至亲的人都不作任何表态的前提下)?这个学校的部
分学生不懂life,那他们老师们也是这样,一点儿不懂?
d**********o
发帖数: 1321
232
八月十五(小伙伴)
也很久没有同自己的小伙伴们联系了,回到学校,那天是一个什么机会来着,大概是他
们non-thesis option的报告吧。那天正好也8月15日,大家也是好久没见,就说那咱大
家一起去一个小伙伴家去找他来玩儿吧。到这里就必须得给小伙伴们起名字了。我租房
间的前房主,他长得我们四人里最高最壮最大块的,叫他”板块”吧,帮我交学费的小
伙伴就叫”(男)闺密”好了,还有另外一个读PHD的中国男生也块,但块头小了很多,
就叫他”板砖”吧。所有我们四个人都是中国人,一起聚到了男闺密家里。
大概是去的路上吧,板块说让我花$20买盒月饼大家吃;我心里不太舒服,于是就没有
说话。虽然说我暑假挣了两分钱,但把自己的学费一交,基本就什么也不剩下了。而且
男闺密帮我交了$4000的学费,我都还没有还(我一直是到后来很晚的时候才还了$1000
,到来年春天退税后才再又还了$1000,到现在我敲字的时候还久着别人$2000块呢!)
,为什么他这么明确地要求我还习东西,而且还是在我帮忙租了他家房子之后?
哦,想起来了,回到学校后因为暑假自己租storage unit租得比较晚,我就被逼租到离
自己小镇北边20迈的地方去了。所以这次回来以后,我自己去那里搬得搬好几趟,就请
男闺密和板块以及板砖一起帮我搬。那次帮忙的事情好像也还是有那么点儿不愉快吧。
板砖暑假的时候有帮我从IPO取出自已的CPT并用快递寄出来到加州给我,快递可能也得
花$19.50吧。后来帮我搬东西那天,原本他是答应帮一个车的,男闺密同板块已经同一
辆车早到了,我自己开一辆车还在等板砖,板砖要先去加油,我们便去了加油站,不过
那里我没有意识到别人大概是需要我出油费的。后来我原本跟他车后要去北方小镇的,
他开得实在是太慢像爬一样,我便从车里打电话对他说,另外两个人应该早到了,我不
等你了,我自己先开过去。后来我到目的地后,果然他们两人已经在那里等候多时了。
装东西时我把所有东西装在两个车里,他们提到还有一辆车在路上时,我就直接拒绝告
诉他们说,那辆车我已经不作指望了(后来还了板砖$20,请他们夫妻吃了餐自家做的饭
)。
d**********o
发帖数: 1321
233
八月十五(小伙伴)(2)
那天在男闺密那里,同样的同一个专业的三个小伙伴男生和自己一个女生,四个中国人
,原本该是多么团结、相互帮助和热闹的事情,但我们却话不投机半句多,没有了任何
想再多说下去的欲望。
之前闺密已经因为我向他借钱的问题,我们讨论了半个小时,我同他好说好商量,我先
还$1000,这样剩下一个整数,等我有钱了再去还他;感觉这个说的过程我是那个没钱
问别人借了钱的人,这整个过程还是很一段很痛苦的漫长过程;接着就成了板块批评我
不感恩,因为我没有顺他的意花$20买月饼;我就说了,你们帮忙搬家主要还是闺密开
的车,你们出了些劳力,我是这段时间紧不功夫请大家吃饭,改天在我家吃饭不就挺好
吗,我挣钱也不容易啊(后来我是圣诞节的时候请大家闺密、板块、板砖及其老婆,到
我家去吃的饺子,住我楼下的女孩也一起在我家帮忙、吃饭)。我也略有不服啊,便也
问他,我不是也帮了你的忙,把你的房子租出去了吗?他觉得我怎么都得租房子的,租
他家的房子是顺水人情,我便说了,这一年的房子是我来美国后几年里住过的条件最好
的房子了。我这么穷,我何苦何必要住你这么贵的房子,你有替我想想么?
d**********o
发帖数: 1321
234
八月十五(小伙伴)(3)
我们聊的话题大概是想要打开我的心结,因为我觉得自己在选课上选得心里发堵。闺密
和板块是持同一观点的,他们认为这样一门专业必须得沉得下心来、静静地钻研才能真
正学到和掌握知识。沉下心来、潜心钻研我从来都是不反对的(相反,它成了我这个学
期的目标,因为A在批评我时,也曾劝导过我同样的话),但我没能选到那门我想上的统
计课我还是心里有着诸多遗憾的~~ 板块说系里奖学金啊一类的全是main office里的那
个前系主任的老婆管事;这话在我这儿就成了一阵儿风,吹过了就没有了,因为我压根
就不信这回事!他们俩个都是同其它系读书的时候第一年一学期选CS150 & CS121,一学
期选CS210、CS240 & CS270选了一年选过来的;但我没有这样的美国时间,而且当初他
们导师不让选的话我可以考虑回国的啊,那阵我同男闺密不知道打了多少回电话墨迹这
事~~
这件话题讨论的结论就成了:他们两个一致认为,我有受迫害妄想症,他们认为老师们
应该还是公正的。这已经算是我在学校里最为亲近的朋友了,他们的结论让自己哭笑不
得,很是挫败;但他们的观点我无法认同啊。他们俩个,闺密是同实习时组里的D一样
人品极好、很能替别人着想的人;就因为他好说话,这个计算机的硕士学位感觉他上的
课非常有限,到时得自学多少内容才能真正满足找工作的要求?板块稍显谄媚,很懂得
讨好老师,所以可以拿到很多A;我已经很是孤僻了,板砖表态表明观点说,“你的情
况可能是特殊一点儿!”板砖大概是那个也经历过的明白人,但他不愿意去说重话刺激
那两个人。我心里之前早奇怪过这个人的经历,国同体科计算机,根正苗红的专业人士
,为什么硕士毕业后连OPT都不用要直接读博士?不过也想,或许别人年轻比较有理想
吧。
今天很郁闷的自己又能怎么样,原本想同大家联络感情的,就只好扫兴自已回家了。记
得这样一个日子,是因为到这一刻,我就已经是被这个整个世界给背叛、遗忘了。而且
,是在八月十五这个传统节日~~
d**********o
发帖数: 1321
235
关于爱情
我想我很挫败,讲了这么久的故事、写了这么久的东西,都还没法真正与读者之间建立
起充分的信任,所以我所写的、写过的不经意的话都会轻易使风向转变,就比如像是昨
天的,写出来的话原本就只是字面上的意思啊,那些都是事实啊(在这样一个国度,舅
舅表哥原本就是我的距离三四代的远亲,但在这样一个陌生国度的土地上,他们也已经
就是自己最亲的人了啊,在这片国土上,我还有比他们更远更亲的人么?),为什么风
向就瞬间变了呢?
我是多么忌讳去写爱情,因为觉得自己太晚熟、真的是不懂,与同龄人相比落后太多了
。但就像之前有网友建议过的,生活经历也告诉自己,我大概还是只能诚实如实地写出
自己的真实想法应该就是最真诚真实的了,就像几年前写的时候真诚地写出自己对表哥
家庭的种种不适应。
实习期间并不十分觉得,但真正回到学校一切都觉得陌生,无比怀念假期里同自己一起
玩耍的小伙伴们。这个夏天的实习,我除了得到了充实的知识上、思想上的启迪,每天
看着那个无比欣赏、春风得意、挥洒自如的A,我也有了一定程度上的迷失,我也被引
入了一个更深的思考话题:这个表哥是那个内心里我真正爱的人么?还是,其实,我并
没有去爱过这个人,这只是特殊情境下,亲情上向爱情的一个投影?还是,我真的爱过
爱着?表哥的外形也是像着爸爸的,但同我那父爱如山的爸爸相比,表哥在我这里似乎
缺少了些精神力量。表哥真的就是那个我想要去依赖的人么,还是这一切的发生不过是
在那个环境下、自己依赖性的一个投影?
如果说法律上的隔离只是提供了让我去独立思考的社会环境,那这次暑假实习回来,我
开始有了自己去独立思考、试图去努力发现、和认识自己的主观愿望。相信如果那个人
是真心爱我的,他真心做出过那种牺牲,他就该宽忍、给自己这样探索认识自已的机会
。这一年我34岁,据说这是一个女人最想入非非的年龄。
d*******d
发帖数: 3382
236
这么持之以恒的喜欢一个工具很幸福啊

excel

【在 d**********o 的大作中提到】
: 我与Emacs的不解情缘(11)
: 可就算是emacs有常常会有bug,但爱emacs的心从来不曾变过滴啊~~ 而且就像老师评说
: latex,用emacs也是一件很容易上瘾的事情,春天找工作时,想用emacs作类似于excel
: 表格来记录找工作纪录,跑去搜一下就找到一个ses-mode用起来还挺不错的;想用
: emacs收发邮件,跑去搜一下就搜到成堆成堆的配置~~ 看来大家对它的瘾都是相通的,
: 基本我能想到的大家都早就想到并且给出了行之有效的解决办法了~~ 可惜春天时功课
: 紧张,收发邮件的配置没弄出来,但想征服它的心从来从来没减过,再过一两个月,新
: 一季找工作来临前,我一定把它给整出来滴~~!! 同样受启发于emmet-mode的C-j调用
: 出的诸多snippets,我其实应该把自己写过的几百个针对不同mode的macro改为
: snippets存放在自己定义的类似于emmet-mode的模块中,方便使用,但这也只是自己目

d**********o
发帖数: 1321
237
幸福是因为这工具真心好用、值得喜欢啊~~ *_^

【在 d*******d 的大作中提到】
: 这么持之以恒的喜欢一个工具很幸福啊
:
: excel

d**********o
发帖数: 1321
238
MOUNTAIN BIKING (1)
好不容易,这么多年的锻炼愿望终于在这个暑假实现了!刚开学时,还是很有愿望想把
自己暑假取得的锻炼习惯成果坚持下去的。结合当地的地理位置与环境(大家都知道我
是从小就喜欢骑自行车的,小时候为从父母那里要一辆自行车是需要等很久的,其实至
到现在也从来没有真的从家里要到一辆自己的自行车的),这个小镇多山,自已倒也是
整个夏天都呆在山林里,再回到现在这个小镇,就很想MOUNTAIN BIKING。
我从CRAIGSLIST上看到一辆可以塞进自已车里的小自行车(26还是24,很小很小),也
不太贵花了$25,但是很重。后来真正到山上骑一次才意识到这车好难骑,基本上快有
点儿骑不动的,上坡的时候推得都很吃力的。因为自己没钱,重啊不好骑啊这些都还是
可以忍受的,最后忍受不了的是,后轴有一个比较重要部位的油轮是塑料飞轮断了这样
就真没法骑了。
后来来到小镇上的自行车铺里,别人有零件卖,$15,但是装上要再花十块还是多少我不
太记得了。因为回来买写作业的课桌装折桌子等,到这时我家里已经有些小工具了,后
来我就买了零件试图回家自己装上,可还是难度太大了;折磨大半个小时后还是又重新
回到了车铺里请别人帮忙装上。几乎就要顺利完成了,这时回来了车店里的老板。
d**********o
发帖数: 1321
239
MOUNTAIN BIKING (2)
别人帮我装的时候,修车的师傅已经建议说这车在山上骑不安全,建议我给自行车作一
下全身检查更新(人的全身检查尚且没钱,还车呢),我说我骑车时配备齐全,安全帽
,手套都备上了,而且我骑的时候会穿长衣长裤这样即使摔倒,也不会太伤着自己,而
且我的个性也还算谨慎的~~
店里的老板回来后,事情就发生了彻底的扭转:因为我花不起、不愿意出$60给自行车
作全身检查和更新(上山骑车只能算是自己刚刚兴起的一个小小爱好而已,万一这个爱
好太昂贵,在我没有经济能力的情况下,我还是懂得放弃的),老板命令师傅把即将装
好的车后飞轮折卸下来,而且基本对他店里的师傅们明说,我这辆自行车在他店里他们
不得给修!
我也是很不理解,不就修辆自行车么,不修也没什么大不了,顶多自己上山跑步好了~~
心里也略有不服,要走的时候便直接对老板说,要么退我零件钱,要么把零件还给我
,这零件我可也是花了我$15买来的。后来他就把零件钱退给我了。再后来他把
community里的前学校IPO租自行车组织的“后身”(被另外一个人大概在这个关口附近
接暂了)的人找来,希望她能帮我修找一辆安全的自行车。
d**********o
发帖数: 1321
240
MOUNTAIN BIKING (3)
不知道同那个新接管的人到底该如何联系,也不知道前店老板那么做的目的和意图是什
么,只是更多的觉得很意外、不可理喻。因为我还是想骑自行车,后来在镇上另一家店
铺,我已经将自己的自行车修好了,别人大概也只要了我零件钱好像是(不太记得了,
即使收了安装费应该也不超过$5,基本就是像征性地收了一点儿)。
后来community里的人给我打电话留言说,她正好帮我找到一辆合适的自行车,问我什
么时候有时间过去商量取。至于一个偏远小镇上的自行车行的老板是如何想到这一点、
这一切的,还是学校某些组织早就联系、知会了这家车行老板,我并不清楚,但是到这
个时候,我基本也就能够明白别人在建、在打造着文明community,从这方面来理解,
就容易、润滑了很多。
而我对我们系里的选课多少还是有着怨念,别人自行车新身已经给出了好意,我愿不愿
意接受就成为了一种选择。主观上我是不愿意的,我也就这么一个小人物,我的自己行
车也已经修好,我只要能在山道上骑就可以了,我犯不着去扛一个精神文明的什么先锋
受惠者。但我也不愿意也做那个恶人,在别人的好意面前显得寂寞猥琐、心怀鬼胎,不
敢去欣然接受别人的好意也会成为一种狭隘,于是就接受、同她联系了。
IPO自行车租车新身决定说一辆换一辆,我把自己以前从IPO花$20使用费(另$30租金我
还自行车的时候还会还给我的)租来的非mountain bike,在她那里更换成mountain
bike,这样等我毕业时把这辆自行车再还给他们就可以了。这辆车租个头儿大点儿,但
是碳化的就轻很多,骑起来比那辆我花$25块钱从小镇上别人家里买的山地车要舒服很
多。那辆小山地车我这次暑假来时还没有来得及处理,秋天回去后如果没有朋友需要,
应该就会拿去Good will吧。
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
老印还挺不好伺候的,不准备打交道了 (转载)急问一个b超的问题,希望得到贵版版友的帮助
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
进入WebRadio版参与讨论
d**********o
发帖数: 1321
241
打工生活
记得一年前刚回到学校来,还不得不为自己的生活费在校园食堂打工的时候,很多人为
自己鸣不平。很感激好心人对我生活的关心,但像我这样普普通通、平平凡凡的人,不
打工,我的生活又何以为继?说起来还得感激学校食堂里给了这样的打工机会呢。如果
学校里找不到可以打工的机会,国际全职学生又不能打校外的工,小地方,完全没有其
它工作机会,又要怎么办才好?
是的,继去年十月份开始在校食堂打工以来,我还一直呆在这里。春天在这里打工的感
觉很差,觉得自己在这里受到不少不公正与打击,对自己的形象、人格都造成了伤害;
但凭良心说,随着暑假别人给我实习机会,我挣到学费,秋天再回到学校,系里的老师
、同学我感觉没有任何变化,但食堂里就真的没有再像春天那么欺负人的呢(前两年出
事出来澄清事情的时候应该写过这个,这次就不再多说了)。感觉食堂里,我的打工生
存环境好了很多,这个学期,我基本最多的时候都是被安排在CLASSICS,就是美国学生
比较喜欢来买东西吃,打扫起卫生等来也不会像沙啦那边事情多又繁忙收滩子的时候也
很忙那么辛苦了,这点儿还是很欣慰的。
这个学期这里的打工,我作一三五晚上4 : 00 ~ 9 : 00pm,每周打工15个小时,加上
前后走路来这里的时间,以及每次打完工后回家洗澡再重新回到系里浪费的时候,每周
怎么也得花掉16、17个小时吧。
d**********o
发帖数: 1321
242
打工生活(2)
九月底有一次在食堂里值班(是周一晚还是周三晚上,我不太记得了),那天我是在女
生生理期间,但是基本上就快结束了。但是那晚却很是淋漓不尽、出奇地虚脱、手脚无
力,站在那里站得很是勉强;自己平时搬得起的一络盘子到这天晚上就搬不动,只能一
小叠一小叠地慢慢搬挪;浑身潮热,额头、脖子、身上都微微地冒着汗,很勉强地支撑
到了晚上七点多钟(我们正常时间七点半钟shut down,不再服务学生,开始收拾滩位
、打扫卫生),有位值班的美国学生帮忙cover了我,我去take break、吃了些东西,
才又慢慢缓过劲儿来。
那天晚上是一位腿上略有残疾的女manager 负责管理close down。她还比较体谅,安排
相对轻松的活给我,安排我去摆水果,从冷库里拿几箱水果来(她已经帮我把水果搬到
了车里,我只推出去摆)摆到外面木箱里供学生们取食。
这次身体上的意外难受同将近一年前凌晨(清晨五六点钟)痛醒那次一样后来不了了之
了,但也敲响我身体不好的警钟。后来我自己也上网去查过,大概那天坏在了我去上班
时喝了些食堂里的Pepsi苏打汽水导致身体虚脱。已经没有了正常人、相比于自己年轻
时所拥有的健康,后来自己在这方面就比较注意,生理期间时,一定不喝苏打汽水、一
定不喝咖啡、不吃香蕉,只喝热水、热血活血化瘀的食物,比如鸡骨架汤等,保证足够
充足的睡眠~~
d**********o
发帖数: 1321
243
第一次走路
正如还在暑假时写给老师的邮件里就早已点明,我接下来春天的学费是没有着落的,所
以便与学校里的老师们都早早地打好了招呼,春天我可能需要系里资助。这个问题,便
也就又一次地成为了我与导师交流的必要话题之一。
那天,我如约地准时出现在导师office里,导师却说他当时正要赶去ADMIN的楼上去开
一个什么会,问我有没有时间陪他一起走过去边走边聊这个话题。我正在请教他有关春
天自己学费的问题,有求于别人、需要系里帮忙,岂有不陪他走的道理?那天,我穿着
比较正式的上班时穿的工作服,长袖长裤带跟凉鞋却略显裙副飘飘。于是我们走阶梯爬
过一个小山坡、走过长长的校园林荫路,却感觉有那么几分招摇,又不敢说什么,也就
没有多想!走到ADMIN,我大概也有再次提到我是女生岁数大了,不适合再呆在学校里
做科研的话,但那天老师去开会前,说出来最重要的一句话是,你得学会去取舍、平衡
!我有些发愣,自己懵懵懂懂地再一个人从ADMIN走回来,却没能真正想明白。
这次几乎可以放弃自己的一大爱好也不愿意花钱去修自行车,也正式证明了我没有钱修
自行车一一也就更没有可以交春天学费的钱,学校那边大概新一轮的思想工作又开始了
。或许也正是这样一次走路,直接导致了再接下来感觉到他们还想要我不毕业再拖一年
的贼心不死。某天我在食堂打工的时候同系一个还比较熟的美国学生问我,什么时候毕
业,这话题就像一颗不定时炸弹,因为早已感觉到系里的同学们的态度以及可能的密秘
活动,那天这同学的部族就瞬间炸掉了我那天食堂里打工的所有好心情。
b*s
发帖数: 82482
244
爱情是overrated的……

【在 d**********o 的大作中提到】
: 关于爱情
: 我想我很挫败,讲了这么久的故事、写了这么久的东西,都还没法真正与读者之间建立
: 起充分的信任,所以我所写的、写过的不经意的话都会轻易使风向转变,就比如像是昨
: 天的,写出来的话原本就只是字面上的意思啊,那些都是事实啊(在这样一个国度,舅
: 舅表哥原本就是我的距离三四代的远亲,但在这样一个陌生国度的土地上,他们也已经
: 就是自己最亲的人了啊,在这片国土上,我还有比他们更远更亲的人么?),为什么风
: 向就瞬间变了呢?
: 我是多么忌讳去写爱情,因为觉得自己太晚熟、真的是不懂,与同龄人相比落后太多了
: 。但就像之前有网友建议过的,生活经历也告诉自己,我大概还是只能诚实如实地写出
: 自己的真实想法应该就是最真诚真实的了,就像几年前写的时候真诚地写出自己对表哥

b*s
发帖数: 82482
245
只有一个锤子,看啥都是钉子?

这么持之以恒的喜欢一个工具很幸福啊
excel

【在 d*******d 的大作中提到】
: 这么持之以恒的喜欢一个工具很幸福啊
:
: excel

b*s
发帖数: 82482
246
山地自行车如何带?看见有人顶在车顶,感觉很增加阻力……

MOUNTAIN BIKING (1)
好不容易,这么多年的锻炼愿望终于在这个暑假实现了!刚开学时,还是很有愿望想把
自己暑假取得的锻炼习惯成果坚持下去的。结合当地的地理位置与环境(大家都知道我
是从小就喜欢骑自行车的,小时候为从父母那里要一辆自行车是需要等很久的,其实至
到现在也从来没有真的从家里要到一辆自己的自行车的),这个小镇多山,自已倒也是
整个夏天都呆在山林里,再回到现在这个小镇,就很想MOUNTAIN BIKING。
我从CRAIGSLIST上看到一辆可以塞进自已车里的小自行车(26还是24,很小很小),也
不太贵花了$25,但是很重。后来真正到山上骑一次才意识到这车好难骑,基本上快有
点儿骑不动的,上坡的时候推得都很吃力的。因为自己没钱,重啊不好骑啊这些都还是
可以忍受的,最后忍受不了的是,后轴有一个比较重要部位的油轮是塑料飞轮断了这样
就真没法骑了。
后来来到小镇上的自行车铺里,别人有零件卖,$15,但是装上要再花十块还是多少我不
太记得了。因为回来买写作业的课桌装折桌子等,到这时我家里已经有些小工具了,后
来我就买了零件试图回家自己装上,可还是难度太大了;折磨大半个小时后还是又重新
回到了车铺里请别人帮忙装上。几乎就要顺利完成了,这时回来了车店里的老板。

【在 d**********o 的大作中提到】
: MOUNTAIN BIKING (3)
: 不知道同那个新接管的人到底该如何联系,也不知道前店老板那么做的目的和意图是什
: 么,只是更多的觉得很意外、不可理喻。因为我还是想骑自行车,后来在镇上另一家店
: 铺,我已经将自己的自行车修好了,别人大概也只要了我零件钱好像是(不太记得了,
: 即使收了安装费应该也不超过$5,基本就是像征性地收了一点儿)。
: 后来community里的人给我打电话留言说,她正好帮我找到一辆合适的自行车,问我什
: 么时候有时间过去商量取。至于一个偏远小镇上的自行车行的老板是如何想到这一点、
: 这一切的,还是学校某些组织早就联系、知会了这家车行老板,我并不清楚,但是到这
: 个时候,我基本也就能够明白别人在建、在打造着文明community,从这方面来理解,
: 就容易、润滑了很多。

d**********o
发帖数: 1321
247
我是把它塞车里,也见他们有架、挂后面的~~

【在 b*s 的大作中提到】
: 山地自行车如何带?看见有人顶在车顶,感觉很增加阻力……
:
: MOUNTAIN BIKING (1)
: 好不容易,这么多年的锻炼愿望终于在这个暑假实现了!刚开学时,还是很有愿望想把
: 自己暑假取得的锻炼习惯成果坚持下去的。结合当地的地理位置与环境(大家都知道我
: 是从小就喜欢骑自行车的,小时候为从父母那里要一辆自行车是需要等很久的,其实至
: 到现在也从来没有真的从家里要到一辆自己的自行车的),这个小镇多山,自已倒也是
: 整个夏天都呆在山林里,再回到现在这个小镇,就很想MOUNTAIN BIKING。
: 我从CRAIGSLIST上看到一辆可以塞进自已车里的小自行车(26还是24,很小很小),也
: 不太贵花了$25,但是很重。后来真正到山上骑一次才意识到这车好难骑,基本上快有

b*s
发帖数: 82482
248
你的车不小……

我是把它塞车里,也见他们有架、挂后面的~~

【在 d**********o 的大作中提到】
: 我是把它塞车里,也见他们有架、挂后面的~~
d**********o
发帖数: 1321
249
嘿嘿,偶就会一个Emacs,
就好像说,偶眼里只有一位大神,其它所有人便就成了小伙伴~~
不懂爱情,
不过不是说,若是爱情,便就该从此满足了么?

【在 b*s 的大作中提到】
: 只有一个锤子,看啥都是钉子?
:
: 这么持之以恒的喜欢一个工具很幸福啊
: excel

d**********o
发帖数: 1321
250
编译课介绍
过去的每个学期都有一门自己比较投入和喜欢的课,比如第一学期的<programming
language>和cs121 C++编程;第二学期的AI课,RTOS也还不错;这学期的重点当然就
是这编译课了。
编译课的老师是个身材高大的小老头,也是我的导师,其实春天旁听导师的算法课就是
去听他的课了。春天已经旁听过他的算法课,就知道他编程能力其实还是瞒强大的,在
系里老师们里面,他可能可以算是数一数二数三的,另外系主任是有钻研兴趣的那种,
在工业界有着多年的项目经验,系主任这学期给我们上硬件课,可惜是偏理论,基本不
编程;再来大牛自己近年来应该是不再编了,但相信年轻时候还是有着牢固的经验的,
不然又何至于做到今天(其忽悠能力过人也是需要肯定的)?除去工业界,我CS210代
课老师是搞UNICON的,编程绝对得强大呀~~ 但是要去评价我导师的讲课能力,frankly
speaking,他没有AI老师、没有自己那种直觉的分析能力,所以很多时候难免就会说
弯说绕,课讲得也还可以,但并不是很透彻,所以有些时候、有些比较难一点儿的问题
我就难免会听得吃力。常常有的情况是,他自己在讲台上讲得得意、投入,苦口婆心、
把他自己都讲成老太太嘴巴般成了破布,坐在下面的同学却麻木不仁,未必真正听明白
了(至少我常常没听明白)。
也介绍一下接下来会登场的小伙伴们吧。我上课坐第二排中间。教室分三竖排,左右两
竖排都只有两个坐位,认识的人里中国学生里只有Ph.d的板砖同我一起选了这门课,板
块倒是这门课早就选过了(前一学年跟着UNICON的老师选过了),闺密没选过这门课。
这位板砖同学就坐在教室最靠里排的位置。我们中间一排每排大概有六个坐位,我坐第
二排靠里第二个位置。我的左边坐的是同第一学期同我一起选CS336我得了C的那个美国
女生(那门课得C的记忆还是有着些许痛苦的),她这学期同时也与我一起上data
communication课,老师建议用latex后她还是用手写的,不过她倒是字写得清晰干净~~
学习不是很好,至少编程能力不够强,这是她第二次选编译课(前一学年跟UNICON的
老师上过的,没过);坐我右边的是一位帅气的、金发碧眼的美国小伙子,个头适中,
有着长长的睫毛和蓝色的忧郁的大眼睛,和很锻炼、很FIT的好身材~~ 有着这样的同桌
也是对自己学习能力的一种激发和挑战啊~~! 忘了说,其实这位同桌就是上学期算法课
我提到过很 sweet ,在考试前review导师不厌其烦地讲最基础的题目时装笨提问的那
个坐我前排的小伙伴啊~~ 顺便一起强调一下,那次装笨第一个提问的同学也是位帅气
的小伙子,比起同桌来显得更健壮、更muscle一些,后来他在这门课上帮过我不少忙,
我们通过很多封邮件,也一起写过两三次作业。
相关主题
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
将军们没发现国内体制内涨了不少工资么请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
进入WebRadio版参与讨论
d**********o
发帖数: 1321
251
第二次大哭(1)
写到这个时候,写到最近,我发觉自己越来越写得像是断层岩,因为时间和事情先后顺
序上的错乱。而且写到最近,因为自己也忙,几乎也是completely lose track of the
feedback,只顾着自己埋头苦干地往前写。
前面提到过,那天在食堂里打工,一个同系同专业的学生问自己什么时候毕业,一句问
话让自己那天晚上的所有好心情烟消云散,因为我已经清楚地感觉到系里逼我拖一年的
动作正在逼近。不久后的一天,应该是九月底还是十月前几号前后,(小细节上具体什
么小事情激发了这次大哭,我也已经不记得了)我就被那种受逼迫的情绪彻底击崩溃了
,原本呆在学校学生office里的自己再也呆不下去,快速连走带跑地回家了,躺在床上
滔滔大哭。
想我一介草根平民,餐风宿露地消耗着青春年华来到这里(原本想要争取本科毕业就出
来,却在二姐姐夫的劝导激压下曲线救国,读完硕士再出来,又晚了四年),环境的彻
底转换加上往日的情伤,一时间不知道该如何生活;一年后认了个舅舅,却又走向了另
一个深渊;这次原本只是留下来读书,却又被小学校小系死死地压在这里,原本说好的
两年毕业,从第一学期选课大牛、导师都知道这事,第一学期同UNICON老师达成默契,
两年毕业、不争奖学金,即使老师压我,所有的课都得B我也都忍了,为什么到这个时
候还再崩出来这么一出?这样的日子究竟什么时候才到头?我躺在床上被子蒙着头哭,
哭半个时哭到自己崩溃的情绪彻底发泄完才慢慢平静下来;等自己平静下来就会去想,
如果我下学期一定不延期,我下学期的学费问题该如何解决?
d**********o
发帖数: 1321
252
第二次大哭(2)
这已经是自己来到美国这么多年来遇到过的最大的灾难了,这一两年的日子,老师的雪
藏,一个接一个的B,我的日子已经是miserable enough了,说好的两年,还要再延期
一年,这日子究竟要怎么才能过得下去?这个坎我迈不过去!在诺大的打击和痛苦面前
,我还是又一次地想到了亲人,虽然我也还不至于对妈妈讲这种事情,但我还是需要听
听姐姐们的意见的。
那时正好是下午傍晚时分,我的电话先打给了大姐夫,打给大姐夫比打给大姐有效,大
姐多年来都不太管事儿。姐夫批评我说,有事有话好好说,一大清早就在电话里哭哭哭
,哭个什么这是?我对姐夫说我春天读书没钱交学费了,姐夫怔了怔说,没钱交学费就
回来,中国这么多人都好好地活着,就你一个人回来就活不去了?听着姐夫说这样的话
,我很无语,电话里只能情绪更崩溃激动地大哭,后来电话是怎么挂断的我都不记得了
,大概我也还是说了一两句万一没办法我就回去的话吧。
这样一个电话就是一记毒药,打完电话也只能一次比一次更崩溃~~ 哭啊哭,等到自己
情绪再平静点儿后,就想我要不要给二姐打电话,我想打,因为有着一线希望;又不敢
打,怕这亲情的肥皂泡破得一次比一次彻底。当年,考研的决定是我生病时二姐夫一句
“你知道什么叫心比天高、命比纸薄么”给激出来的;拿到奖学金准备出国时又是二姐
二姐夫坚绝阻止我出来,甚至我还在北京的时候电话里赌气对姐姐说,就算我问同学借
钱我也要出去!现在,如果姐姐姐夫还有化腐朽为神奇的力量,那就请点化点化我吧~~
d**********o
发帖数: 1321
253
第二次大哭(3)
打通电话,是二姐接的电话;我还是在哭,但说清事情的原委后,姐姐说,如果是你最
后一个学期,那我们就算是把老家爸妈当年的房子给卖了(我四岁那年爸爸领他的沏将
班子盖的房子),姐姐砸锅卖铁也得让你把这个学位拿到手啊。姐姐说,就像爸爸在你
出国之前交待过你的,任何时候,遇到任何困难,只要保证人还在就是好的!姐姐说,
到时候万一你没钱买机票,跟姐姐说,姐姐借钱也把钱给你攒足,只要你平平安安回来
就好~~ 在上一个电话希望的肥皂泡破灭之后,虽然明明知道二姐二哥作不了主(一直
以来都是大哥大姐留在家里给你母养老)去卖爸妈在老家村子里的房子,但还是被姐姐
的话给感动的一踏糊涂,再一次激动地一把鼻涕一把泪、哭成个稀里哗啦~~
或许真的是老了吧,记得往昔哭过之后也不过第二天就完全好了,不着一丝痕迹;但这
次,哭过后这天晚上早早地就睡着休息了,第二天很晚才起床,起床后居然还眼睑红肿
,泪痕犹在。
** Are You Ready For the Career Fair?
Career Center [c**********[email protected]]
To help protect your privacy, some content in this message has been blocked.
If you're sure this message is from a trusted sender and you want to re-
enable the blocked features, click here.
Sent: Thursday, September 26, 2013 10:04 PM
To:
(me~~)
University of XXXXXX Career Center
Upcoming Events
Job Internship and Grad School Fair
Monday Sept. 30,
2-6pm, Student XXXXX Center
Over 95 employers will be on campus to recruit for internships, full-time
positions, part-time and seasonal jobs. Check out the participating
employers.
Employer Information Session
Many employers who are attending the fair will host information sessions
about their company and how to apply for job opportunities
d**********o
发帖数: 1321
254
毕业打算
既然现在这个关于毕业的问题已经变得如此迫切,我就去找系里的大件了,感觉他应该
是系里的主心骨,有什么事情去找他,准是没错的。我就向大牛述说了我的经济情况:
已经从闺密那里借了三千块钱还没有还,春天完全没有经济来源,希望看能不能够从系
里得到什么经济上的帮助。大牛大概是说他的科研经费也被砍了好多吧,他也没钱,但
是他建议我说春天可以part time,这样我按学分交学费,大概只要交两个学分的钱花$
2000多块就可以了,如果能继续在学校食堂里打工的话,生活费基本上也还有保障。而
且考虑到我自己特殊的身份问题,大牛也是同意我八月份才毕业的,这样自己转身份就
不会有GAP。
虽然自己只是转专业的学生,虽然自己只读了三个学期,但在自己没钱又不想延期的情
况下,想来,这已然是最佳的解决方案了。没什么再多的可犹豫的,感谢大牛,同时顺
了他的意思,将自己的导师从自己目前编译课的代课老师转换成现在导师一一也是春季
学期给自己上RTOS的代课老师。
这里我也还是有着疏忽的,我没有去问大牛我为什么需要转换导师,只是感激别人为自
己指了条生路、留了一条活路,却没去细想他们要我换导师,这背后的动机又是什么?
d**********o
发帖数: 1321
255
编译课的烦恼(1)
这学期的这门课,除了我已经知道的导师有时候会讲到兴奋处他自己自high,把自己讲
成老太太嘴巴,还有了异样的怪异。比如,他讲课是有一个速度问题的,正常情况下是
按着同学们能够接受的速度来讲,但偶尔,他就不知道是哪根神经不太对劲,节奏会瞬
间突然慢下来,出奇地慢、慢得如此怪异,根据以往的风向,大家就会把账算到我头上
(比如第一学期的的CS210开学很长一段时间里,大家都觉得我奇笨无比,因为很久以
后我才知道老师有张excel作业考试成绩表格,
给我的前两次作业一次4分、一次8分,满分分别是27分和33分,后来这个我特笨的效果
漫延开后,他才把自我的成绩改回来)。
其实我早就说过,同CS210的老师达成不成文默契后,我处于被雪惨藏状态,很是低调
,上课一般都不回答问题的,除了上学期快结束时最后一堂AI课向老师表达有想同他作
课题的愿望提过一个问题。那现在当代课老师开始人为控制风向的时候,我当然不甘受
欺压,就回答了一个问题。那堂课开课时是在讲grammar,我就提了两点,一是当他在
白板上写grammar时,“',' should be defined as a token; ”然后因为他的语法定
义得不合理,有冗余,便装不懂地问到“Why do you need the third grammar rule?”
下课后有同学觉得我很聪明,我自己清楚地知道,我只是在别人施加的欺压面前正当防
卫而已。
d**********o
发帖数: 1321
256
与导师邮件(1)
** hw2 help
(me~~)
Sent: Friday, October 11, 2013 7:38 PM(同之前学校邮箱的问题一样,用的应
该是北京时间,这里应该是减去7个小时?也就是发邮件的时间是12:38pm ? 参考<关
于软件工程项目:与导师联系 >里的时间对比)
To:
cs445代课老师@XXXXXX.edu
Hi Dr. cs445代课老师,
My recognizer works for all four(这里应该是笔误,五个文件,因为这次作业总共
有6个测试文件) files except strings.c- for CHARCONSTANT. I didn't work on
that on any more.
But after trying to build a syntax tree, I got tons of error/warning
messages. Can you help give me some clue how to get the first several error
msgs off?
I am thinking I could not completely finish this homework on time for hw2.
Using EDT you mean deadline is 2:00pm locally(后来同同学们确认过,2:00pm
locally makes nonsense. So the deadline should be 5:00pm locally.)?
I have missed the non-terminal function definition part, and missed
connectivity among all those parts. Can you help suggest a battery-plan for
me so that I can make most points in the coming hours?
Thanks,
(me~~)
** Re: hw2 help
cs445代课老师 [c************[email protected]] on behalf of cs445代课老师 [cs445代
课老师@XXXXXX.edu]
Sent: Saturday, October 12, 2013 3:20 AM
To:
(me~~)
Hi (me~~),
You should probably make an appointment to come and talk about
your code. I can walk you through it. You need to get this to work
because assignment 3 will rely on assignment 2 working.
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Mon, Oct 14, 2013 at 9:40 AM
subject: are you dropping by my office?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
Are you dropping by my office to talk about CS445?
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Mon, Oct 14, 2013 at 10:30 AM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
Hi, Dr. cs445代课老师,
I will have cs520 exam at morning at 11:30-12:20pm, and after that before
class, or after class, I will stop by so that you can help me walk through
the (补:hw3) battery plan.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Mon, Oct 14, 2013 at 11:21 AM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
I am always unavailable the hour before class
Sent from my iPhone
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Mon, Oct 14, 2013 at 11:47 PM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
Hi, Dr. cs445代课老师,
I am writing to ask if you have any period open tomorrow so that I can
schedule a meeting time with you so that you can help me walk through the
battery plan for hw3.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Tue, Oct 15, 2013 at 9:18 AM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
How about 2:30 on Tues (today)?
If not, how about 4:30?
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Tue, Oct 15, 2013 at 12:15 PM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
Hi Dr. cs445代课老师,
4:30pm Tues(today) works for me. I will be waiting for you at that time then
.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Tue, Oct 15, 2013 at 1:14 PM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
Too late. The 4:30 meeting time is now gone. How about at 5:00?
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Tue, Oct 15, 2013 at 1:23 PM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
Dr. cs445代课老师,
5:00pm works for me too today. I will see you in your office then.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Tue, Oct 15, 2013 at 2:26 PM
subject: Re: are you dropping by my office?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
See you then
Sent from my iPhone
d**********o
发帖数: 1321
257
与导师邮件(2)
关于这门编译课、关于这个学期,我应该会有很多与代课老师的邮件贴出来,那非专业
读者就看个热闹,同专业的小伙伴们,敬请与我一起温习编译课、编译原理吧(build
a C- compiler)。
之前的邮件都是从学样邮箱发出去收回来的,但不知道为什么从接下来某天的邮件起,
老师给我发这封邮件、他自己的邮箱、我的接收邮箱就都变成了gmail的账户。想起来
了,之前课堂上好像有一次他提到过他的学校邮箱好像是有什么问题,但具体是什么问
题,我们他自己也不清楚。这样我的接收邮箱也就莫名其妙地换成了gmail的账户。而
在之前的学校邮箱里,他回邮件后我没有再回,也是因为他把话说得太重了,我只是有
小问题没有做完而已,怀疑我第二次作业有严重问题太过分了,所以不太想去理会他。
到这次邮件这里,我就招风耳地听到过导师的又一次洋洋自得。前面导师给出的那两个
时间段我选择了后一个,他不是不available,而是他觉得我很很强的自尊心,所以他
说4:30不行,但5:00可以这样可以把时间往后面推。知道他是这么想的,是因为那次
我正好在main office那层楼,他正洋洋得意地对AI老师说着这样的话。
其实早就听说过这个导师fail掉过很多人,是系里很多学生眼中有名的变态老师。到这
时,其实从初中化学老师那里那时就炼就好的好心态(化学老师在办公室里对其它老师
说,我又想回答问题,结果给了我机会站起来回答问题又一不小心计算回答错了,他很
是不满啊)还在持续也发挥着作用,我只是要上一门课理解一下那些个程序编译的原理
,我只要顺利地过了这门课,真正学到知识、炼就了本领,谁去care你到底在胡说些什
么啊?
d**********o
发帖数: 1321
258
参见导师的后果
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Tue, Oct 15, 2013 at 6:05 PM
subject: edits we made
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Tue, Oct 22, 2013 at 3:25 PM
subject: tar of c- work
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Wed, Oct 23, 2013 at 3:26 PM
subject: your code
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the people in the conversation.
我一般都是在周二、周三代课老师的office hour可以直接敲门去进他office里去问他
问题。从第二次作业自己并没能按时完成所有任务,那一个变量的缩进问题就没有时间
解决掉,所以后来我就不敢再大意,无论如何要先有一个battery plan出来先,要在能
够保证完成任务的情况下再去独立思考吧。加上对我来说,很多问题这个老师也缺少AI
老师那种分析、解决问题的锐利直觉,所以很多问题并不是上课就能听得懂、作业拿出
来就知道解决办法的,所以去老师的office hour的情况也就多起来。
在早期的在office里见代课老师的结束后,老师总是在见面结束后把修改过后的code发
邮件附件给我。
d**********o
发帖数: 1321
259
编译课的烦恼(2)
我总感觉人际关系上,同板砖相比,我还是差了很多。这门课所有五次作业里第一次作
业是最简单的。我deadline那天交完作业之后,还跑去老师的office里问了一下我有什
么感觉不太确定的地方,板砖知道我有去过老师的office之后,也马上说他也有什么不
确定的地方要去问一下老师,那天下午他应该也去过吧,这究竟是什么心理,我当时倒
是没有多想。
后来第二次作业我写得相对比较慢,毕竟是一个转专业的学生,没有这么深入地去想过
问题,整个暑假受鼓励于A的启发式教育,受鼓励于他支持鼓舞我去独立思考问题,我
一方面真的很想自己独立思考去解决问题,另一方面也想从自己之前一贯的太过讲究效
率以至于真是没能深入到知识的核心与原理中去的坏习惯中扭转回来,就真的希望像A
曾经批评过我的那样,不是总是匆匆忙忙地总想着去完成任务、而是静下心来认真地去
想问题,在理解的基础上再去解决问题,所以就慢了很多、慢得理所当然了。
这期间,hw2 deadline之前,老师有让小伙伴们举手表态第二次作业进度到他提出的某
处步骤了,我是相对落后中的一个。后来deadline一过大概是接下来的周一吧,老师又
强调一下说,有些同学第二次作业的语法还没弄好,建议他们抓紧时间赶快弄懂写好,
因为第三次作业是在第二次作业的基础上进行的,第二次若进展不顺,势必影响到后面
的作业。
老师说的是那些没做完的小伙伴们(因为到这里我已经独立完成了95%的工作,只有打
印树结构每行前的根据树LEVEL缩进的空白字符还没有想清楚、没能打出来),但因为
老师之前追进度的时候我是相对落后的,便也谦虚问老师这第二次作业说,我所有的
output都match他想要的结果了,除了(except,打印语法树的那前面根据树的level空
的空格没有打印),这样可以了吗(还是我需要作一些其实必要的追踪以跟上进度)?
我只是没有想好到底该如何根据树的层次去打印每行开头那些空格而已!亲,悲观的你
可能觉得我还是那个作业不够完美的人;可乐观地去想,这只是一个变量根据层次递增
递减速的问题,如果我去Google,凭借我强大的搜索能力(还远不是这个专业的学生时
已经能把Linux ubuntu下无线网配置好、转专业第一个月内写出500行lisp写出game的
一步move),我一定能搜出一种解决方法,而实际上这也仅仅只是设置一个变量的问题
,而我谦虚地去提这样一个问题,也并非要寻求什么答案呀,我也只是向小伙伴们证明
,我不是老师说的“那些同学”那么差的同学中的一员,我已经基本做完了,deadline
交的时候,我就只差最后一步了~~ 在老师的高压手段下,我必须强势正当防卫来保护
自己少受伤害!
d**********o
发帖数: 1321
260
第二次走路(1)
from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Mon, Oct 28, 2013 at 3:18 PM
subject: can we meet at 4:30 not 3:30 so I can go to the seminar?
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because of the words in the message.
随着老师时快时慢的上课进度,随着感觉自己一次次地被导师操控(比如被要求陪走去
了一次ADMIN),随着时间的推移,我能够感觉到老师总是有意无意地暗示打击我学习
不好,我的警惕性也都眼着在提高。到此时已然能够看得出,凭借着他自己强大的编程
能力,这个老师是极为自负的,而且从他对上课进度、速度的快慢操控,也能够清楚地
看得出,这个人也是极有手腕手段的。据说,这是一位在惠朴工作过15年的员工,后来
是怎样的锲机让他决定回到学校读博士(进而一直呆在学校里工作),作出如此大的转
变,背后的原因和动机是什么?学校的魅力对他来说到底在哪里?我一直很好奇。如此
想来这人在惠朴工作了15年,他也未必只是普通人物,那工作15年后又是什么原因使得
他要彻底转向呢?
我去自己使用过的两套邮件系统里找过,找不到我在收到这封邮件之前有发任何相关邮
件给代课老师。那是白天上午上他的课快下课的时候同他一不小心约成了下午3:30在
他office里见面问问题的?也过去快一年了,时间太久,仅凭记忆,我已经回想不起来
了。
那天我去找导师之前,我并没有注意到他临时改变主意的邮件。这封我没能及时看见的
邮件就直接导致了自己被迫陪着老师走了第二次的路。倒是后来事过境迁的自己禁不住
去想,这真的是他“临时”改变的主意么?
相关主题
offer选择,请支招求助,我该接受这个教学职位吗?
Assistant Prof.工作两年想换学校。请教!*** 告版友书 + 总动员 *** (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
261
第二次走路(2)
所以那天,我按时去找导师,他在OFFICE里等我,他问我要不要陪他一起走去听
seminar,这已经是第二次他要我陪他走了,虽然我心里有着老大的不情愿,但不知道
为什么我总是不好直接去拒绝他,这样,我就又一次地被他拖着陪他走进了SEMINAR的
教室(因为周一下午3:30是系里的cs401/cs501 seminar课),我既然来了,当然还是
得听的,我找了靠门左边最后排方便的位置坐下,导师也坐了我前两排靠最左边的位置
,侧身坐着方便打量课堂上的学生。我没有想到的是,代倮老师想要去听的一一那天的
seminar课实际上是他们senior design课的项目报告,所以有那么四五组学生以小组为
单位上讲台作报告汇报他们的项目。
到这时我也终于明白,难怪早上上data communication课时那个编译课坐我左边的女孩
子表现得阴阳怪气,原本是今天她有上台表演的机会啊(其实我心里倍儿明白,她编程
根本就不强,只是她的代课老师给她分在一个相对强大的组好让她得以完成项目而已,
她却在早上的data communication课上兴奋得仿佛她是这个项目的功臣,衣着打扮得很
漂亮、平时挽着好看的发赞今天披着甚至是拉直了头发)~~
我不太懂得美国人,确切地说,不太懂得的是美国学生。大概就像我从小到大对自行车
有着近乎热切的向往(大概是因为从小到大看着姐姐们骑过拥有过新自行车,同学小伙
伴骑过有过新自行车,但自己从来没有拥有过任何新自行车吧),他们美国学生,似乎
对飞行有着难以名状的热切向往,几乎所有学生报告的项目都是关于飞行(,他们的这
份热切,我就不懂了啊)~~
d**********o
发帖数: 1321
262
第二次走路(3)
我欣赏他们的项目、欣赏他们的报告、表演,欣赏得蜻蜓点水、云淡风轻;犹记得大四
下学期跟着微繁的导师作毕业课题,那时导师的老婆一一柳老师有一次聊天的时候说到
过,不用去羡慕那些明星,要相信如果从小把你放在那样的环境,你要相信你也可以成
为明星,甚至比他们作得更好!那时幼小的心灵对柳老师的这句话心生敬畏,却原来此
刻,这份理论此时已经指导成为了我生活的现实。我欣赏他们的项目,但并不妄自菲薄
,我相信把我放在同样的课堂上,就像暑假我随A完成的任何项目一样,我也可以、有
能力作得出同样的结果,甚至比别人更好,我现在只要做到真诚地去欣赏别人就可以了
就好了。
导师大概以为,那些、那份刻意安排(我这学期不上seminar课,几乎没有任何理由我
会出现在这堂课的教室里)的同学们对他们项目的表演一定会打击到我吧,只可惜,我
的反应吓着吓到自己的导师了,这堂被系里充分准备和安排的项目汇总报告,让导师真
切地认识到这个学生与别人有着本质的不同,在他这个很自负的人的眼里,我有了太多
过多的自信(汗,我也同样是从ubuntu装无线网卡、配无线网开始,从500行lisp开始
,从装崩溃一个笔记本开始,从CS121被一个bug吓得魂飞魄散开始,经历着RTOS2514、
AI课上的打击以及DECISION TREE的产生,经历着暑假的实习,一步一步、踏踏实实地
建立起自己的自信来的啊,这一路走来,我又何尝容易?),大概也是从这一刻起,他
一一我的导师,发誓要灭我的威风、给我点儿颜色看看~~!!
d**********o
发帖数: 1321
263
我的导师
记得学期开始、前半学期的时候,大概是第二次交作业后我去问他第二次作业还不太确
定的地方时的某次,在他office里他帮忙讲题,他有一次不小心碰到我的手!虽然,如
果当初表哥常拉我的手,我会开心,如果我现在帅气的同桌来拉我的手,我也会高兴,
但被这么一个(心里有着某种不舒服的)老头碰到自己的手,还是很心不甘、情不愿啊
,便就瞬间把自己的手躲回来、藏起来!
我来到这里,只是想问问题,把自己的作业写出来、写完,我并没有其它非分想法,很
是坦然;他,我的导师,大概也真的只是不小心碰到自己吧!加上心生反感、之后的自
己都格个戒备,从来都是把自己的手尽量藏起来的或是保持安全距离的,那种事情就没
再发生过。
后来第三次作业,他上课讲得不透彻,看课本也看不太懂,我写作业就盲人摸象了,对
于该如何TRAVERSE一棵树,虽然课本上的例子是结合了pre-order traverse & post-
order traverse,但自己理解起来还是稍有些吃力,就这一点儿上,某天我去CSAC问板
砖的时候,他倒是还有稍帮我请解,可惜我还是不太懂、似懂非懂,后来就真又跑去请
教老师了。
那天,在他的office里,他说我既然不懂那pre-order traverse & post-order
traverse的结合的traverse方法,那就直接一个kind一个kind、一种类型一种类型的来
写好了,“This way, you will get the power to control for each kind!”当他说
到,我作为programmer程序员将拥有控制each kind的power、力量、权力的时候,他对
power力量权利的执着强调,他说这话的欣然向往、如痴如醉的表情,就让自己突然开
差恍惚,意识到一一POWER,对,意识到这样一位导师对权力有着无限执着向往的时候
,感觉自己就像电影里思嘉丽忽然意识到认识到红土的可贵,我自己也好像就瞬间也拥
有了programmer control programs的power。拥有这个power将是一种多么神奇的力量
!只是,我拥有热爱着的是programmers control programs的power,导师所向往的更
多的是对人、对权利的掌控!
d**********o
发帖数: 1321
264
第三次作业
这是一门4个学分的课,每周上四次周,周一到周四下午的某个固定时间段上课,共计
五次作业,但每次后面一次作业都依赖前一次作业的结果,除了最后第五次作业不是那
么依赖第四次以外(第四次作业更像是眼见着这个班就要在这如山的msgs面前全线崩溃
了,代课老师自己赶快跳出来抢险救灾!)。所以任何时候,即使过了deadline也一定
要加紧时间把所以能写、可以写的作业写完。
如果说第二次作业有6个test file还算正常,那么现在到第三次作业就有了20个左右的
测试文件,有了至少500条warning或是error message (而且error之间还会交差反复
出现与消失,logic!)。当测试文件的数量大到一定的程度,作业也就已经不再是对基
础知识、基本能力的测试,而变成为了对学生作业、投入时间的考量。
如果说第二次作业我还在独立思考着到底该如何去写作业,第三次作业对我就彻底变成
了盲人摸象,摸到哪是哪儿、撞到哪儿是哪儿!还好,后来是在那次“power”问题后
,总算想清楚了怎么去架这个traverse down syntax tree的结构架构,到交作业时这
个架子已经彻底搭好,塞入、generate了少量的msg,但离完成所有的msg还差得远。
后来代课老师大概也意识到他自己的“变态”,接下来的上课,就尽早赶快安慰我们说
,他看了下同学们的第三次作业,不要灰心,还有一次makeup可以catch up,然后把
hw3b的要求和评分标准给贴了出来。我,同其它绝大部分小伙伴们一样(像板砖这种土
生土长、根正苗红的ph.d大概应该会比我们顺利很多吧),从来不曾学过这么深的东西
(到CS121教完,假期VS IDE compile都出错过,可以想像,之前我学得到底有多浅!
),吭哧吭哧地往前爬~~!!!
d**********o
发帖数: 1321
265
hw3 & hw3b与导师邮件
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Sun, Nov 3, 2013 at 12:23 AM
subject: Hw3 problems __ 20131103001216
mailed-by: gmail.com
Hi Dr. cs445代课老师,
I have made some progress with my homework 3, but they are still very
limited and right now, I am blocked 2 problems.
1. How do I set scopes for function parameter declaration list? For example,
int main (int x, char y){ } when x or y has been declared global before
this func decl to avoid duplication decl error?
2. my DeclK :: VarK taverse through all the siblings,
my CompoundK traverse through children and potential siblings of each
child in
(child[0], siblings of child[0], child[1], sibling is child[1]) order
I have tried to modify from either the VarK side or the CompoundK side,
but each has other sets of problems. What is the magic here in order to
avoid the duplication traversing or decls?
The timestamp for this one is: 20131103001216
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Sun, Nov 3, 2013 at 8:04 AM
subject: Re: Hw3 problems __ 20131103001216
mailed-by: gmail.com
signed-by: gmail.com
*** Quote: On Sun, Nov 3, 2013 at 12:23 AM, (me~~) <(me~~)@gmail.com> wrote:
Hi Dr. cs445代课老师,
I have made some progress with my homework 3, but they are still very
limited and right now, I am blocked 2 problems.
1. How do I set scopes for function parameter declaration list? For example,
int main (int x, char y){ } when x or y has been declared global before
this func decl to avoid duplication decl error?
*** Re: You need to enter a scope when you arrive at function node.
Remember that the name of the function has to be in the global scope but the
parameters are in the local scope.
*** Quote: 2. my DeclK :: VarK taverse through all the siblings,
my CompoundK traverse through children and potential siblings of each child
in (child[0], siblings of child[0], child[1], sibling is child[1]) order
*** Re: When you are at node N you should traverse the children of N
and the siblings of N not the siblings of the children of N That is
already handled by traversing the children of N. Each of them will get their
siblings traversed after their children are traversed.
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Mon, Nov 4, 2013 at 2:42 PM
subject: Hw3_ 20131104143735
mailed-by: gmail.com
Hi Dr. cs445代课老师,
I concerned about my flags used in the c-.y file. with timestamp
20131104143735
, I got segmentation fault tested on c.c-, but not on a.c-. But when I run
gdb trying to figure out why, c-.y line 1061 got my attention. Why am I not
able to pass a flag from symbol table to my current treenode pointer?
1061 t->isArray = ((TreeNode*)(st->lookup(t->attr.name)))->isArray; //
t->isArray = false here ???
This may also be the reason for my ERROR(60) because of LoopFlag?
Please help me look into this line of code.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Mon, Nov 4, 2013 at 3:14 PM
subject: Re: Hw3_ 20131104143735
mailed-by: gmail.com
signed-by: gmail.com
*** Quote: On Mon, Nov 4, 2013 at 2:42 PM, (me~~) <(me~~)@gmail.com> wrote:
Hi Dr. cs445代课老师,
I concerned about my flags used in the c-.y file. with timestamp
20131104143735
, I got segmentation fault tested on c.c-,
*** Re: The seg fault on c.c- is caused by the unary minus. A unary minus
does't have a child[1]. At line 1105 you ask it to look at child[1]
without testing if it is NULL.
*** Quote: but not on a.c-. But when I run gdb trying to figure out why, c-.
y line 1061 got my attention. Why am I not able to pass a flag from symbol
table to my current treenode pointer?
1061 t->isArray = ((TreeNode*)(st->lookup(t->attr.name)))->isArray;
*** Re: If it looks up the name and the name isn't in the list then it will
return NULL and you will
try to do: NULL->isArray.
*** Quote: // t->isArray = false here ???
This may also be the reason for my ERROR(60) because of LoopFlag?
Please help me look into this line of code.
Thanks,
(me~~)
cheers,
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Mon, Nov 4, 2013 at 3:24 PM
subject: Re: Hw3_ 20131104143735
mailed-by: gmail.com
I get the reason now after reading and checked back. I will write to you if
I get blocked by any other issue.
thanks,
(me~~)
d**********o
发帖数: 1321
266
关于作业( hw3 & hw3B)
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 ,
profcs445代课老师@gmail.com
date: Thu, Nov 14, 2013 at 9:34 PM
subject: HW3B OpK
mailed-by: gmail.com
Dr. cs445代课老师,
I think I still didn't get the bug fixed yet with the OpK we have worked on
this afternoon.
Could you please help me look into it? I think I need some idea here.
thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Fri, Nov 15, 2013 at 8:23 AM
subject: Re: HW3B OpK
mailed-by: gmail.com
signed-by: gmail.com
Hi (me~~),
I think the problem is that you didn't declare a new index
variable for your for loop
right after the OpK case:
case OpK: // + - * / % < > == != <= >= or not and
//if (st->lookup(t->string) == NULL)
//st->insert(t->string, (void*)t );
printf("OP: %s\n", t->string);
for (int i = 0; i < MAXCHILDREN; i++) {
if (t->child[i] != NULL) {
printf("CHILD: %d\n", i);
insertCheckNode(t->child[i]);
}
}
The addition is changing for (i=0 to for (int i=0.
cheers,
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Fri, Nov 15, 2013 at 11:27 AM
subject: Re: HW3B OpK
mailed-by: gmail.com
Dr. cs445代课老师,
This does not completely solve the problem. When I test it on tictactoe, the
similar problems are still there.
Please help me look into it.
thanks,
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 ,
Cs445代课老师n
date: Sat, Nov 16, 2013 at 3:24 AM
subject: HW3B_20131116031312_CallK walking down Parameter List & Break &
Return
mailed-by: gmail.com
Hi Dr. cs445代课老师,
I think I pretty much have done all the parts that I understand with hw3B.
But there are still quite some kind that I am not very clear how to solve it
.
For the most frequent appeared one, CallK for function calls, I don't know
how to walk down the parameter list so that I can not only count the list
length, but also compare parameter type and potentially recursively call
itself. This one appeared several time in the test files, and produced a
segmentation fault in ryantest.c-.
The other miner issues includes break statement, return, and some constant
initializations. The most recent one I turned in is with timestamp
20131116031312
Please help me take a look. And I will try my best work on it and turn it in
on time.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Sat, Nov 16, 2013 at 10:11 AM
subject: Re: HW3B_20131116031312_CallK walking down Parameter List &
Break & Return
mailed-by: gmail.com
signed-by: gmail.com
At line 1310 in your code you have:
if ( (tmpt->sibling == NULL) && (tmpp->sibling != NULL) ) {
1311 printf("ERROR(%d): Too few parameters passed for function '%
s' defined on line %d.\n",
1312 tmpt->sibling->linnum, t->string, p->linnum);
1313 ++numError;
which tests if tmpt->sibling is NULL and then line 1312 asks for tempt-
sibling->linnum and gets a seg fault
I think you want t->linenum instead to return the line number of the
calling function.
the same would go for the error message for the Too many parameters.
Good job, BTW, on getting all these errors messages in.
cheers,
d**********o
发帖数: 1321
267
hw3 & hw3b 最终结果
贴一个自己 hw3b 的 match 结果让小伙伴们感受一下我们作业需要的结果是什么样子
的。
如果是同专业的小伙伴,最后拷贝到编辑器中仔细看一下,这个网页因为宽度有限,让
并排两列的比较呈现出来的很变形。
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
makefile
scanType.h
symtab.h
symtab.c
20131116163236-(me~~)-CS445-F13-A3B.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
makefile: ASCII make commands text
scanType.h: ASCII C program text
symtab.c: ASCII C program text
symtab.h: ASCII C program text
Making compiler
bison -v -t -d c-.y
flex c-.l
g++ -DCPLUSPLUS -g -c -o lex.yy.o lex.yy.c
g++ -DCPLUSPLUS -g -c -o c-.tab.o c-.tab.c
g++ -DCPLUSPLUS -g -c -o symtab.o symtab.c
g++ -DCPLUSPLUS -g lex.yy.o c-.tab.o symtab.o -lfl -lm -o c-
Extracting test files
allErrors.c-
basicAll.c-
basicAll2.c-
basicExtra.c-
bullsandcows.c-
call.c-
call2.c-
call3.c-
chars.c-
everything02.c-
factor.c-
factorial.c-
init.c-
moutest.c-
ryantest.c-
tictactoe.c-
undef.c-
while03.c-
=================================================
Output of Testing
Limited to 5 seconds total run time and 5000 lines of output
/* ================================================ *
| Tests for CS445 Assignment 3B |
| Comparison with Expected Output |
/* ================================================ *
/export/home/nibbler/TestWorld
find makefile
makefile
a makefile is here
RUN: c- allErrors.c-
ERROR(6): Function 'dog' at line 2 is expecting to return type int but got
type bool.
ERROR(13): Function 'cat' at line 9 is expecting to return type int but
return has no return value.
ERROR(16): Symbol 'cat' is already defined at line 9.
ERROR(25): Function 'ox' at line 23 is expecting no return value, but return
has return value.
WARNING(28): Expecting to return type int but function 'emu' has no return
statement.
ERROR(35): Symbol 'x' is already defined at line 34.
ERROR(45): Expecting Boolean test condition in if statement but got type int.
ERROR(46): Expecting Boolean test condition in while statement but got type
int.
ERROR(48): Cannot use function 'cat' as a simple variable.
ERROR(49): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(50): '+=' requires operands of type int but rhs is of type bool.
ERROR(51): '-=' requires operands of type int but lhs is of type bool.
ERROR(53): Cannot use array as test condition in if statement.
ERROR(54): Cannot use array as test condition in while statement.
ERROR(59): Cannot have a break statement outside of loop.
ERROR(62): The operation '+' does not work with arrays.
ERROR(63): The operation '-' does not work with arrays.
ERROR(64): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(64): The operation 'not' does not work with arrays.
ERROR(66): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(68): '+' requires operands of type int but lhs is of type bool.
ERROR(70): '*' requires operands of type int but rhs is of type bool.
ERROR(72): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(74): Cannot index nonarray 'x'.
ERROR(76): Array 'aa' should be indexed by type int but got type bool.
ERROR(78): Array index is the unindexed array 'zz'.
ERROR(80): Symbol 'xyzzy' is not defined.
ERROR(81): Symbol 'meerkat' is not defined.
ERROR(83): 'x' is a simple variable and cannot be called.
ERROR(85): Too many parameters passed for function 'dog' defined on line 2.
ERROR(86): Too few parameters passed for function 'ibex' defined on line 18.
ERROR(88): Expecting type int in parameter 1 of call to 'dog' defined on
line 2 but got type bool.
ERROR(90): Not expecting array in parameter 1 of call to 'cat' defined on
line 9.
ERROR(91): Expecting type int in parameter 1 of call to 'cat' defined on
line 9 but got type void.
ERROR(93): Expecting array in parameter 1 of call to 'ibex' defined on line
18.
ERROR(94): Cannot use function 'ibex' as a simple variable.
ERROR(96): Cannot use function 'ibex' as a simple variable.
ERROR(96): '+' requires operands of type int but lhs is of type bool.
ERROR(98): The operation '*' only works with arrays.
ERROR(100): '*' requires operands of type int but lhs is of type bool.
ERROR(100): The operation '*' does not work with arrays.
ERROR(100): '+' requires operands of type int but lhs is of type bool.
ERROR(100): The operation '*' only works with arrays.
ERROR(100): The operation 'not' does not work with arrays.
ERROR(100): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(100): 'or' requires operands of type bool but lhs is of type int.
ERROR(100): Cannot have a break statement outside of loop.
ERROR(101): 'and' requires operands of type bool but lhs is of type int.
ERROR(101): 'and' requires operands of type bool but rhs is of type int.
ERROR(103): Cannot return an array.
ERROR(108): Symbol 'main' is already defined at line 32.
ERROR(122): '==' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(127): '=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(131): '!=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(137): Symbol 'z' is already defined at line 106.
ERROR(139): Variable 'a' is of type int but is being initialized with an
expression of type bool.
ERROR(139): Variable 'b' is of type int but is being initialized with an
expression of type bool.
ERROR(139): Variable 'zz' is of type int but is being initialized with an
expression of type char.
ERROR(141): Initializer for variable 'd' is not a constant expression.
ERROR(142): '*' requires operands of type int but rhs is of type char.
ERROR(143): Initializer for variable 'e' is not a constant expression.
ERROR(144): Initializer for variable 'f' is not a constant expression.
ERROR(146): Symbol 'main' is already defined at line 32.
ERROR(159): '==' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(165): '=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(183): In foreach statement the variable to the left of 'in' must not
be an array.
ERROR(184): In foreach statement the variable to the left of 'in' must not
be an array.
ERROR(184): Foreach requires operands of 'in' be the same type but lhs is
type bool and rhs array is type int.
ERROR(187): Foreach requires operands of 'in' be the same type but lhs is
type bool and rhs array is type int.
ERROR(189): If not an array, foreach requires rhs of 'in' be of type int but
it is type bool.
ERROR(190): If not an array, foreach requires lhs of 'in' be of type int but
it is type bool.
ERROR(196): Initializer for nonarray variable 'w' of type char cannot be
initialized with an array.
ERROR(197): Variable 'u' is of type int but is being initialized with an
expression of type char.
ERROR(197): Initializer for nonarray variable 'u' of type int cannot be
initialized with an array.
ERROR(198): Array 't' must be of type char to be initialized, but is of type
int.
ERROR(198): Initializer for array variable 't' must be a string, but is of
nonarray type int.
ERROR(199): Initializer for array variable 's' must be a string, but is of
nonarray type char.
ERROR(207): Symbol 'main' is already defined at line 32.
ERROR(209): Initializer for variable 'x' is not a constant expression.
ERROR(210): Initializer for nonarray variable 'c' of type char cannot be
initialized with an array.
ERROR(211): Initializer for array variable 'd' must be a string, but is of
nonarray type char.
ERROR(212): Variable 'e' is of type char but is being initialized with an
expression of type int.
ERROR(213): Initializer for array variable 'f' must be a string, but is of
nonarray type int.
ERROR(214): Array 'z' must be of type char to be initialized, but is of type
int.
ERROR(216): '=' requires that if one operand is an array so must the other
operand.
ERROR(217): '=' requires that if one operand is an array so must the other
operand.
ERROR(218): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(219): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(219): '=' requires that if one operand is an array so must the other
operand.
ERROR(220): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(222): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(223): '>' requires operands of type char or type int but rhs is of
type bool.
ERROR(224): '>' requires operands of type char or type int but lhs is of
type bool.
ERROR(225): The operation '>' does not work with arrays.
ERROR(226): The operation '>' does not work with arrays.
ERROR(227): The operation '>' does not work with arrays.
ERROR(229): Unary '-' requires an operand of type int but was given type
char.
ERROR(230): The operation '*' only works with arrays.
ERROR(231): The operation '-' does not work with arrays.
ERROR(234): Unary '++' requires an operand of type int but was given type
char.
ERROR(234): The operation '++' does not work with arrays.
ERROR(235): The operation '++' does not work with arrays.
ERROR(236): Unary '--' requires an operand of type int but was given type
char.
ERROR(236): The operation '--' does not work with arrays.
ERROR(237): The operation '--' does not work with arrays.
WARNING(207): Expecting to return type int but function 'main' has no return
statement.
ERROR(242): Symbol 'fred' is already defined at line 241.
ERROR(244): Symbol 'fred' is already defined at line 243.
ERROR(245): Symbol 'fred' is already defined at line 243.
ERROR(246): Symbol 'fred' is already defined at line 243.
WARNING(242): Expecting to return type int but function 'fred' has no return
statement.
Number of warnings: 3
Number of errors: 108
RUN: c- basicAll.c-
ERROR(16): Symbol 'cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to return type int but got
type bool.
ERROR(25): Function 'cat' at line 21 is expecting to return type int but
return has no return value.
ERROR(28): Symbol 'cat' is already defined at line 21.
ERROR(39): Function 'ox' at line 37 is expecting no return value, but return
has return value.
WARNING(42): Expecting to return type int but function 'emu' has no return
statement.
ERROR(54): Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined.
ERROR(65): Expecting Boolean test condition in if statement but got type int.
ERROR(66): Expecting Boolean test condition in while statement but got type
int.
ERROR(67): Expecting Boolean test condition in while statement but got type
void.
ERROR(69): Cannot use function 'cat' as a simple variable.
ERROR(70): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(71): '+=' requires operands of type int but rhs is of type bool.
ERROR(72): '-=' requires operands of type int but lhs is of type bool.
ERROR(73): '>' requires operands of type char or type int but lhs is of type
bool.
ERROR(74): Unary '++' requires an operand of type int but was given type
bool.
ERROR(76): Cannot use array as test condition in if statement.
ERROR(77): Cannot use array as test condition in while statement.
ERROR(79): Cannot have a break statement outside of loop.
ERROR(83): The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays.
ERROR(85): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(85): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(85): The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(91): '+' requires operands of type int but lhs is of type bool.
ERROR(93): '*' requires operands of type int but rhs is of type bool.
ERROR(95): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(96): '+' requires operands of type int but rhs is of type bool.
ERROR(96): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(97): Unary '-' requires an operand of type int but was given type bool.
ERROR(99): Cannot index nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs is of type int.
ERROR(100): 'and' requires operands of type bool but rhs is of type int.
ERROR(100): '*' requires operands of type int but rhs is of type bool.
ERROR(101): Symbol 'y' is not defined.
ERROR(101): 'and' requires operands of type bool but lhs is of type int.
ERROR(101): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'and' requires operands of type bool but lhs is of type int.
ERROR(102): 'and' requires operands of type bool but rhs is of type int.
ERROR(102): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'or' requires operands of type bool but rhs is of type int.
ERROR(104): The operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs is of type int.
ERROR(109): Array 'aa' should be indexed by type int but got type bool.
ERROR(111): Cannot use function 'cat' as a simple variable.
ERROR(113): Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs is of type int.
ERROR(122): Symbol 'flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(122): Unary '-' requires an operand of type int but was given type
bool.
ERROR(122): Symbol 'uu' is not defined.
ERROR(122): Symbol 'y' is not defined.
ERROR(122): '*' requires operands of type int but rhs is of type bool.
ERROR(124): 'x' is a simple variable and cannot be called.
ERROR(126): Too many parameters passed for function 'dog' defined on line 12.
ERROR(127): Too few parameters passed for function 'ibex' defined on line 31.
ERROR(129): Expecting type int in parameter 1 of call to 'dog' defined on
line 12 but got type bool.
ERROR(131): Not expecting array in parameter 1 of call to 'cat' defined on
line 21.
ERROR(133): Expecting array in parameter 1 of call to 'ibex' defined on line
31.
ERROR(134): Expecting type int in parameter 1 of call to 'ibex' defined on
line 31 but got type bool.
ERROR(135): Cannot use function 'ibex' as a simple variable.
ERROR(137): Cannot use function 'ibex' as a simple variable.
ERROR(137): '+' requires operands of type int but lhs is of type bool.
ERROR(140): Array index is the unindexed array 'zz'.
ERROR(141): Expecting type int in parameter 1 of call to 'ox' defined on
line 37 but got type bool.
ERROR(141): Array 'aa' should be indexed by type int but got type void.
ERROR(143): '=' requires operands of the same type but lhs is type int and
rhs is type void.
ERROR(144): '+' requires operands of type int but rhs is of type void.
ERROR(145): Expecting type int in parameter 1 of call to 'cat' defined on
line 21 but got type void.
ERROR(146): Expecting type int in parameter 1 of call to 'cat' defined on
line 21 but got type bool.
ERROR(149): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(150): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(151): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(153): '*' requires operands of type int but rhs is of type bool.
ERROR(153): '*' requires operands of type int but lhs is of type bool.
ERROR(153): 'and' requires operands of type bool but lhs is of type int.
ERROR(153): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): '+' requires operands of type int but rhs is of type bool.
ERROR(155): Symbol 'parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): Expecting type int in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type int in parameter 1 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): '+' requires operands of type int but rhs is of type bool.
ERROR(156): Symbol 'parrot' is not defined.
ERROR(156): 'and' requires operands of type bool but rhs is of type int.
ERROR(156): Expecting type int in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): 'and' requires operands of type bool but rhs is of type int.
ERROR(156): Expecting type int in parameter 2 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type int in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Too many parameters passed for function 'emu' defined on line 42.
ERROR(156): '*' requires operands of type int but rhs is of type bool.
ERROR(158): Cannot return an array.
Number of warnings: 1
Number of errors: 101
RUN: c- basicAll2.c-
ERROR(16): Symbol 'cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to return type char but
got type int.
ERROR(25): Function 'cat' at line 21 is expecting to return type char but
return has no return value.
ERROR(28): Symbol 'cat' is already defined at line 21.
ERROR(34): Function 'ibex' at line 31 is expecting to return type int but
got type bool.
ERROR(39): Function 'ox' at line 37 is expecting no return value, but return
has return value.
WARNING(42): Expecting to return type char but function 'emu' has no return
statement.
ERROR(48): '+' requires operands of type int but lhs is of type char.
ERROR(48): '+' requires operands of type int but rhs is of type char.
ERROR(54): Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined.
ERROR(65): Expecting Boolean test condition in if statement but got type
char.
ERROR(66): Expecting Boolean test condition in while statement but got type
char.
ERROR(67): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(67): Expecting Boolean test condition in while statement but got type
void.
ERROR(69): Cannot use function 'cat' as a simple variable.
ERROR(70): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(71): '+=' requires operands of type int but lhs is of type char.
ERROR(72): '-=' requires operands of type int but rhs is of type char.
ERROR(76): Expecting Boolean test condition in if statement but got type int.
ERROR(76): Cannot use array as test condition in if statement.
ERROR(77): Expecting Boolean test condition in while statement but got type
int.
ERROR(77): Cannot use array as test condition in while statement.
ERROR(79): Cannot have a break statement outside of loop.
ERROR(81): Expecting Boolean test condition in while statement but got type
int.
ERROR(83): '+' requires operands of type int but lhs is of type char.
ERROR(83): The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays.
ERROR(85): The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but lhs is type char and
rhs is type bool.
ERROR(88): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(89): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(91): '+' requires operands of type int but lhs is of type bool.
ERROR(91): '+' requires operands of type int but rhs is of type char.
ERROR(93): '*' requires operands of type int but lhs is of type char.
ERROR(93): '*' requires operands of type int but rhs is of type bool.
ERROR(95): Unary 'not' requires an operand of type bool but was given type
char.
ERROR(96): '+' requires operands of type int but lhs is of type char.
ERROR(96): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(99): Cannot index nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs is of type char.
ERROR(100): 'and' requires operands of type bool but rhs is of type char.
ERROR(100): '*' requires operands of type int but lhs is of type char.
ERROR(100): '*' requires operands of type int but rhs is of type bool.
ERROR(100): '+' requires operands of type int but lhs is of type char.
ERROR(100): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(100): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(101): Symbol 'y' is not defined.
ERROR(101): 'and' requires operands of type bool but lhs is of type char.
ERROR(101): '*' requires operands of type int but lhs is of type char.
ERROR(101): '*' requires operands of type int but rhs is of type bool.
ERROR(101): '+' requires operands of type int but lhs is of type char.
ERROR(101): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(101): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(102): 'and' requires operands of type bool but lhs is of type char.
ERROR(102): 'and' requires operands of type bool but rhs is of type char.
ERROR(102): '*' requires operands of type int but lhs is of type char.
ERROR(102): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'or' requires operands of type bool but rhs is of type int.
ERROR(102): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(104): The operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs is of type int.
ERROR(105): 'and' requires operands of type bool but rhs is of type int.
ERROR(111): Cannot use function 'cat' as a simple variable.
ERROR(111): Array 'aa' should be indexed by type int but got type char.
ERROR(113): Array 'aa' should be indexed by type int but got type char.
ERROR(113): Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs is of type int.
ERROR(122): Symbol 'flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(122): Unary '-' requires an operand of type int but was given type
bool.
ERROR(122): Symbol 'uu' is not defined.
ERROR(122): Symbol 'y' is not defined.
ERROR(122): '*' requires operands of type int but lhs is of type char.
ERROR(122): '+' requires operands of type int but lhs is of type char.
ERROR(124): 'x' is a simple variable and cannot be called.
ERROR(126): Expecting type char in parameter 1 of call to 'dog' defined on
line 12 but got type int.
ERROR(126): Too many parameters passed for function 'dog' defined on line 12.
ERROR(127): Too few parameters passed for function 'ibex' defined on line 31.
ERROR(129): Expecting type char in parameter 1 of call to 'dog' defined on
line 12 but got type bool.
ERROR(131): Not expecting array in parameter 1 of call to 'cat' defined on
line 21.
ERROR(133): Expecting array in parameter 1 of call to 'ibex' defined on line
31.
ERROR(134): Expecting type char in parameter 1 of call to 'ibex' defined on
line 31 but got type int.
ERROR(135): Cannot use function 'ibex' as a simple variable.
ERROR(137): Cannot use function 'ibex' as a simple variable.
ERROR(139): Array 'aa' should be indexed by type int but got type char.
ERROR(140): Array 'aa' should be indexed by type int but got type char.
ERROR(140): Array index is the unindexed array 'zz'.
ERROR(141): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type bool.
ERROR(141): Array 'aa' should be indexed by type int but got type void.
ERROR(143): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(143): '=' requires operands of the same type but lhs is type char and
rhs is type void.
ERROR(144): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(144): '+' requires operands of type int but lhs is of type char.
ERROR(144): '+' requires operands of type int but rhs is of type void.
ERROR(144): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(145): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(145): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type void.
ERROR(146): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type bool.
ERROR(147): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type int.
ERROR(149): '=' requires operands of the same type but lhs is type char and
rhs is type bool.
ERROR(151): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(151): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(153): '*' requires operands of type int but lhs is of type char.
ERROR(153): '*' requires operands of type int but rhs is of type char.
ERROR(153): 'and' requires operands of type bool but lhs is of type int.
ERROR(153): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): '+' requires operands of type int but lhs is of type char.
ERROR(155): Expecting type char in parameter 1 of call to 'emu' defined on
line 42 but got type int.
ERROR(155): Symbol 'parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but lhs is of type int.
ERROR(155): 'and' requires operands of type bool but rhs is of type char.
ERROR(155): Expecting type char in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type char in parameter 1 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): '+' requires operands of type int but lhs is of type char.
ERROR(156): Expecting type char in parameter 1 of call to 'emu' defined on
line 42 but got type int.
ERROR(156): Symbol 'parrot' is not defined.
ERROR(156): 'and' requires operands of type bool but lhs is of type int.
ERROR(156): 'and' requires operands of type bool but rhs is of type char.
ERROR(156): Expecting type char in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): 'and' requires operands of type bool but rhs is of type char.
ERROR(156): Expecting type char in parameter 2 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type char in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Too many parameters passed for function 'emu' defined on line 42.
ERROR(156): '*' requires operands of type int but lhs is of type char.
ERROR(158): Cannot return an array.
Number of warnings: 1
Number of errors: 132
RUN: c- basicExtra.c-
WARNING(3): Expecting to return type char but function 'toads' has no return
statement.
ERROR(14): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(14): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(14): The operation '<' does not work with arrays.
ERROR(15): The operation '<' does not work with arrays.
ERROR(18): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(18): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(19): '/' requires operands of type int but lhs is of type bool.
ERROR(20): '/' requires operands of type int but rhs is of type bool.
ERROR(21): '%' requires operands of type int but lhs is of type bool.
ERROR(22): '%' requires operands of type int but rhs is of type bool.
ERROR(23): '-' requires operands of type int but lhs is of type bool.
ERROR(24): '-' requires operands of type int but rhs is of type bool.
ERROR(25): '<' requires operands of type char or type int but lhs is of type
void.
ERROR(25): '<' requires operands of type char or type int but rhs is of type
void.
ERROR(27): '<' requires operands of type char or type int but lhs is of type
void.
ERROR(28): '<' requires operands of type char or type int but rhs is of type
void.
ERROR(30): Symbol 'k' is not defined.
ERROR(31): Symbol 'k' is not defined.
ERROR(32): Symbol 'k' is not defined.
ERROR(32): Symbol 'k' is not defined.
ERROR(33): Symbol 'k' is not defined.
ERROR(34): 'i' is a simple variable and cannot be called.
Number of warnings: 1
Number of errors: 22
RUN: c- bullsandcows.c-
Number of warnings: 0
Number of errors: 0
RUN: c- call.c-
WARNING(1): Expecting to return type int but function 'showInt' has no
return statement.
WARNING(7): Expecting to return type int but function 'showIntArray' has no
return statement.
WARNING(18): Expecting to return type int but function 'showBool' has no
return statement.
Number of warnings: 3
Number of errors: 0
RUN: c- call2.c-
Number of warnings: 0
Number of errors: 0
RUN: c- call3.c-
ERROR(4): Symbol 'fred' is not defined.
ERROR(4): Symbol 'x' is not defined.
ERROR(4): Symbol 'y' is not defined.
ERROR(4): 'and' requires operands of type bool but lhs is of type int.
ERROR(4): 'and' requires operands of type bool but rhs is of type int.
ERROR(6): Function 'main' at line 1 is expecting no return value, but return
has return value.
ERROR(12): Too many parameters passed for function 'fred' defined on line 9.
ERROR(12): The operation '*' only works with arrays.
ERROR(14): Too few parameters passed for function 'fred' defined on line 9.
ERROR(13): Expecting array in parameter 1 of call to 'fred' defined on line
9.
ERROR(15): Expecting type char in parameter 1 of call to 'fred' defined on
line 9 but got type int.
WARNING(9): Expecting to return type char but function 'fred' has no return
statement.
ERROR(20): 'x' is a simple variable and cannot be called.
ERROR(20): '+' requires operands of type int but rhs is of type bool.
ERROR(20): The operation '*' only works with arrays.
ERROR(20): 'and' requires operands of type bool but lhs is of type int.
ERROR(20): 'and' requires operands of type bool but rhs is of type int.
ERROR(21): Symbol 'y' is not defined.
ERROR(21): '+' requires operands of type int but rhs is of type bool.
ERROR(21): The operation '*' only works with arrays.
ERROR(21): 'and' requires operands of type bool but lhs is of type int.
ERROR(21): 'and' requires operands of type bool but rhs is of type int.
ERROR(22): 'z' is a simple variable and cannot be called.
ERROR(22): '+' requires operands of type int but rhs is of type bool.
ERROR(22): The operation '*' only works with arrays.
ERROR(22): 'and' requires operands of type bool but lhs is of type int.
ERROR(22): 'and' requires operands of type bool but rhs is of type int.
ERROR(25): Symbol 'output' is already defined at line -1.
ERROR(26): Symbol 'outputb' is already defined at line -1.
ERROR(27): Symbol 'outputc' is already defined at line -1.
ERROR(29): Symbol 'input' is already defined at line -1.
ERROR(30): Symbol 'inputb' is already defined at line -1.
ERROR(31): Symbol 'inputc' is already defined at line -1.
ERROR(43): Symbol 'x' is already defined at line 42.
WARNING(42): Expecting to return type int but function 'AlanTuring' has no
return statement.
ERROR(50): Symbol 'AlanTuring' is already defined at line 42.
ERROR(54): Symbol 'x' is already defined at line 52.
WARNING(50): Expecting to return type int but function 'AlanTuring' has no
return statement.
Number of warnings: 3
Number of errors: 35
RUN: c- chars.c-
Number of warnings: 0
Number of errors: 0
RUN: c- everything02.c-
Number of warnings: 0
Number of errors: 0
RUN: c- factor.c-
Number of warnings: 0
Number of errors: 0
RUN: c- factorial.c-
Number of warnings: 0
Number of errors: 0
RUN: c- init.c-
ERROR(15): Symbol 'y' is already defined at line 4.
ERROR(17): Cannot index nonarray 'y'.
ERROR(17): '=' requires operands of the same type but lhs is type char and
rhs is type int.
Number of warnings: 0
Number of errors: 3
RUN: c- moutest.c-
WARNING(5): Expecting to return type int but function 'emu' has no return
statement.
ERROR(19): Array 'aa' should be indexed by type int but got type bool.
ERROR(20): Array index is the unindexed array 'dd'.
ERROR(17): Array 'cc' should be indexed by type int but got type bool.
ERROR(25): Array 'aa' should be indexed by type int but got type bool.
ERROR(23): Array 'cc' should be indexed by type int but got type bool.
ERROR(30): Array 'cc' should be indexed by type int but got type bool.
ERROR(39): The operation '*' only works with arrays.
ERROR(36): Array 'cc' should be indexed by type int but got type bool.
ERROR(42): Expecting type int in parameter 1 of call to 'emu' defined on
line 5 but got type bool.
ERROR(43): '+' requires operands of type int but rhs is of type bool.
ERROR(44): '+' requires operands of type int but rhs is of type bool.
ERROR(45): '+' requires operands of type int but rhs is of type bool.
ERROR(46): Symbol 'parrot' is not defined.
ERROR(47): 'and' requires operands of type bool but rhs is of type int.
ERROR(45): Expecting type int in parameter 3 of call to 'emu' defined on
line 5 but got type bool.
ERROR(48): 'and' requires operands of type bool but rhs is of type int.
ERROR(44): Expecting type int in parameter 3 of call to 'emu' defined on
line 5 but got type bool.
ERROR(49): 'and' requires operands of type bool but rhs is of type int.
ERROR(43): Expecting type int in parameter 3 of call to 'emu' defined on
line 5 but got type bool.
ERROR(43): 'and' requires operands of type bool but rhs is of type int.
ERROR(42): Expecting type int in parameter 2 of call to 'emu' defined on
line 5 but got type bool.
ERROR(42): Expecting type int in parameter 3 of call to 'emu' defined on
line 5 but got type bool.
ERROR(42): Too many parameters passed for function 'emu' defined on line 5.
ERROR(51): '*' requires operands of type int but rhs is of type bool.
Number of warnings: 1
Number of errors: 24
RUN: c- ryantest.c-
ERROR(7): Initializer for variable 'x' is not a constant expression.
ERROR(7): Symbol 'x' is already defined at line 5.
ERROR(18): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(18): '==' requires that if one operand is an array so must the other
operand.
ERROR(19): 'and' requires operands of type bool but lhs is of type int.
ERROR(19): 'and' requires operands of type bool but rhs is of type char.
ERROR(19): The operation 'and' does not work with arrays.
ERROR(35): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(34): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(38): Symbol 'undef' is not defined.
ERROR(37): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(41): Symbol 'undef' is not defined.
ERROR(44): Symbol 'undef' is not defined.
ERROR(47): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(46): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(46): '+' requires operands of type int but lhs is of type bool.
ERROR(50): Symbol 'undef' is not defined.
ERROR(49): '+' requires operands of type int but lhs is of type bool.
ERROR(53): Symbol 'undef' is not defined.
ERROR(52): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(52): '+' requires operands of type int but lhs is of type bool.
ERROR(56): '=' requires operands of the same type but lhs is type bool and
rhs is type void.
ERROR(55): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(55): '+' requires operands of type int but lhs is of type bool.
ERROR(64): Symbol 'foo' is not defined.
ERROR(65): Symbol 'foo' is not defined.
ERROR(66): Symbol 'foo' is not defined.
ERROR(67): Symbol 'foo' is not defined.
ERROR(68): Symbol 'foo' is not defined.
ERROR(68): Symbol 'foo' is not defined.
ERROR(69): 'x' is a simple variable and cannot be called.
ERROR(69): '*' requires operands of type int but lhs is of type char.
ERROR(69): Cannot use function 'test' as a simple variable.
ERROR(71): Cannot use function 'check' as a simple variable.
ERROR(72): Cannot use function 'check' as a simple variable.
ERROR(72): 'x' is a simple variable and cannot be called.
ERROR(73): Symbol 'c' is not defined.
ERROR(74): Symbol 'c' is not defined.
ERROR(76): Symbol 'foo' is not defined.
ERROR(78): Cannot index nonarray 'x'.
ERROR(79): Cannot index nonarray 'x'.
ERROR(80): Symbol 'y' is not defined.
ERROR(82): Cannot use function 'check' as a simple variable.
ERROR(83): 'x' is a simple variable and cannot be called.
ERROR(86): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(87): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(87): Expecting type int in parameter 2 of call to 'check' defined on
line 26 but got type char.
ERROR(88): Symbol 'y' is not defined.
ERROR(88): Too many parameters passed for function 'check' defined on line
26.
ERROR(88): Too few parameters passed for function 'check' defined on line 26.
ERROR(89): Expecting array in parameter 2 of call to 'func' defined on line
61.
ERROR(90): Not expecting array in parameter 1 of call to 'func' defined on
line 61.
ERROR(92): '-' requires operands of type int but rhs is of type char.
ERROR(91): Expecting array in parameter 2 of call to 'func' defined on line
61.
ERROR(91): Too many parameters passed for function 'func' defined on line 61.
ERROR(94): Expecting type int in parameter 1 of call to 'func' defined on
line 61 but got type char.
ERROR(94): Not expecting array in parameter 1 of call to 'func' defined on
line 61.
ERROR(94): Too few parameters passed for function 'func' defined on line 61.
ERROR(99): Initializer for variable 'x' is not a constant expression.
ERROR(99): Symbol 'x' is already defined at line 97.
ERROR(100): Symbol 'x' is already defined at line 97.
ERROR(101): Variable 'x' is of type char but is being initialized with an
expression of type int.
ERROR(101): Symbol 'x' is already defined at line 97.
ERROR(102): Symbol 'x' is already defined at line 97.
ERROR(104): Symbol 'z' is already defined at line 103.
ERROR(105): Initializer for variable 'y' is not a constant expression.
ERROR(106): Initializer for variable 'a' is not a constant expression.
ERROR(106): Initializer for nonarray variable 'a' of type int cannot be
initialized with an array.
ERROR(107): Initializer for variable 'b' is not a constant expression.
ERROR(108): Initializer for variable 'd' is not a constant expression.
ERROR(109): Variable 'e' is of type int but is being initialized with an
expression of type char.
ERROR(109): Initializer for nonarray variable 'e' of type int cannot be
initialized with an array.
ERROR(110): Array 'f' must be of type char to be initialized, but is of type
int.
ERROR(111): Initializer for nonarray variable 'g' of type char cannot be
initialized with an array.
ERROR(113): Initializer for variable 'i' is not a constant expression.
ERROR(114): Initializer for variable 'j' is not a constant expression.
ERROR(115): Initializer for variable 'k' is not a constant expression.
ERROR(115): Variable 'k' is of type int but is being initialized with an
expression of type bool.
ERROR(116): Initializer for variable 'j' is not a constant expression.
ERROR(116): Symbol 'j' is already defined at line 114.
ERROR(118): Initializer for variable 'j2' is not a constant expression.
ERROR(129): Expecting array in parameter 2 of call to 'retCheck' defined on
line 125.
ERROR(130): Cannot return an array.
ERROR(127): Function 'retCheck' at line 125 is expecting to return type int
but return has no return value.
Number of warnings: 0
Number of errors: 84
RUN: c- tictactoe.c-
Number of warnings: 0
Number of errors: 0
RUN: c- undef.c-
WARNING(3): Expecting to return type int but function 'intvalue' has no
return statement.
ERROR(10): Symbol 'undef' is not defined.
ERROR(10): Initializer for variable 'x' is not a constant expression.
ERROR(10): Symbol 'x' is already defined at line 9.
ERROR(14): Symbol 'undef' is not defined.
ERROR(15): '+' requires operands of type int but rhs is of type void.
ERROR(16): Symbol 'undef' is not defined.
ERROR(17): '+' requires operands of type int but lhs is of type void.
ERROR(18): Symbol 'undef' is not defined.
ERROR(18): Symbol 'undef' is not defined.
ERROR(19): '+' requires operands of type int but lhs is of type void.
ERROR(19): '+' requires operands of type int but rhs is of type void.
ERROR(22): Symbol 'undef' is not defined.
ERROR(23): '+' requires operands of type int but rhs is of type void.
ERROR(24): Symbol 'undef' is not defined.
ERROR(25): '+' requires operands of type int but lhs is of type void.
ERROR(26): Symbol 'undef' is not defined.
ERROR(26): Symbol 'undef' is not defined.
ERROR(27): '+' requires operands of type int but lhs is of type void.
ERROR(27): '+' requires operands of type int but rhs is of type void.
ERROR(29): Symbol 'undef' is not defined.
ERROR(30): Symbol 'undef' is not defined.
ERROR(31): Symbol 'undef' is not defined.
ERROR(32): Symbol 'undef' is not defined.
ERROR(34): Symbol 'undef' is not defined.
ERROR(34): '+' requires operands of type int but rhs is of type bool.
ERROR(34): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(34): The operation '*' only works with arrays.
ERROR(35): 'x' is a simple variable and cannot be called.
ERROR(35): '+' requires operands of type int but rhs is of type bool.
ERROR(35): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(35): The operation '*' only works with arrays.
ERROR(37): Cannot use function 'novalue' as a simple variable.
ERROR(37): '=' requires operands of the same type but lhs is type void and
rhs is type int.
ERROR(38): Cannot use function 'intvalue' as a simple variable.
ERROR(40): Expecting type int in parameter 1 of call to 'take1' defined on
line 1 but got type void.
ERROR(41): Cannot use function 'novalue' as a simple variable.
ERROR(41): Expecting type int in parameter 1 of call to 'take1' defined on
line 1 but got type void.
ERROR(42): Symbol 'undef' is not defined.
ERROR(43): Symbol 'undef' is not defined.
ERROR(45): Cannot use function 'intvalue' as a simple variable.
Number of warnings: 1
Number of errors: 40
RUN: c- while03.c-
Number of warnings: 0
Number of errors: 0
/* End of testing
=================================================
ztest zexpected differ: char 30492, line 442
Your output differs from the expected output.
This is a two column comparison with YOUR OUTPUT ON THE LEFT
with the EXPECTED OUTPUT ON THE RIGHT.
Limited to 5 seconds total run time and 5000 lines of ou Limited to 5
seconds total run time and 5000 lines of ou
/* ================================================ * * =============
=================================== *
| Tests for CS445 Assignment 3B | | Tests for CS445
Assignment 3B |
| Comparison with Expected Output | | Comparison with
Expected Output |
/* ================================================ * * =============
=================================== *
TestWorld TestWorld
find makefile find makefile
makefile makefile
a makefile is here a makefile is here
RUN: c- allErrors.c- RUN: c- allErrors.c-
ERROR(6): Function 'dog' at line 2 is expecting to retur ERROR(6):
Function 'dog' at line 2 is expecting to retur
ERROR(13): Function 'cat' at line 9 is expecting to retu ERROR(13):
Function 'cat' at line 9 is expecting to retu
ERROR(16): Symbol 'cat' is already defined at line 9. ERROR(16):
Symbol 'cat' is already defined at line 9.
ERROR(25): Function 'ox' at line 23 is expecting no retu ERROR(25):
Function 'ox' at line 23 is expecting no retu
WARNING(28): Expecting to return type int but function ' WARNING(28):
Expecting to return type int but function '
ERROR(35): Symbol 'x' is already defined at line 34. ERROR(35):
Symbol 'x' is already defined at line 34.
ERROR(45): Expecting Boolean test condition in if statem ERROR(45):
Expecting Boolean test condition in if statem
ERROR(46): Expecting Boolean test condition in while sta ERROR(46):
Expecting Boolean test condition in while sta
ERROR(48): Cannot use function 'cat' as a simple variabl ERROR(48):
Cannot use function 'cat' as a simple variabl
ERROR(49): '=' requires operands of the same type but lh ERROR(49): '='
requires operands of the same type but lh
ERROR(50): '+=' requires operands of type int but rhs is ERROR(50): '+='
requires operands of type int but rhs is
ERROR(51): '-=' requires operands of type int but lhs is ERROR(51): '-='
requires operands of type int but lhs is
ERROR(53): Cannot use array as test condition in if stat ERROR(53):
Cannot use array as test condition in if stat
ERROR(54): Cannot use array as test condition in while s ERROR(54):
Cannot use array as test condition in while s
ERROR(59): Cannot have a break statement outside of loop ERROR(59):
Cannot have a break statement outside of loop
ERROR(62): The operation '+' does not work with arrays. ERROR(62):
The operation '+' does not work with arrays.
ERROR(63): The operation '-' does not work with arrays. ERROR(63):
The operation '-' does not work with arrays.
ERROR(64): Unary 'not' requires an operand of type bool ERROR(64): Unary
'not' requires an operand of type bool
ERROR(64): The operation 'not' does not work with arrays ERROR(64): The
operation 'not' does not work with arrays
ERROR(66): '==' requires operands of the same type but l ERROR(66): '=='
requires operands of the same type but l
ERROR(68): '+' requires operands of type int but lhs is ERROR(68): '+'
requires operands of type int but lhs is
ERROR(70): '*' requires operands of type int but rhs is ERROR(70): '*'
requires operands of type int but rhs is
ERROR(72): Unary 'not' requires an operand of type bool ERROR(72): Unary
'not' requires an operand of type bool
ERROR(74): Cannot index nonarray 'x'. ERROR(74): Cannot index
nonarray 'x'.
ERROR(76): Array 'aa' should be indexed by type int but ERROR(76): Array
'aa' should be indexed by type int but
ERROR(78): Array index is the unindexed array 'zz'. ERROR(78): Array
index is the unindexed array 'zz'.
ERROR(80): Symbol 'xyzzy' is not defined. ERROR(80): Symbol '
xyzzy' is not defined.
ERROR(81): Symbol 'meerkat' is not defined. ERROR(81): Symbol '
meerkat' is not defined.
ERROR(83): 'x' is a simple variable and cannot be called ERROR(83): 'x'
is a simple variable and cannot be called
ERROR(85): Too many parameters passed for function 'dog' ERROR(85): Too
many parameters passed for function 'dog'
ERROR(86): Too few parameters passed for function 'ibex' ERROR(86): Too
few parameters passed for function 'ibex'
ERROR(88): Expecting type int in parameter 1 of call to ERROR(88):
Expecting type int in parameter 1 of call to
ERROR(90): Not expecting array in parameter 1 of call to ERROR(90): Not
expecting array in parameter 1 of call to
ERROR(91): Expecting type int in parameter 1 of call to ERROR(91):
Expecting type int in parameter 1 of call to
ERROR(93): Expecting array in parameter 1 of call to 'ib ERROR(93):
Expecting array in parameter 1 of call to 'ib
ERROR(94): Cannot use function 'ibex' as a simple variab ERROR(94):
Cannot use function 'ibex' as a simple variab
ERROR(96): Cannot use function 'ibex' as a simple variab ERROR(96):
Cannot use function 'ibex' as a simple variab
ERROR(96): '+' requires operands of type int but lhs is ERROR(96): '+'
requires operands of type int but lhs is
ERROR(98): The operation '*' only works with arrays. ERROR(98): The
operation '*' only works with arrays.
ERROR(100): '*' requires operands of type int but lhs is ERROR(100): '*'
requires operands of type int but lhs is
ERROR(100): The operation '*' does not work with arrays. ERROR(100): The
operation '*' does not work with arrays.
ERROR(100): '+' requires operands of type int but lhs is ERROR(100): '+'
requires operands of type int but lhs is
ERROR(100): The operation '*' only works with arrays. ERROR(100): The
operation '*' only works with arrays.
ERROR(100): The operation 'not' does not work with array ERROR(100): The
operation 'not' does not work with array
ERROR(100): Unary 'not' requires an operand of type bool ERROR(100):
Unary 'not' requires an operand of type bool
ERROR(100): 'or' requires operands of type bool but lhs ERROR(100): 'or'
requires operands of type bool but lhs
ERROR(100): Cannot have a break statement outside of loo ERROR(100):
Cannot have a break statement outside of loo
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): 'and' requires operands of type bool but rhs ERROR(101): 'and
' requires operands of type bool but rhs
ERROR(103): Cannot return an array. ERROR(103): Cannot return
an array.
ERROR(108): Symbol 'main' is already defined at line 32. ERROR(108):
Symbol 'main' is already defined at line 32.
ERROR(122): '==' requires operands of the same type but ERROR(122): '=='
requires operands of the same type but
ERROR(127): '=' requires operands of the same type but l ERROR(127): '='
requires operands of the same type but l
ERROR(131): '!=' requires operands of the same type but ERROR(131): '!='
requires operands of the same type but
ERROR(137): Symbol 'z' is already defined at line 106. ERROR(137):
Symbol 'z' is already defined at line 106.
ERROR(139): Variable 'a' is of type int but is being ini ERROR(139):
Variable 'a' is of type int but is being ini
ERROR(139): Variable 'b' is of type int but is being ini ERROR(139):
Variable 'b' is of type int but is being ini
ERROR(139): Variable 'zz' is of type int but is being in ERROR(139):
Variable 'zz' is of type int but is being in
ERROR(141): Initializer for variable 'd' is not a consta ERROR(141):
Initializer for variable 'd' is not a consta
ERROR(142): '*' requires operands of type int but rhs is ERROR(142): '*'
requires operands of type int but rhs is
ERROR(143): Initializer for variable 'e' is not a consta ERROR(143):
Initializer for variable 'e' is not a consta
ERROR(144): Initializer for variable 'f' is not a consta ERROR(144):
Initializer for variable 'f' is not a consta
ERROR(146): Symbol 'main' is already defined at line 32. ERROR(146):
Symbol 'main' is already defined at line 32.
ERROR(159): '==' requires operands of the same type but ERROR(159): '=='
requires operands of the same type but
ERROR(165): '=' requires operands of the same type but l ERROR(165): '='
requires operands of the same type but l
ERROR(183): In foreach statement the variable to the lef ERROR(183): In
foreach statement the variable to the lef
ERROR(184): In foreach statement the variable to the lef ERROR(184): In
foreach statement the variable to the lef
ERROR(184): Foreach requires operands of 'in' be the sam ERROR(184):
Foreach requires operands of 'in' be the sam
ERROR(187): Foreach requires operands of 'in' be the sam ERROR(187):
Foreach requires operands of 'in' be the sam
ERROR(189): If not an array, foreach requires rhs of 'in ERROR(189): If
not an array, foreach requires rhs of 'in
ERROR(190): If not an array, foreach requires lhs of 'in ERROR(190): If
not an array, foreach requires lhs of 'in
ERROR(196): Initializer for nonarray variable 'w' of typ ERROR(196):
Initializer for nonarray variable 'w' of typ
ERROR(197): Variable 'u' is of type int but is being ini ERROR(197):
Variable 'u' is of type int but is being ini
ERROR(197): Initializer for nonarray variable 'u' of typ ERROR(197):
Initializer for nonarray variable 'u' of typ
ERROR(198): Array 't' must be of type char to be initial ERROR(198):
Array 't' must be of type char to be initial
ERROR(198): Initializer for array variable 't' must be a ERROR(198):
Initializer for array variable 't' must be a
ERROR(199): Initializer for array variable 's' must be a ERROR(199):
Initializer for array variable 's' must be a
ERROR(207): Symbol 'main' is already defined at line 32. ERROR(207):
Symbol 'main' is already defined at line 32.
ERROR(209): Initializer for variable 'x' is not a consta ERROR(209):
Initializer for variable 'x' is not a consta
ERROR(210): Initializer for nonarray variable 'c' of typ ERROR(210):
Initializer for nonarray variable 'c' of typ
ERROR(211): Initializer for array variable 'd' must be a ERROR(211):
Initializer for array variable 'd' must be a
ERROR(212): Variable 'e' is of type char but is being in ERROR(212):
Variable 'e' is of type char but is being in
ERROR(213): Initializer for array variable 'f' must be a ERROR(213):
Initializer for array variable 'f' must be a
ERROR(214): Array 'z' must be of type char to be initial ERROR(214):
Array 'z' must be of type char to be initial
ERROR(216): '=' requires that if one operand is an array ERROR(216): '='
requires that if one operand is an array
ERROR(217): '=' requires that if one operand is an array ERROR(217): '='
requires that if one operand is an array
ERROR(218): '=' requires operands of the same type but l ERROR(218): '='
requires operands of the same type but l
ERROR(219): '=' requires operands of the same type but l ERROR(219): '='
requires operands of the same type but l
ERROR(219): '=' requires that if one operand is an array ERROR(219): '='
requires that if one operand is an array
ERROR(220): '=' requires operands of the same type but l ERROR(220): '='
requires operands of the same type but l
ERROR(222): '==' requires operands of the same type but ERROR(222): '=='
requires operands of the same type but
ERROR(223): '>' requires operands of type char or type i ERROR(223): '>'
requires operands of type char or type i
ERROR(224): '>' requires operands of type char or type i ERROR(224): '>'
requires operands of type char or type i
ERROR(225): The operation '>' does not work with arrays. ERROR(225): The
operation '>' does not work with arrays.
ERROR(226): The operation '>' does not work with arrays. ERROR(226): The
operation '>' does not work with arrays.
ERROR(227): The operation '>' does not work with arrays. ERROR(227): The
operation '>' does not work with arrays.
ERROR(229): Unary '-' requires an operand of type int bu ERROR(229):
Unary '-' requires an operand of type int bu
ERROR(230): The operation '*' only works with arrays. ERROR(230): The
operation '*' only works with arrays.
ERROR(231): The operation '-' does not work with arrays. ERROR(231): The
operation '-' does not work with arrays.
ERROR(234): Unary '++' requires an operand of type int b ERROR(234):
Unary '++' requires an operand of type int b
ERROR(234): The operation '++' does not work with arrays ERROR(234): The
operation '++' does not work with arrays
ERROR(235): The operation '++' does not work with arrays ERROR(235): The
operation '++' does not work with arrays
ERROR(236): Unary '--' requires an operand of type int b ERROR(236):
Unary '--' requires an operand of type int b
ERROR(236): The operation '--' does not work with arrays ERROR(236): The
operation '--' does not work with arrays
ERROR(237): The operation '--' does not work with arrays ERROR(237): The
operation '--' does not work with arrays
WARNING(207): Expecting to return type int but function WARNING(207):
Expecting to return type int but function
ERROR(242): Symbol 'fred' is already defined at line 241 ERROR(242):
Symbol 'fred' is already defined at line 241
ERROR(244): Symbol 'fred' is already defined at line 243 ERROR(244):
Symbol 'fred' is already defined at line 243
ERROR(245): Symbol 'fred' is already defined at line 243 ERROR(245):
Symbol 'fred' is already defined at line 243
ERROR(246): Symbol 'fred' is already defined at line 243 ERROR(246):
Symbol 'fred' is already defined at line 243
WARNING(242): Expecting to return type int but function WARNING(242):
Expecting to return type int but function
Number of warnings: 3 Number of warnings: 3
Number of errors: 108 Number of errors: 108
RUN: c- basicAll.c- RUN: c- basicAll.c-
ERROR(16): Symbol 'cat' is not defined. ERROR(16): Symbol '
cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to ret ERROR(18):
Function 'dog' at line 12 is expecting to ret
ERROR(25): Function 'cat' at line 21 is expecting to ret ERROR(25):
Function 'cat' at line 21 is expecting to ret
ERROR(28): Symbol 'cat' is already defined at line 21. ERROR(28):
Symbol 'cat' is already defined at line 21.
ERROR(39): Function 'ox' at line 37 is expecting no retu ERROR(39):
Function 'ox' at line 37 is expecting no retu
WARNING(42): Expecting to return type int but function ' WARNING(42):
Expecting to return type int but function '
ERROR(54): Symbol 'x' is already defined at line 53. ERROR(54):
Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53. ERROR(55):
Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined. ERROR(63): Symbol 'v'
is not defined.
ERROR(65): Expecting Boolean test condition in if statem ERROR(65):
Expecting Boolean test condition in if statem
ERROR(66): Expecting Boolean test condition in while sta ERROR(66):
Expecting Boolean test condition in while sta
ERROR(67): Expecting Boolean test condition in while sta ERROR(67):
Expecting Boolean test condition in while sta
ERROR(69): Cannot use function 'cat' as a simple variabl ERROR(69):
Cannot use function 'cat' as a simple variabl
ERROR(70): '=' requires operands of the same type but lh ERROR(70): '='
requires operands of the same type but lh
ERROR(71): '+=' requires operands of type int but rhs is ERROR(71): '+='
requires operands of type int but rhs is
ERROR(72): '-=' requires operands of type int but lhs is ERROR(72): '-='
requires operands of type int but lhs is
ERROR(73): '>' requires operands of type char or type in ERROR(73): '>'
requires operands of type char or type in
ERROR(74): Unary '++' requires an operand of type int bu ERROR(74): Unary
'++' requires an operand of type int bu
ERROR(76): Cannot use array as test condition in if stat ERROR(76):
Cannot use array as test condition in if stat
ERROR(77): Cannot use array as test condition in while s ERROR(77):
Cannot use array as test condition in while s
ERROR(79): Cannot have a break statement outside of loop ERROR(79):
Cannot have a break statement outside of loop
ERROR(83): The operation '+' does not work with arrays. ERROR(83):
The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays. ERROR(84):
The operation '<' does not work with arrays.
ERROR(85): '<' requires operands of type char or type in ERROR(85): '<'
requires operands of type char or type in
ERROR(85): '<' requires operands of type char or type in ERROR(85): '<'
requires operands of type char or type in
ERROR(85): The operation '<' does not work with arrays. ERROR(85):
The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but l ERROR(87): '=='
requires operands of the same type but l
ERROR(91): '+' requires operands of type int but lhs is ERROR(91): '+'
requires operands of type int but lhs is
ERROR(93): '*' requires operands of type int but rhs is ERROR(93): '*'
requires operands of type int but rhs is
ERROR(95): Unary 'not' requires an operand of type bool ERROR(95): Unary
'not' requires an operand of type bool
ERROR(96): '+' requires operands of type int but rhs is ERROR(96): '+'
requires operands of type int but rhs is
ERROR(96): Unary 'not' requires an operand of type bool ERROR(96): Unary
'not' requires an operand of type bool
ERROR(97): Unary '-' requires an operand of type int but ERROR(97): Unary
'-' requires an operand of type int but
ERROR(99): Cannot index nonarray 'x'. ERROR(99): Cannot index
nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): 'and' requires operands of type bool but rhs ERROR(100): 'and
' requires operands of type bool but rhs
ERROR(100): '*' requires operands of type int but rhs is ERROR(100): '*'
requires operands of type int but rhs is
ERROR(101): Symbol 'y' is not defined. ERROR(101): Symbol 'y'
is not defined.
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): '*' requires operands of type int but rhs is ERROR(101): '*'
requires operands of type int but rhs is
ERROR(102): 'and' requires operands of type bool but lhs ERROR(102): 'and
' requires operands of type bool but lhs
ERROR(102): 'and' requires operands of type bool but rhs ERROR(102): 'and
' requires operands of type bool but rhs
ERROR(102): '*' requires operands of type int but rhs is ERROR(102): '*'
requires operands of type int but rhs is
ERROR(102): 'or' requires operands of type bool but rhs ERROR(102): 'or'
requires operands of type bool but rhs
ERROR(104): The operation '*' only works with arrays. ERROR(104): The
operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs ERROR(105): 'and
' requires operands of type bool but lhs
ERROR(109): Array 'aa' should be indexed by type int but ERROR(109):
Array 'aa' should be indexed by type int but
ERROR(111): Cannot use function 'cat' as a simple variab ERROR(111):
Cannot use function 'cat' as a simple variab
ERROR(113): Array index is the unindexed array 'aa'. ERROR(113):
Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined. ERROR(114): Symbol '
AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined. ERROR(116): Symbol '
meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined. ERROR(118): Symbol '
xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined. ERROR(119): Symbol '
meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined. ERROR(120): Symbol '
xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs ERROR(120): 'and
' requires operands of type bool but rhs
ERROR(122): Symbol 'flight' is not defined. ERROR(122): Symbol '
flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool ERROR(122):
Unary 'not' requires an operand of type bool
ERROR(122): Unary '-' requires an operand of type int bu ERROR(122):
Unary '-' requires an operand of type int bu
ERROR(122): Symbol 'uu' is not defined. ERROR(122): Symbol '
uu' is not defined.
ERROR(122): Symbol 'y' is not defined. ERROR(122): Symbol 'y'
is not defined.
ERROR(122): '*' requires operands of type int but rhs is ERROR(122): '*'
requires operands of type int but rhs is
ERROR(124): 'x' is a simple variable and cannot be calle ERROR(124): 'x'
is a simple variable and cannot be calle
ERROR(126): Too many parameters passed for function 'dog ERROR(126): Too
many parameters passed for function 'dog
ERROR(127): Too few parameters passed for function 'ibex ERROR(127): Too
few parameters passed for function 'ibex
ERROR(129): Expecting type int in parameter 1 of call to ERROR(129):
Expecting type int in parameter 1 of call to
ERROR(131): Not expecting array in parameter 1 of call t ERROR(131): Not
expecting array in parameter 1 of call t
ERROR(133): Expecting array in parameter 1 of call to 'i ERROR(133):
Expecting array in parameter 1 of call to 'i
ERROR(134): Expecting type int in parameter 1 of call to ERROR(134):
Expecting type int in parameter 1 of call to
ERROR(135): Cannot use function 'ibex' as a simple varia ERROR(135):
Cannot use function 'ibex' as a simple varia
ERROR(137): Cannot use function 'ibex' as a simple varia ERROR(137):
Cannot use function 'ibex' as a simple varia
ERROR(137): '+' requires operands of type int but lhs is ERROR(137): '+'
requires operands of type int but lhs is
ERROR(140): Array index is the unindexed array 'zz'. ERROR(140):
Array index is the unindexed array 'zz'.
ERROR(141): Expecting type int in parameter 1 of call to ERROR(141):
Expecting type int in parameter 1 of call to
ERROR(141): Array 'aa' should be indexed by type int but ERROR(141):
Array 'aa' should be indexed by type int but
ERROR(143): '=' requires operands of the same type but l ERROR(143): '='
requires operands of the same type but l
ERROR(144): '+' requires operands of type int but rhs is ERROR(144): '+'
requires operands of type int but rhs is
ERROR(145): Expecting type int in parameter 1 of call to ERROR(145):
Expecting type int in parameter 1 of call to
ERROR(146): Expecting type int in parameter 1 of call to ERROR(146):
Expecting type int in parameter 1 of call to
ERROR(149): '=' requires operands of the same type but l ERROR(149): '='
requires operands of the same type but l
ERROR(150): '=' requires operands of the same type but l ERROR(150): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(153): '*' requires operands of type int but rhs is ERROR(153): '*'
requires operands of type int but rhs is
ERROR(153): '*' requires operands of type int but lhs is ERROR(153): '*'
requires operands of type int but lhs is
ERROR(153): 'and' requires operands of type bool but lhs ERROR(153): 'and
' requires operands of type bool but lhs
ERROR(153): 'and' requires operands of type bool but rhs ERROR(153): 'and
' requires operands of type bool but rhs
ERROR(155): '+' requires operands of type int but rhs is ERROR(155): '+'
requires operands of type int but rhs is
ERROR(155): Symbol 'parrot' is not defined. ERROR(155): Symbol '
parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but rhs ERROR(155): 'and
' requires operands of type bool but rhs
ERROR(155): Expecting type int in parameter 3 of call to ERROR(155):
Expecting type int in parameter 3 of call to
ERROR(156): Expecting type int in parameter 1 of call to ERROR(156):
Expecting type int in parameter 1 of call to
ERROR(156): '+' requires operands of type int but rhs is ERROR(156): '+'
requires operands of type int but rhs is
ERROR(156): Symbol 'parrot' is not defined. ERROR(156): Symbol '
parrot' is not defined.
ERROR(156): 'and' requires operands of type bool but rhs ERROR(156): 'and
' requires operands of type bool but rhs
ERROR(156): Expecting type int in parameter 3 of call to ERROR(156):
Expecting type int in parameter 3 of call to
ERROR(156): 'and' requires operands of type bool but rhs ERROR(156): 'and
' requires operands of type bool but rhs
ERROR(156): Expecting type int in parameter 2 of call to ERROR(156):
Expecting type int in parameter 2 of call to
ERROR(156): Expecting type int in parameter 3 of call to ERROR(156):
Expecting type int in parameter 3 of call to
ERROR(156): Too many parameters passed for function 'emu ERROR(156): Too
many parameters passed for function 'emu
ERROR(156): '*' requires operands of type int but rhs is ERROR(156): '*'
requires operands of type int but rhs is
ERROR(158): Cannot return an array. ERROR(158): Cannot return
an array.
Number of warnings: 1 Number of warnings: 1
Number of errors: 101 Number of errors: 101
RUN: c- basicAll2.c- RUN: c- basicAll2.c-
ERROR(16): Symbol 'cat' is not defined. ERROR(16): Symbol '
cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to ret ERROR(18):
Function 'dog' at line 12 is expecting to ret
ERROR(25): Function 'cat' at line 21 is expecting to ret ERROR(25):
Function 'cat' at line 21 is expecting to ret
ERROR(28): Symbol 'cat' is already defined at line 21. ERROR(28):
Symbol 'cat' is already defined at line 21.
ERROR(34): Function 'ibex' at line 31 is expecting to re ERROR(34):
Function 'ibex' at line 31 is expecting to re
ERROR(39): Function 'ox' at line 37 is expecting no retu ERROR(39):
Function 'ox' at line 37 is expecting no retu
WARNING(42): Expecting to return type char but function WARNING(42):
Expecting to return type char but function
ERROR(48): '+' requires operands of type int but lhs is ERROR(48): '+'
requires operands of type int but lhs is
ERROR(48): '+' requires operands of type int but rhs is ERROR(48): '+'
requires operands of type int but rhs is
ERROR(54): Symbol 'x' is already defined at line 53. ERROR(54):
Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53. ERROR(55):
Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined. ERROR(63): Symbol 'v'
is not defined.
ERROR(65): Expecting Boolean test condition in if statem ERROR(65):
Expecting Boolean test condition in if statem
ERROR(66): Expecting Boolean test condition in while sta ERROR(66):
Expecting Boolean test condition in while sta
ERROR(67): Expecting type char in parameter 1 of call to ERROR(67):
Expecting type char in parameter 1 of call to
ERROR(67): Expecting Boolean test condition in while sta ERROR(67):
Expecting Boolean test condition in while sta
ERROR(69): Cannot use function 'cat' as a simple variabl ERROR(69):
Cannot use function 'cat' as a simple variabl
ERROR(70): '=' requires operands of the same type but lh ERROR(70): '='
requires operands of the same type but lh
ERROR(71): '+=' requires operands of type int but lhs is ERROR(71): '+='
requires operands of type int but lhs is
ERROR(72): '-=' requires operands of type int but rhs is ERROR(72): '-='
requires operands of type int but rhs is
ERROR(76): Expecting Boolean test condition in if statem ERROR(76):
Expecting Boolean test condition in if statem
ERROR(76): Cannot use array as test condition in if stat ERROR(76):
Cannot use array as test condition in if stat
ERROR(77): Expecting Boolean test condition in while sta ERROR(77):
Expecting Boolean test condition in while sta
ERROR(77): Cannot use array as test condition in while s ERROR(77):
Cannot use array as test condition in while s
ERROR(79): Cannot have a break statement outside of loop ERROR(79):
Cannot have a break statement outside of loop
ERROR(81): Expecting Boolean test condition in while sta ERROR(81):
Expecting Boolean test condition in while sta
ERROR(83): '+' requires operands of type int but lhs is ERROR(83): '+'
requires operands of type int but lhs is
ERROR(83): The operation '+' does not work with arrays. ERROR(83):
The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays. ERROR(84):
The operation '<' does not work with arrays.
ERROR(85): The operation '<' does not work with arrays. ERROR(85):
The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but l ERROR(87): '=='
requires operands of the same type but l
ERROR(88): '==' requires operands of the same type but l ERROR(88): '=='
requires operands of the same type but l
ERROR(89): '==' requires operands of the same type but l ERROR(89): '=='
requires operands of the same type but l
ERROR(91): '+' requires operands of type int but lhs is ERROR(91): '+'
requires operands of type int but lhs is
ERROR(91): '+' requires operands of type int but rhs is ERROR(91): '+'
requires operands of type int but rhs is
ERROR(93): '*' requires operands of type int but lhs is ERROR(93): '*'
requires operands of type int but lhs is
ERROR(93): '*' requires operands of type int but rhs is ERROR(93): '*'
requires operands of type int but rhs is
ERROR(95): Unary 'not' requires an operand of type bool ERROR(95): Unary
'not' requires an operand of type bool
ERROR(96): '+' requires operands of type int but lhs is ERROR(96): '+'
requires operands of type int but lhs is
ERROR(96): Unary 'not' requires an operand of type bool ERROR(96): Unary
'not' requires an operand of type bool
ERROR(99): Cannot index nonarray 'x'. ERROR(99): Cannot index
nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): 'and' requires operands of type bool but rhs ERROR(100): 'and
' requires operands of type bool but rhs
ERROR(100): '*' requires operands of type int but lhs is ERROR(100): '*'
requires operands of type int but lhs is
ERROR(100): '*' requires operands of type int but rhs is ERROR(100): '*'
requires operands of type int but rhs is
ERROR(100): '+' requires operands of type int but lhs is ERROR(100): '+'
requires operands of type int but lhs is
ERROR(100): '==' requires operands of the same type but ERROR(100): '=='
requires operands of the same type but
ERROR(100): '=' requires operands of the same type but l ERROR(100): '='
requires operands of the same type but l
ERROR(101): Symbol 'y' is not defined. ERROR(101): Symbol 'y'
is not defined.
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): '*' requires operands of type int but lhs is ERROR(101): '*'
requires operands of type int but lhs is
ERROR(101): '*' requires operands of type int but rhs is ERROR(101): '*'
requires operands of type int but rhs is
ERROR(101): '+' requires operands of type int but lhs is ERROR(101): '+'
requires operands of type int but lhs is
ERROR(101): '==' requires operands of the same type but ERROR(101): '=='
requires operands of the same type but
ERROR(101): '=' requires operands of the same type but l ERROR(101): '='
requires operands of the same type but l
ERROR(102): 'and' requires operands of type bool but lhs ERROR(102): 'and
' requires operands of type bool but lhs
ERROR(102): 'and' requires operands of type bool but rhs ERROR(102): 'and
' requires operands of type bool but rhs
ERROR(102): '*' requires operands of type int but lhs is ERROR(102): '*'
requires operands of type int but lhs is
ERROR(102): '*' requires operands of type int but rhs is ERROR(102): '*'
requires operands of type int but rhs is
ERROR(102): 'or' requires operands of type bool but rhs ERROR(102): 'or'
requires operands of type bool but rhs
ERROR(102): '=' requires operands of the same type but l ERROR(102): '='
requires operands of the same type but l
ERROR(104): The operation '*' only works with arrays. ERROR(104): The
operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs ERROR(105): 'and
' requires operands of type bool but lhs
ERROR(105): 'and' requires operands of type bool but rhs ERROR(105): 'and
' requires operands of type bool but rhs
ERROR(111): Cannot use function 'cat' as a simple variab ERROR(111):
Cannot use function 'cat' as a simple variab
ERROR(111): Array 'aa' should be indexed by type int but ERROR(111):
Array 'aa' should be indexed by type int but
ERROR(113): Array 'aa' should be indexed by type int but ERROR(113):
Array 'aa' should be indexed by type int but
ERROR(113): Array index is the unindexed array 'aa'. ERROR(113):
Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined. ERROR(114): Symbol '
AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined. ERROR(116): Symbol '
meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined. ERROR(118): Symbol '
xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined. ERROR(119): Symbol '
meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined. ERROR(120): Symbol '
xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs ERROR(120): 'and
' requires operands of type bool but rhs
ERROR(122): Symbol 'flight' is not defined. ERROR(122): Symbol '
flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool ERROR(122):
Unary 'not' requires an operand of type bool
ERROR(122): Unary '-' requires an operand of type int bu ERROR(122):
Unary '-' requires an operand of type int bu
ERROR(122): Symbol 'uu' is not defined. ERROR(122): Symbol '
uu' is not defined.
ERROR(122): Symbol 'y' is not defined. ERROR(122): Symbol 'y'
is not defined.
ERROR(122): '*' requires operands of type int but lhs is ERROR(122): '*'
requires operands of type int but lhs is
ERROR(122): '+' requires operands of type int but lhs is ERROR(122): '+'
requires operands of type int but lhs is
ERROR(124): 'x' is a simple variable and cannot be calle ERROR(124): 'x'
is a simple variable and cannot be calle
ERROR(126): Expecting type char in parameter 1 of call t ERROR(126):
Expecting type char in parameter 1 of call t
ERROR(126): Too many parameters passed for function 'dog ERROR(126): Too
many parameters passed for function 'dog
ERROR(127): Too few parameters passed for function 'ibex ERROR(127): Too
few parameters passed for function 'ibex
ERROR(129): Expecting type char in parameter 1 of call t ERROR(129):
Expecting type char in parameter 1 of call t
ERROR(131): Not expecting array in parameter 1 of call t ERROR(131): Not
expecting array in parameter 1 of call t
ERROR(133): Expecting array in parameter 1 of call to 'i ERROR(133):
Expecting array in parameter 1 of call to 'i
ERROR(134): Expecting type char in parameter 1 of call t ERROR(134):
Expecting type char in parameter 1 of call t
ERROR(135): Cannot use function 'ibex' as a simple varia ERROR(135):
Cannot use function 'ibex' as a simple varia
ERROR(137): Cannot use function 'ibex' as a simple varia ERROR(137):
Cannot use function 'ibex' as a simple varia
ERROR(139): Array 'aa' should be indexed by type int but ERROR(139):
Array 'aa' should be indexed by type int but
ERROR(140): Array 'aa' should be indexed by type int but ERROR(140):
Array 'aa' should be indexed by type int but
ERROR(140): Array index is the unindexed array 'zz'. ERROR(140):
Array index is the unindexed array 'zz'.
ERROR(141): Expecting type char in parameter 1 of call t ERROR(141):
Expecting type char in parameter 1 of call t
ERROR(141): Array 'aa' should be indexed by type int but ERROR(141):
Array 'aa' should be indexed by type int but
ERROR(143): Expecting type char in parameter 1 of call t ERROR(143):
Expecting type char in parameter 1 of call t
ERROR(143): '=' requires operands of the same type but l ERROR(143): '='
requires operands of the same type but l
ERROR(144): Expecting type char in parameter 1 of call t ERROR(144):
Expecting type char in parameter 1 of call t
ERROR(144): '+' requires operands of type int but lhs is ERROR(144): '+'
requires operands of type int but lhs is
ERROR(144): '+' requires operands of type int but rhs is ERROR(144): '+'
requires operands of type int but rhs is
ERROR(144): '=' requires operands of the same type but l ERROR(144): '='
requires operands of the same type but l
ERROR(145): Expecting type char in parameter 1 of call t ERROR(145):
Expecting type char in parameter 1 of call t
ERROR(145): Expecting type char in parameter 1 of call t ERROR(145):
Expecting type char in parameter 1 of call t
ERROR(146): Expecting type char in parameter 1 of call t ERROR(146):
Expecting type char in parameter 1 of call t
ERROR(147): Expecting type char in parameter 1 of call t ERROR(147):
Expecting type char in parameter 1 of call t
ERROR(149): '=' requires operands of the same type but l ERROR(149): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(153): '*' requires operands of type int but lhs is ERROR(153): '*'
requires operands of type int but lhs is
ERROR(153): '*' requires operands of type int but rhs is ERROR(153): '*'
requires operands of type int but rhs is
ERROR(153): 'and' requires operands of type bool but lhs ERROR(153): 'and
' requires operands of type bool but lhs
ERROR(153): 'and' requires operands of type bool but rhs ERROR(153): 'and
' requires operands of type bool but rhs
ERROR(155): '+' requires operands of type int but lhs is ERROR(155): '+'
requires operands of type int but lhs is
ERROR(155): Expecting type char in parameter 1 of call t ERROR(155):
Expecting type char in parameter 1 of call t
ERROR(155): Symbol 'parrot' is not defined. ERROR(155): Symbol '
parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but lhs ERROR(155): 'and
' requires operands of type bool but lhs
ERROR(155): 'and' requires operands of type bool but rhs ERROR(155): 'and
' requires operands of type bool but rhs
ERROR(155): Expecting type char in parameter 3 of call t ERROR(155):
Expecting type char in parameter 3 of call t
ERROR(156): Expecting type char in parameter 1 of call t ERROR(156):
Expecting type char in parameter 1 of call t
ERROR(156): '+' requires operands of type int but lhs is ERROR(156): '+'
requires operands of type int but lhs is
ERROR(156): Expecting type char in parameter 1 of call t ERROR(156):
Expecting type char in parameter 1 of call t
ERROR(156): Symbol 'parrot' is not defined. ERROR(156): Symbol '
parrot' is not defined.
ERROR(156): 'and' requires operands of type bool but lhs ERROR(156): 'and
' requires operands of type bool but lhs
ERROR(156): 'and' requires operands of type bool but rhs ERROR(156): 'and
' requires operands of type bool but rhs
ERROR(156): Expecting type char in parameter 3 of call t ERROR(156):
Expecting type char in parameter 3 of call t
ERROR(156): 'and' requires operands of type bool but rhs ERROR(156): 'and
' requires operands of type bool but rhs
ERROR(156): Expecting type char in parameter 2 of call t ERROR(156):
Expecting type char in parameter 2 of call t
ERROR(156): Expecting type char in parameter 3 of call t ERROR(156):
Expecting type char in parameter 3 of call t
ERROR(156): Too many parameters passed for function 'emu ERROR(156): Too
many parameters passed for function 'emu
ERROR(156): '*' requires operands of type int but lhs is ERROR(156): '*'
requires operands of type int but lhs is
ERROR(158): Cannot return an array. ERROR(158): Cannot return
an array.
Number of warnings: 1 Number of warnings: 1
Number of errors: 132 Number of errors: 132
RUN: c- basicExtra.c- RUN: c- basicExtra.c-
WARNING(3): Expecting to return type char but function ' WARNING(3):
Expecting to return type char but function '
ERROR(14): '<' requires operands of type char or type in ERROR(14): '<'
requires operands of type char or type in
ERROR(14): '<' requires operands of type char or type in ERROR(14): '<'
requires operands of type char or type in
ERROR(14): The operation '<' does not work with arrays. ERROR(14):
The operation '<' does not work with arrays.
ERROR(15): The operation '<' does not work with arrays. ERROR(15):
The operation '<' does not work with arrays.
ERROR(18): '<' requires operands of type char or type in ERROR(18): '<'
requires operands of type char or type in
ERROR(18): '<' requires operands of type char or type in ERROR(18): '<'
requires operands of type char or type in
ERROR(19): '/' requires operands of type int but lhs is ERROR(19): '/'
requires operands of type int but lhs is
ERROR(20): '/' requires operands of type int but rhs is ERROR(20): '/'
requires operands of type int but rhs is
ERROR(21): '%' requires operands of type int but lhs is ERROR(21): '%'
requires operands of type int but lhs is
ERROR(22): '%' requires operands of type int but rhs is ERROR(22): '%'
requires operands of type int but rhs is
ERROR(23): '-' requires operands of type int but lhs is ERROR(23): '-'
requires operands of type int but lhs is
ERROR(24): '-' requires operands of type int but rhs is ERROR(24): '-'
requires operands of type int but rhs is
ERROR(25): '<' requires operands of type char or type in ERROR(25): '<'
requires operands of type char or type in
ERROR(25): '<' requires operands of type char or type in ERROR(25): '<'
requires operands of type char or type in
ERROR(27): '<' requires operands of type char or type in ERROR(27): '<'
requires operands of type char or type in
ERROR(28): '<' requires operands of type char or type in ERROR(28): '<'
requires operands of type char or type in
ERROR(30): Symbol 'k' is not defined. ERROR(30): Symbol 'k'
is not defined.
ERROR(31): Symbol 'k' is not defined. ERROR(31): Symbol 'k'
is not defined.
ERROR(32): Symbol 'k' is not defined. ERROR(32): Symbol 'k'
is not defined.
ERROR(32): Symbol 'k' is not defined. ERROR(32): Symbol 'k'
is not defined.
ERROR(33): Symbol 'k' is not defined. ERROR(33): Symbol 'k'
is not defined.
ERROR(34): 'i' is a simple variable and cannot be called ERROR(34): 'i'
is a simple variable and cannot be called
Number of warnings: 1 Number of warnings: 1
Number of errors: 22 Number of errors: 22
RUN: c- bullsandcows.c- RUN: c- bullsandcows.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- call.c- RUN: c- call.c-
WARNING(1): Expecting to return type int but function 's WARNING(1):
Expecting to return type int but function 's
WARNING(7): Expecting to return type int but function 's WARNING(7):
Expecting to return type int but function 's
WARNING(18): Expecting to return type int but function ' WARNING(18):
Expecting to return type int but function '
Number of warnings: 3 Number of warnings: 3
Number of errors: 0 Number of errors: 0
RUN: c- call2.c- RUN: c- call2.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- call3.c- RUN: c- call3.c-
ERROR(4): Symbol 'fred' is not defined. ERROR(4): Symbol '
fred' is not defined.
ERROR(4): Symbol 'x' is not defined. ERROR(4): Symbol 'x' is
not defined.
ERROR(4): Symbol 'y' is not defined. ERROR(4): Symbol 'y' is
not defined.
ERROR(4): 'and' requires operands of type bool but lhs i ERROR(4): 'and'
requires operands of type bool but lhs i
ERROR(4): 'and' requires operands of type bool but rhs i ERROR(4): 'and'
requires operands of type bool but rhs i
ERROR(6): Function 'main' at line 1 is expecting no retu ERROR(6):
Function 'main' at line 1 is expecting no retu
ERROR(12): Too many parameters passed for function 'fred ERROR(12): Too
many parameters passed for function 'fred
ERROR(12): The operation '*' only works with arrays. ERROR(12): The
operation '*' only works with arrays.
ERROR(14): Too few parameters passed for function 'fred' ERROR(14): Too
few parameters passed for function 'fred'
ERROR(13): Expecting array in parameter 1 of call to 'fr ERROR(13):
Expecting array in parameter 1 of call to 'fr
ERROR(15): Expecting type char in parameter 1 of call to ERROR(15):
Expecting type char in parameter 1 of call to
WARNING(9): Expecting to return type char but function ' WARNING(9):
Expecting to return type char but function '
ERROR(20): 'x' is a simple variable and cannot be called ERROR(20): 'x'
is a simple variable and cannot be called
ERROR(20): '+' requires operands of type int but rhs is ERROR(20): '+'
requires operands of type int but rhs is
ERROR(20): The operation '*' only works with arrays. ERROR(20): The
operation '*' only works with arrays.
ERROR(20): 'and' requires operands of type bool but lhs ERROR(20): 'and'
requires operands of type bool but lhs
ERROR(20): 'and' requires operands of type bool but rhs ERROR(20): 'and'
requires operands of type bool but rhs
ERROR(21): Symbol 'y' is not defined. ERROR(21): Symbol 'y'
is not defined.
ERROR(21): '+' requires operands of type int but rhs is ERROR(21): '+'
requires operands of type int but rhs is
ERROR(21): The operation '*' only works with arrays. ERROR(21): The
operation '*' only works with arrays.
ERROR(21): 'and' requires operands of type bool but lhs ERROR(21): 'and'
requires operands of type bool but lhs
ERROR(21): 'and' requires operands of type bool but rhs ERROR(21): 'and'
requires operands of type bool but rhs
ERROR(22): 'z' is a simple variable and cannot be called ERROR(22): 'z'
is a simple variable and cannot be called
ERROR(22): '+' requires operands of type int but rhs is ERROR(22): '+'
requires operands of type int but rhs is
ERROR(22): The operation '*' only works with arrays. ERROR(22): The
operation '*' only works with arrays.
ERROR(22): 'and' requires operands of type bool but lhs ERROR(22): 'and'
requires operands of type bool but lhs
ERROR(22): 'and' requires operands of type bool but rhs ERROR(22): 'and'
requires operands of type bool but rhs
ERROR(25): Symbol 'output' is already defined at line -1 ERROR(25):
Symbol 'output' is already defined at line -1
ERROR(26): Symbol 'outputb' is already defined at line - ERROR(26):
Symbol 'outputb' is already defined at line -
ERROR(27): Symbol 'outputc' is already defined at line - ERROR(27):
Symbol 'outputc' is already defined at line -
ERROR(29): Symbol 'input' is already defined at line -1. ERROR(29):
Symbol 'input' is already defined at line -1.
ERROR(30): Symbol 'inputb' is already defined at line -1 ERROR(30):
Symbol 'inputb' is already defined at line -1
ERROR(31): Symbol 'inputc' is already defined at line -1 ERROR(31):
Symbol 'inputc' is already defined at line -1
ERROR(43): Symbol 'x' is already defined at line 42. ERROR(43):
Symbol 'x' is already defined at line 42.
WARNING(42): Expecting to return type int but function ' WARNING(42):
Expecting to return type int but function '
ERROR(50): Symbol 'AlanTuring' is already defined at lin ERROR(50):
Symbol 'AlanTuring' is already defined at lin
ERROR(54): Symbol 'x' is already defined at line 52. <
WARNING(50): Expecting to return type int but function ' WARNING(50):
Expecting to return type int but function '
Number of warnings: 3 Number of warnings: 3
Number of errors: 35 | Number of errors: 34
RUN: c- chars.c- RUN: c- chars.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- everything02.c- RUN: c- everything02.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- factor.c- RUN: c- factor.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- factorial.c- RUN: c- factorial.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- init.c- RUN: c- init.c-
ERROR(15): Symbol 'y' is already defined at line 4. <
ERROR(17): Cannot index nonarray 'y'. <
ERROR(17): '=' requires operands of the same type but lh <
Number of warnings: 0 Number of warnings: 0
Number of errors: 3 | Number of errors: 0
RUN: c- moutest.c- RUN: c- moutest.c-
WARNING(5): Expecting to return type int but function 'e WARNING(5):
Expecting to return type int but function 'e
ERROR(19): Array 'aa' should be indexed by type int but ERROR(19): Array
'aa' should be indexed by type int but
ERROR(20): Array index is the unindexed array 'dd'. ERROR(20): Array
index is the unindexed array 'dd'.
ERROR(17): Array 'cc' should be indexed by type int but ERROR(17): Array
'cc' should be indexed by type int but
ERROR(25): Array 'aa' should be indexed by type int but ERROR(25): Array
'aa' should be indexed by type int but
ERROR(23): Array 'cc' should be indexed by type int but ERROR(23): Array
'cc' should be indexed by type int but
ERROR(30): Array 'cc' should be indexed by type int but ERROR(30): Array
'cc' should be indexed by type int but
ERROR(39): The operation '*' only works with arrays. ERROR(39): The
operation '*' only works with arrays.
ERROR(36): Array 'cc' should be indexed by type int but ERROR(36): Array
'cc' should be indexed by type int but
ERROR(42): Expecting type int in parameter 1 of call to ERROR(42):
Expecting type int in parameter 1 of call to
ERROR(43): '+' requires operands of type int but rhs is ERROR(43): '+'
requires operands of type int but rhs is
ERROR(44): '+' requires operands of type int but rhs is ERROR(44): '+'
requires operands of type int but rhs is
ERROR(45): '+' requires operands of type int but rhs is ERROR(45): '+'
requires operands of type int but rhs is
ERROR(46): Symbol 'parrot' is not defined. ERROR(46): Symbol '
parrot' is not defined.
ERROR(47): 'and' requires operands of type bool but rhs ERROR(47): 'and'
requires operands of type bool but rhs
ERROR(45): Expecting type int in parameter 3 of call to ERROR(45):
Expecting type int in parameter 3 of call to
ERROR(48): 'and' requires operands of type bool but rhs ERROR(48): 'and'
requires operands of type bool but rhs
ERROR(44): Expecting type int in parameter 3 of call to ERROR(44):
Expecting type int in parameter 3 of call to
ERROR(49): 'and' requires operands of type bool but rhs ERROR(49): 'and'
requires operands of type bool but rhs
ERROR(43): Expecting type int in parameter 3 of call to ERROR(43):
Expecting type int in parameter 3 of call to
ERROR(43): 'and' requires operands of type bool but rhs ERROR(43): 'and'
requires operands of type bool but rhs
ERROR(42): Expecting type int in parameter 2 of call to ERROR(42):
Expecting type int in parameter 2 of call to
ERROR(42): Expecting type int in parameter 3 of call to ERROR(42):
Expecting type int in parameter 3 of call to
ERROR(42): Too many parameters passed for function 'emu' ERROR(42): Too
many parameters passed for function 'emu'
ERROR(51): '*' requires operands of type int but rhs is ERROR(51): '*'
requires operands of type int but rhs is
Number of warnings: 1 Number of warnings: 1
Number of errors: 24 Number of errors: 24
RUN: c- ryantest.c- RUN: c- ryantest.c-
ERROR(7): Initializer for variable 'x' is not a constant ERROR(7):
Initializer for variable 'x' is not a constant
ERROR(7): Symbol 'x' is already defined at line 5. ERROR(7): Symbol '
x' is already defined at line 5.
ERROR(18): '==' requires operands of the same type but l ERROR(18): '=='
requires operands of the same type but l
ERROR(18): '==' requires that if one operand is an array ERROR(18): '=='
requires that if one operand is an array
ERROR(19): 'and' requires operands of type bool but lhs ERROR(19): 'and'
requires operands of type bool but lhs
ERROR(19): 'and' requires operands of type bool but rhs ERROR(19): 'and'
requires operands of type bool but rhs
ERROR(19): The operation 'and' does not work with arrays ERROR(19): The
operation 'and' does not work with arrays
ERROR(35): '=' requires operands of the same type but lh ERROR(35): '='
requires operands of the same type but lh
ERROR(34): '=' requires operands of the same type but lh ERROR(34): '='
requires operands of the same type but lh
ERROR(38): Symbol 'undef' is not defined. ERROR(38): Symbol '
undef' is not defined.
ERROR(37): '=' requires operands of the same type but lh ERROR(37): '='
requires operands of the same type but lh
ERROR(41): Symbol 'undef' is not defined. ERROR(41): Symbol '
undef' is not defined.
ERROR(44): Symbol 'undef' is not defined. ERROR(44): Symbol '
undef' is not defined.
ERROR(47): '=' requires operands of the same type but lh ERROR(47): '='
requires operands of the same type but lh
ERROR(46): '=' requires operands of the same type but lh ERROR(46): '='
requires operands of the same type but lh
ERROR(46): '+' requires operands of type int but lhs is ERROR(46): '+'
requires operands of type int but lhs is
ERROR(50): Symbol 'undef' is not defined. ERROR(50): Symbol '
undef' is not defined.
ERROR(49): '+' requires operands of type int but lhs is ERROR(49): '+'
requires operands of type int but lhs is
ERROR(53): Symbol 'undef' is not defined. ERROR(53): Symbol '
undef' is not defined.
ERROR(52): '=' requires operands of the same type but lh ERROR(52): '='
requires operands of the same type but lh
ERROR(52): '+' requires operands of type int but lhs is ERROR(52): '+'
requires operands of type int but lhs is
ERROR(56): '=' requires operands of the same type but lh ERROR(56): '='
requires operands of the same type but lh
ERROR(55): '=' requires operands of the same type but lh ERROR(55): '='
requires operands of the same type but lh
ERROR(55): '+' requires operands of type int but lhs is ERROR(55): '+'
requires operands of type int but lhs is
ERROR(64): Symbol 'foo' is not defined. ERROR(64): Symbol '
foo' is not defined.
ERROR(65): Symbol 'foo' is not defined. ERROR(65): Symbol '
foo' is not defined.
ERROR(66): Symbol 'foo' is not defined. ERROR(66): Symbol '
foo' is not defined.
ERROR(67): Symbol 'foo' is not defined. ERROR(67): Symbol '
foo' is not defined.
ERROR(68): Symbol 'foo' is not defined. ERROR(68): Symbol '
foo' is not defined.
ERROR(68): Symbol 'foo' is not defined. ERROR(68): Symbol '
foo' is not defined.
ERROR(69): 'x' is a simple variable and cannot be called ERROR(69): 'x'
is a simple variable and cannot be called
ERROR(69): '*' requires operands of type int but lhs is ERROR(69): '*'
requires operands of type int but lhs is
ERROR(69): Cannot use function 'test' as a simple variab ERROR(69):
Cannot use function 'test' as a simple variab
ERROR(71): Cannot use function 'check' as a simple varia ERROR(71):
Cannot use function 'check' as a simple varia
ERROR(72): Cannot use function 'check' as a simple varia ERROR(72):
Cannot use function 'check' as a simple varia
ERROR(72): 'x' is a simple variable and cannot be called ERROR(72): 'x'
is a simple variable and cannot be called
ERROR(73): Symbol 'c' is not defined. ERROR(73): Symbol 'c'
is not defined.
ERROR(74): Symbol 'c' is not defined. ERROR(74): Symbol 'c'
is not defined.
ERROR(76): Symbol 'foo' is not defined. ERROR(76): Symbol '
foo' is not defined.
ERROR(78): Cannot index nonarray 'x'. ERROR(78): Cannot index
nonarray 'x'.
ERROR(79): Cannot index nonarray 'x'. ERROR(79): Cannot index
nonarray 'x'.
ERROR(80): Symbol 'y' is not defined. ERROR(80): Symbol 'y'
is not defined.
ERROR(82): Cannot use function 'check' as a simple varia ERROR(82):
Cannot use function 'check' as a simple varia
ERROR(83): 'x' is a simple variable and cannot be called ERROR(83): 'x'
is a simple variable and cannot be called
ERROR(86): '=' requires operands of the same type but lh ERROR(86): '='
requires operands of the same type but lh
ERROR(87): '=' requires operands of the same type but lh ERROR(87): '='
requires operands of the same type but lh
ERROR(87): Expecting type int in parameter 2 of call to ERROR(87):
Expecting type int in parameter 2 of call to
ERROR(88): Symbol 'y' is not defined. ERROR(88): Symbol 'y'
is not defined.
ERROR(88): Too many parameters passed for function 'chec ERROR(88): Too
many parameters passed for function 'chec
ERROR(88): Too few parameters passed for function 'check ERROR(88): Too
few parameters passed for function 'check
ERROR(89): Expecting array in parameter 2 of call to 'fu ERROR(89):
Expecting array in parameter 2 of call to 'fu
ERROR(90): Not expecting array in parameter 1 of call to ERROR(90): Not
expecting array in parameter 1 of call to
ERROR(92): '-' requires operands of type int but rhs is ERROR(92): '-'
requires operands of type int but rhs is
ERROR(91): Expecting array in parameter 2 of call to 'fu ERROR(91):
Expecting array in parameter 2 of call to 'fu
ERROR(91): Too many parameters passed for function 'func ERROR(91): Too
many parameters passed for function 'func
ERROR(94): Expecting type int in parameter 1 of call to ERROR(94):
Expecting type int in parameter 1 of call to
ERROR(94): Not expecting array in parameter 1 of call to ERROR(94): Not
expecting array in parameter 1 of call to
ERROR(94): Too few parameters passed for function 'func' ERROR(94): Too
few parameters passed for function 'func'
ERROR(99): Initializer for variable 'x' is not a constan ERROR(99):
Initializer for variable 'x' is not a constan
ERROR(99): Symbol 'x' is already defined at line 97. ERROR(99):
Symbol 'x' is already defined at line 97.
ERROR(100): Symbol 'x' is already defined at line 97. ERROR(100):
Symbol 'x' is already defined at line 97.
ERROR(101): Variable 'x' is of type char but is being in ERROR(101):
Variable 'x' is of type char but is being in
ERROR(101): Symbol 'x' is already defined at line 97. ERROR(101):
Symbol 'x' is already defined at line 97.
ERROR(102): Symbol 'x' is already defined at line 97. ERROR(102):
Symbol 'x' is already defined at line 97.
ERROR(104): Symbol 'z' is already defined at line 103. ERROR(104):
Symbol 'z' is already defined at line 103.
ERROR(105): Initializer for variable 'y' is not a consta ERROR(105):
Initializer for variable 'y' is not a consta
ERROR(106): Initializer for variable 'a' is not a consta ERROR(106):
Initializer for variable 'a' is not a consta
ERROR(106): Initializer for nonarray variable 'a' of typ ERROR(106):
Initializer for nonarray variable 'a' of typ
ERROR(107): Initializer for variable 'b' is not a consta ERROR(107):
Initializer for variable 'b' is not a consta
ERROR(108): Initializer for variable 'd' is not a consta ERROR(108):
Initializer for variable 'd' is not a consta
ERROR(109): Variable 'e' is of type int but is being ini ERROR(109):
Variable 'e' is of type int but is being ini
ERROR(109): Initializer for nonarray variable 'e' of typ ERROR(109):
Initializer for nonarray variable 'e' of typ
ERROR(110): Array 'f' must be of type char to be initial ERROR(110):
Array 'f' must be of type char to be initial
ERROR(111): Initializer for nonarray variable 'g' of typ ERROR(111):
Initializer for nonarray variable 'g' of typ
ERROR(113): Initializer for variable 'i' is not a consta ERROR(113):
Initializer for variable 'i' is not a consta
ERROR(114): Initializer for variable 'j' is not a consta ERROR(114):
Initializer for variable 'j' is not a consta
ERROR(115): Initializer for variable 'k' is not a consta ERROR(115):
Initializer for variable 'k' is not a consta
ERROR(115): Variable 'k' is of type int but is being ini ERROR(115):
Variable 'k' is of type int but is being ini
ERROR(116): Initializer for variable 'j' is not a consta ERROR(116):
Initializer for variable 'j' is not a consta
ERROR(116): Symbol 'j' is already defined at line 114. ERROR(116):
Symbol 'j' is already defined at line 114.
ERROR(118): Initializer for variable 'j2' is not a const ERROR(118):
Initializer for variable 'j2' is not a const
> ERROR(127): Function 'retCheck' at line
125 is expecting
ERROR(129): Expecting array in parameter 2 of call to 'r ERROR(129):
Expecting array in parameter 2 of call to 'r
ERROR(130): Cannot return an array. ERROR(130): Cannot return
an array.
ERROR(127): Function 'retCheck' at line 125 is expecting <
Number of warnings: 0 Number of warnings: 0
Number of errors: 84 Number of errors: 84
RUN: c- tictactoe.c- RUN: c- tictactoe.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- undef.c- RUN: c- undef.c-
WARNING(3): Expecting to return type int but function 'i WARNING(3):
Expecting to return type int but function 'i
ERROR(10): Symbol 'undef' is not defined. ERROR(10): Symbol '
undef' is not defined.
ERROR(10): Initializer for variable 'x' is not a constan ERROR(10):
Initializer for variable 'x' is not a constan
ERROR(10): Symbol 'x' is already defined at line 9. ERROR(10): Symbol
'x' is already defined at line 9.
ERROR(14): Symbol 'undef' is not defined. ERROR(14): Symbol '
undef' is not defined.
ERROR(15): '+' requires operands of type int but rhs is ERROR(15): '+'
requires operands of type int but rhs is
ERROR(16): Symbol 'undef' is not defined. ERROR(16): Symbol '
undef' is not defined.
ERROR(17): '+' requires operands of type int but lhs is ERROR(17): '+'
requires operands of type int but lhs is
ERROR(18): Symbol 'undef' is not defined. ERROR(18): Symbol '
undef' is not defined.
ERROR(18): Symbol 'undef' is not defined. ERROR(18): Symbol '
undef' is not defined.
ERROR(19): '+' requires operands of type int but lhs is ERROR(19): '+'
requires operands of type int but lhs is
ERROR(19): '+' requires operands of type int but rhs is ERROR(19): '+'
requires operands of type int but rhs is
ERROR(22): Symbol 'undef' is not defined. ERROR(22): Symbol '
undef' is not defined.
ERROR(23): '+' requires operands of type int but rhs is ERROR(23): '+'
requires operands of type int but rhs is
ERROR(24): Symbol 'undef' is not defined. ERROR(24): Symbol '
undef' is not defined.
ERROR(25): '+' requires operands of type int but lhs is ERROR(25): '+'
requires operands of type int but lhs is
ERROR(26): Symbol 'undef' is not defined. ERROR(26): Symbol '
undef' is not defined.
ERROR(26): Symbol 'undef' is not defined. ERROR(26): Symbol '
undef' is not defined.
ERROR(27): '+' requires operands of type int but lhs is ERROR(27): '+'
requires operands of type int but lhs is
ERROR(27): '+' requires operands of type int but rhs is ERROR(27): '+'
requires operands of type int but rhs is
ERROR(29): Symbol 'undef' is not defined. ERROR(29): Symbol '
undef' is not defined.
ERROR(30): Symbol 'undef' is not defined. ERROR(30): Symbol '
undef' is not defined.
ERROR(31): Symbol 'undef' is not defined. ERROR(31): Symbol '
undef' is not defined.
ERROR(32): Symbol 'undef' is not defined. ERROR(32): Symbol '
undef' is not defined.
ERROR(34): Symbol 'undef' is not defined. ERROR(34): Symbol '
undef' is not defined.
ERROR(34): '+' requires operands of type int but rhs is ERROR(34): '+'
requires operands of type int but rhs is
ERROR(34): '==' requires operands of the same type but l ERROR(34): '=='
requires operands of the same type but l
ERROR(34): The operation '*' only works with arrays. ERROR(34): The
operation '*' only works with arrays.
ERROR(35): 'x' is a simple variable and cannot be called ERROR(35): 'x'
is a simple variable and cannot be called
ERROR(35): '+' requires operands of type int but rhs is ERROR(35): '+'
requires operands of type int but rhs is
ERROR(35): '==' requires operands of the same type but l ERROR(35): '=='
requires operands of the same type but l
ERROR(35): The operation '*' only works with arrays. ERROR(35): The
operation '*' only works with arrays.
ERROR(37): Cannot use function 'novalue' as a simple var ERROR(37):
Cannot use function 'novalue' as a simple var
ERROR(37): '=' requires operands of the same type but lh ERROR(37): '='
requires operands of the same type but lh
ERROR(38): Cannot use function 'intvalue' as a simple va ERROR(38):
Cannot use function 'intvalue' as a simple va
ERROR(40): Expecting type int in parameter 1 of call to ERROR(40):
Expecting type int in parameter 1 of call to
ERROR(41): Cannot use function 'novalue' as a simple var ERROR(41):
Cannot use function 'novalue' as a simple var
ERROR(41): Expecting type int in parameter 1 of call to ERROR(41):
Expecting type int in parameter 1 of call to
ERROR(42): Symbol 'undef' is not defined. ERROR(42): Symbol '
undef' is not defined.
ERROR(43): Symbol 'undef' is not defined. ERROR(43): Symbol '
undef' is not defined.
ERROR(45): Cannot use function 'intvalue' as a simple va ERROR(45):
Cannot use function 'intvalue' as a simple va
Number of warnings: 1 Number of warnings: 1
Number of errors: 40 Number of errors: 40
RUN: c- while03.c- RUN: c- while03.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
*/* End of testing * End of testing
d**********o
发帖数: 1321
268
罚单(Wrote on 20130916)
Dear Sir,
The ticket situation back into that day was: I was taking a long drive from
CA to my university, and I had been driving 450 miles already. It was a
small town, I failed to notice the first "45" speed limit sign, and as far
as noticed the second one, I slowed down immediately, but still the
policeman chased me and gave me this ticket.
I had been a bad driver years ago back in 2010 and 2011. I got a ticket from
CA in Dec 2010 on my way back from ID to CA, and one in (Apr or May) 2011
in (some state) on my way from CA to my university. Those were all the long
drives back and force between my university and CA.
But after those two tickets I have changed. So on my way back from XX to CA
in May 2011, I did not speed at all. And in the end of July 2012, when I
decided to move back to XX from CA to continue for another master's degree,
I drove safely all the way 60 mile / hour back. And on May 17th, 2013, I
took all my time drive slowly and safely at the speed of 60 mile / hour a
whole day from XX to CA trying to search for an internship, and I didn’t
speed, neither. All the history since the second speeding ticket in my life
proves that I have changed to be a good driver already.
I am an international student right now studying computer science in
University of XXXXXX, and I am self-supported. The university did not
provide any financial help for me at all, which means I have to pay more
than $10,000 per semester for my tuition fees. And these tuition fees have
made me into trouble already. Besides, I have been forced to pay a more than
$1200 emergency ambulance fee from XXX and AAI this spring and recently,
among which $832.20 was for ambulance expense, and 50% of it, $416.10 for
AAI collection fee. At that time I didn't have health insurance, and the
ambulance was called by the policeman, not me. My life has been made
miserable enough by these government things. And I have loans from my credit
card and borrowed several thousand from my friend. Please help consider my
situation.
I mean I do realize I missed the first "45" speed limit sign, but as far as
I noticed the second one, I slowed down immediately. Besides, all my cars,
Mitsubishi 96 before, and Buick 98 now, I stepped on the gas pad all the way
even on high/free way. So it was possible that my speed came to be 61 mile
on "55" IXX free way speed limit, but it won't be long. I would have reduced
it immediately once I realized it from my meter or GPS.
Please help consider my situation, and I will try my best continue to be a
good driver with no speeding. You can reach me at (xxx) xxx-xxxx, (me~~)@
gmail.com, or my current address is:
XXX AAA str
XXXXX, XX 55555
Thank you in advance and I look forward to hearing from you.
(me~~)
d**********o
发帖数: 1321
269
软件工程课结束(1)
激情是什么,中考结束后,激情是放牛的孩子仰卧在青草地上,眼望着蔚蓝的天空中白
云席卷而过,心中无限畅想着自已会考出怎样的成绩,自已真的会去那个县城里的一中
么,还是远方会飞来一只野鹤,把我运往天外仙境,就是爸爸妈妈口中说过提到过的小
表姐所在的美国、有个远亲的舅舅也在美国,他会管我么,他会乘鹤远来么?我钦点、
细数、寻找着天空中飞鸟的痕迹。
后来再长大一点儿,就真正明白激情是每天早上醒来,都希望在接下来的一天能干成任
何自己想要、喜欢做成的事情,是能够投入120%的热情、集中精力投入这件事,我想我
也还算是属于富有激情的性情中人吧,总希望自己能够兴奋地投入到自己有兴趣的工作
中去~~
后来在新的专业领域,系里的大牛在某次他的课堂中提到,computer science的人要富
有激情才对~~!大牛所提倡的激情钻研、探求科研高峰我一定会点赞的!想当年,lisp
的那个作业我的500行代码,我也是在之前周五写了一晚上、交作业前的白天干了一整
天,交作业前的晚上还在继续往前赶着写,一直写到了deadline前五小时的凌晨四点的
啊;decision tree的时候我的office mate说我写得难写得痛苦就不要再写了,可只有
坚持下去才有可能胜利啊~~ 同样的原理,考完编译课的那晚一一11月6日的晚上,当
第二天我就需要向大牛汇报我的软件工程课项目时,我有技术上的难点,我就呆在网上
使劲地搜,搜了一晚上,搜到了凌晨2:30才回家休息!第二天似乎校园里的人又都知
道了我可能又写不出来作业了,居然干到了凌晨两点半,走在路上他们对我笑笑的~~
d**********o
发帖数: 1321
270
软件工程课结束(2)
后来第二天,我去见了大牛,他是我们两个学生(另一个中国女孩已经去工作了,她大
概已经不再需要这份成绩了)的软件工程课的代课老师。我告诉了他我目前技术上的难
点,现有的两种解决方案为什么都达不到他的要求后,坐在大牛的办公室里,大牛用他
的墙壁上的大屏幕,同我一起搜,搜了大概二三十分钟后,大牛充分肯定我的两点困难
在这种语言里是没有解决方案的;他说他相信我编程序是没有问题的,只是我们一开始
在选择这个项目的编程语时没有注意到这些个细节问题。大概也看我写编译课的作业写
得痛苦吧,就要我不用再写这个项目的代码了,只要把我们春天没有写完的报告按照这
样的计划实录写完就可以了。这样我的python代码就那么五六个嵌套的module就那么扔
在那里了(程序过于简单,我就不再贴这里了)。
后来的期末考试是我从网上搜了一本软件工程的pdf,然后我对老师讲我想读这本pdf,
也可以为将来的面试作准备;导师同意,我就爬回去读;可惜一直以来我对概念总是不
太开窃,读得落花流水、稀里哗啦,结果最终见大牛review那天我把自己看过的有印象
的概念、知识点漫天海聊地说了十分钟后,他又边翻边提问再讲解地把一些相对重要、
容易混淆的概念帮我过了一遍这门课便算是结束了。倒是到下学期,准备面试的时候,
那本pdf又被自己狠翻了几遍、还用latex作了一本术语索引手册,以备电话面试时不时
之需!
这次见了大牛、这门课基本解脱之后,我还跑回去对同一个office里的小伙伴说,我把
网上能搜到的解决方案都向大牛作过汇报,但一番半个小时的搜索后,就这种语言,我
搜不到的解决方案他也搜不到没有办法,还很是为自己的搜索能力洋洋自得了一番~~ (
汗!:)
此刻的自己也会去想,如果我当初是随大家一起选大课,我随大家一起作项目,我对陌
生语言的恐惧会不会消失得早一些,我会不会成长得再快一点儿?现在这个项目对自己
来说已经不是问题,但那时候的我们、自己何尝不是手足无措呢,要不然,怎么就偏偏
选了个python来写,怎么看怎么不搭啊~~ ^_* 但我也还是得感激大牛,毕竟如果他不
给我们两个开小课,除非他们允许我跳过这门课,我想要两年完成的课程就更紧张了!
相关主题
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
进入WebRadio版参与讨论
d**********o
发帖数: 1321
271
软件工程课邮件
** interview question pdf
(me~~) ((me~~)@XXXXXX.edu)
Sent: Thursday, November 07, 2013 11:15 PM
To:
cs502代课老师 [cs502代课老师@XXXXXX.edu]
Attachments:
AC16_sol.pdf‎ (730 KB‎)[Preview on web]
Hi, Dr. cs502代课老师,
I have attached the pdf you just helped verified, and I will work on the
design part documentations so that I can get the writing part job done next
week when we meet.
thanks,
(me~~)
** UpdatedChofCmteform.doc
cs502代课老师
Sent: Tuesday, October 22, 2013 11:28 PM
To:
(me~~)
Attachments:
UpdatedChofCmteform.doc‎ (37 KB‎)[Preview on web]
Here is the form
-cs502代课老师
早就说过写得急的时候就难免会忘记内容,第二次大哭后的第二天,当我茫然无助地跑
去找大牛的时候,因为别人为自己留了一条生路,所以为表达感激,我就对大牛说过,
如果我有任何可能机会在这个国度生存下来,我会为系里、为那些真正有科研兴趣的老
师捐点儿钱以示感谢~~ 大牛也还好说话,让我换导师后,还帮把换导师的表格发给了
我。想来,那个学期的第二次哭应该是在这前一两天吧。
** From: cs502代课老师 (cs502代课老师@XXXXXX.edu)
Sent: Tuesday, December 10, 2013 5:16 PM
To: all his MS, ph.d students, course students
Subject: Reminder cs502代课老师 out of town
All,
Just a reminder that I am out of town this week. If you wish to meet with me
during finals week, email me and we can pick a time; since final exams
affect schedules.
-cs502代课老师
** cs502 meeting
(me~~) ((me~~)@XXXXXX.edu)
Sent: Wednesday, December 18, 2013 7:19 PM
To:
cs502代课老师 (cs502代课老师@XXXXXX.edu)
Attachments:
image001.gif‎ (356 B‎)
Dr. cs502代课老师,
We have agreed to meet once more to make the final but I have not been able
to write to you to schedule a meeting time yet. Tonight I will work in Bob's
from 4pm, and on Friday 10:00-12:00am for cs520 exam, all other periods
from today I am open.
Please help pick an available period that works for you as well so that we
can meet, and I will try my best to read more of that interview questions
pdf to make the report. Please simply let me know when you have the schedule
.
thanks,
(me~~)
** RE: cs502 meeting
cs502代课老师 (cs502代课老师@XXXXXX.edu)
You replied on 12/19/2013 5:24 PM.
Sent: Thursday, December 19, 2013 7:58 AM
To:
(me~~) ((me~~)@XXXXXX.edu)
How does 2pm Friday work for you?
-cs502代课老师
** RE: cs502 meeting
(me~~) ((me~~)@XXXXXX.edu)
Sent: Thursday, December 19, 2013 5:24 PM
To:
cs502代课老师 (cs502代课老师@XXXXXX.edu)
Dr. cs502代课老师,
2pm makes it so much convenient for me! By then I will have finished all my
exams. Yeah I will meet you in your office at 2pm tomorrow then.
thanks,
(me~~)
d**********o
发帖数: 1321
272
hw2 & hw3 Grades
编译课那个星期三期中考试,考完试的当晚,收到了代课老师发给我们的hw2、hw3的成
绩。这成绩被老师压得太低了,低得完全超出了我的想像。我的第二次作业就只有一个
变量设置的问题,第三次作业(hw3, not hw3b)我生成的msg是相对比较少,但搭好
traverse framework的工作量也不该只是老师给出的这点儿分数啊?!!正如第二次作
业后的邮件里、和教室里课堂上老师所表现出的,他试图自始自终就给我很低的成绩(
为让我没有翻身的机会?),但都被我一再反水!现在这种情况下,我一收到邮件便就
第一时间给老师发邮件,我想看成绩细节、知道评分标准,我要坚绝保证上完这门课时
自己还是好好的(结果是,这门编译课结束后,我还是被“玩”残了~~!!)!
亲爱的读者,我很希望能把自己的成绩都原封不动地贴出来,只可惜,很多我写过的邮
件、local 自己写过的file,比如发给DMV的邮件,自己都有至少一个存根的版本,但
那门课的成绩因为一直是贴在网上的,我竟然没有存,徒有指向成绩网址的空空如也的
link而已!我想说,此时回忆这门课的自己,也感觉很遗憾~~
d**********o
发帖数: 1321
273
hw2 & hw3 Grades与代课老师的邮件
** Your CS445 Grades
cs445代课老师@XXXXXX.edu [cs445代课老师@XXXXXX.edu]
Sent: Thursday, November 07, 2013 6:30 AM
To:
(me~~) ((me~~)@XXXXXX.edu)
Your email can be found at http://ec2-54-200-16-181.us-west-2.compute.amazonaws.com/Results/msgs-(me~~)-txt-eWwSe4MXrcii2vPSBpnDS
** Your CS445 Grades
cs445代课老师@XXXXXX.edu [cs445代课老师@XXXXXX.edu]
Sent: Thursday, November 07, 2013 6:31 AM
To:
(me~~) ((me~~)@XXXXXX.edu)
Your email can be found at http://ec2-54-200-16-181.us-west-2.compute.amazonaws.com/Results/msgs-(me~~)-txt-fDMh1yp7EVJRDSkVucUXf
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Wed, Nov 6, 2013 at 10:44 PM
subject: Hw2 & hw3 grades __ schedule appointment
mailed-by: gmail.com
Hi Dr. cs445代课老师,
I have been waiting for you during office hour today but I failed to see you
.
I received email regarding my grades for hw2 and hw3 a moment ago, and I
feel the grades for me were way too low than I have expected. I want to
schedule a time to meet you sometime tomorrow to discuss about the grades
and potential make up to survive this course.
I will be occupied tomorrow during 11:30-12:30 for cs520, 1:30-2:20pm for
cs445, and 3:00-3:30pm for cs502. I will be open any other time from 9:00am-
6:00pm. Please let me know if you have any period open so that we can get
good understanding about my grades.
Thanks,
(me~~)
** from: cs445代课老师
to: (me~~) <(me~~)@gmail.com>
date: Wed, Nov 6, 2013 at 11:18 PM
subject: Re: Hw2 & hw3 grades __ schedule appointment
mailed-by: gmail.com
signed-by: gmail.com
*** Quote: On Wed, Nov 6, 2013 at 10:44 PM, (me~~) <(me~~)@gmail.com> wrote:
Hi Dr. cs445代课老师,
I have been waiting for you during office hour today but I failed to see you
.
I received email regarding my grades for hw2 and hw3 a moment ago, and I
feel the grades for me were way too low than I have expected. I want to
schedule a time to meet you sometime tomorrow to discuss about the grades
and potential make up to survive this course.
*** Re: The only opening I have is at 4:30 tomorrow.
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师
date: Wed, Nov 6, 2013 at 11:25 PM
subject: Re: Hw2 & hw3 grades __ schedule appointment
mailed-by: gmail.com
Dr. cs445代课老师,
Yes, I can do 4:30pm tomorrow. I will see you then in your office to discuss
about hw2, hw3 grades, potential make up grades, and all possible solutions
for surviving this course.
If it is possible, please also help grade my exam for me so that we can have
more information for me for this course. If you do not have time grading
the exam by then, please just simple ignore this paragraph I wrote.
I will see you tomorrow in your office at 4:30pm.
thanks,
(me~~)
d**********o
发帖数: 1321
274
期中考试后第一堂课(1)
小伙伴们或许还记得春季旁听导师算法课时,期中考试前对过于简单的知识点不厌其烦
地讲了又讲,讲到聪明有悟性的学生需要装笨的程度~~ 那这门编译课的review呢?考
前实在没有其它人提,后来坐我后面的一个美国男生问老师考前有review吗?老师对这
个同学的提问显得鄙夷,同学们就不太敢讲话。所以最终考前是有review的,但是是以
光前进的速度进行的,所以就半堂课的review时间等老师讲完了,我原本不懂的现在可
能懂了个方向;我原本懂的大概已经不懂了~~ *_^ 而且真正的考试题目与review的内
容并不是很相关。
那天是应该是周四吧(周三考试、周四还有课的),我们上午有编译课。这是期中考试
考完后的第一堂课,老师上课第一句话是说,我就知道你们如果知道作业成绩后可能期
中考试会考不好,所以等期中考试考完才把成绩发给你们!是啊,说得多么合情合理、
人性化、尽显人文关怀,可实际上呢,我们也缺少了对自己两次作业的知情权,而且如
果知道作业成绩,考试前会能准备得更充分的,我们同样也就缺少了准备期中考试的充
分必要动力~~
d**********o
发帖数: 1321
275
期中考试后第一堂课(2)
激情是什么,是在自己受到不公正打击时同敌人作最顽强的半争。想把别人的成绩就这
么不明不白地压死也没有那么容易!哪怕最终我也还不得不死,那我也一定要尽自己的
最大努力同敌人反抗到生命不息、战斗不止的最后一刻!我对自己说,从这一堂课起,
我要主动,自己课堂上没听懂、听不懂的内容就当堂直接问老师,比如这第一堂课时我
就问了,你前两堂课讲的framework,function return pointer, frame pointer的框
架结构讲得不是很透彻,我还理解得不透,你能不能把这个框架结构再简单地REVIEW一
遍?这是这学期这门编译课上自己第三次发言,虽然是以弱者的姿态。
我是班上仅有的两上活宝女生之一(另一个早提到过了,坐在我左边,基本上什么也不
会,大概只能把她的第一次作业写得出来),老师这堂课是要主打提携女生、“宠爱”
女生的牌么,还是借对我这样一个弱者姿态加以“宠爱”的方式来为他作这个学生很笨
的广泛宣传增加力度和渗透性?我的这个问题提出后,代课老师像是保护国家一家保护
动物般“呵护宠爱有加”地把这个compiler的大的架构结构从头到尾讲了整整一堂课。
虽然我很清楚,这个我不太懂的问题我提问前班上真正理解的小伙伴未必过半,但像是
一种情绪反溃,我还是直接顺了他的意,略带委屈地问他,你这堂课开始的时候说A不
是某某状况,那你现在为什么又要去用A?言下之意,你现在讲的同你这堂课刚开始提
出的那个什么什么观止是矛盾的呀?(对不起,上学期的上课笔记我没有带在身边,知
识点的细节我已经忘记了,留在记忆里的更多的是自己心里那份不平,和这堂课前前后
后提问的人、答题的人说话的语气腔调和同学们的情绪反应,大家一一包括我自己也都
很讶异啊~~ 大概只有那个老头是个例外。)
d**********o
发帖数: 1321
276
今天就只能写到这里了
写累了~~
预告一下:
明天就该大哭第三场了
好戏正在上演
可演的人也会累的
亲,明天再继续吧 ~~ ^_*
b*s
发帖数: 82482
277
不着急,悠着点……

【在 d**********o 的大作中提到】
: 今天就只能写到这里了
: 写累了~~
: 预告一下:
: 明天就该大哭第三场了
: 好戏正在上演
: 可演的人也会累的
: 亲,明天再继续吧 ~~ ^_*

j*****x
发帖数: 18139
278
嗯,慢慢来

【在 b*s 的大作中提到】
: 不着急,悠着点……
d**********o
发帖数: 1321
279
两位大神都肿么说
也信任狐帅滴文武韬略
那偶就服从纲领性指挥--慢慢写~~
*_^
C****a
发帖数: 7186
280
艾玛 这啥代码啊也太长了!
我手机都快死机了。。。

【在 d**********o 的大作中提到】
: 今天就只能写到这里了
: 写累了~~
: 预告一下:
: 明天就该大哭第三场了
: 好戏正在上演
: 可演的人也会累的
: 亲,明天再继续吧 ~~ ^_*

相关主题
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤博士还有两年毕业,今年要孩子还是明年要孩子
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
进入WebRadio版参与讨论
d**********o
发帖数: 1321
281
偶不是故意的
侬要怪就7怪偶们老师吧~~
偶跟站你一边 :)

【在 C****a 的大作中提到】
: 艾玛 这啥代码啊也太长了!
: 我手机都快死机了。。。

b*s
发帖数: 82482
282
反正马上iPhone 6就要出来了,还是蓝宝石屏幕的,不着急……

艾玛 这啥代码啊也太长了!
我手机都快死机了。。。

【在 C****a 的大作中提到】
: 艾玛 这啥代码啊也太长了!
: 我手机都快死机了。。。

d**********o
发帖数: 1321
283
hiahia~~

【在 b*s 的大作中提到】
: 反正马上iPhone 6就要出来了,还是蓝宝石屏幕的,不着急……
:
: 艾玛 这啥代码啊也太长了!
: 我手机都快死机了。。。

d**********o
发帖数: 1321
284
第三次大哭(1)
那天傍晚4:30我准时出现在代课老师的office门口,但我到后没过几秒钟,他的门口
也站着一对可能是男女朋友的两学生,而且感觉他们也是来这里等老师的!他们是有些
奇怪为什么我会出现在这里,我也很纳闷他们呀,这是老师在邮件里安排好的,老师又
为什么要如此安排呢?
同样的三个学生站在门口等着,但是等到导师回到office,他就只把那个男生先领了进
去,我很尴尬呀~~ 那个老师把那男生领进去的时候连招呼都没同自己打,我为什么要
受这份委屈?至此,我已经很冲动想要骂人了,这算哪门子的事啊,时间是你安排的,
你没时间就是没时间,你就算是记错自己时间表了,你也好歹跟人家提一下,对别人来
说也是一种起码的尊重!你这样,难受就是你这个糟老老头子故意这么安排的?你一就
差要进土的糟老头子,人家比你至少小上两个轮回,要不是为了学习为了成绩,谁稀罕
向你问问题啊?可是自己的成绩已经被他变态地压低到难以忍受,我还是得等,带着委
屈痛苦地等!心里也暗想,等到这门课结束了,我就再也不要同这老师有任何联系了~~!
我坐在系里main office前的沙发上等他们;想到被这个传说中的变态把自己成绩压这
么低,想自己这一次留下也不过是要为自已的生活寻找一份出路,就早就有点儿情绪失
控了,泪眼朦胧。这期间有老师一一比如之前cs210 programming的老师,从走道走过
,AI老师的office就在走道对面,他们好几个人应该都注意到坐在那里的我表情情绪有
些异样。
d**********o
发帖数: 1321
285
第三次大哭(2)
后来大半个小时后,他们结束了,我去同导师谈,那天我终于还是没能控制住自己的情
绪大哭一场。
其实,对系里给我的作业成绩,从cs336的C,从cs121的C换成B,从其它所有功课全拿B
,我的理解是系里不支持两年毕业,但毕竟我们有“君子协议”在那里,看在系里其它
同学也都不容易的份上,我其它所有功课都拿B我也都忍了,可为何就这个老师偏要与
自己过不去?能够想得清楚的原理,只能是系里的老师鸡蛋里挑骨头、对我太苛刻了,
想来我还是得从大的方向着手来沟通呀~~
也不知道什么时候、怎么弄的,好像可能是一开始眼泪就在往外掉了吧。
我对老师讲说,当年暑假写邮件讨论选课的时候,要不是你允许我选课,我压根就早就
直接回中国去了;哪里还在这里受你们百般折磨?当初,就是因为你允许我选课,我才
留下来的;就是因为你,you made my life miserable here, now!大概人处于悲伤状
态,话也说得极其直接。老师强调说,不是因为他,是我自己作得决定!我心生好奇,
就是因为你,怎么可能不是你,不是你,我的生活会与现在完全不同!但他说话的语气
温和,不是要与我argue,而argue也不是今天的重点,暂且放他一马吧~~
d**********o
发帖数: 1321
286
第三次大哭(3)
“I have agreement with Dr. cs210代课老师, why can't you guys just let me
go, let me graduate smoothly?”为什么你们就不能让自己好好地毕业呢?我只是想
毕业而已,为什么你就要这么硬把人逼迫着强留在这里,不允许别人正常毕业?导师说
他没有逼我,没有要留我不让毕业,我就说了,你说的是没有,但你已经是在用成绩逼
迫别人毕不了业!他只是说他没有,对压成绩的事不提。
这次返校,我能清楚地感觉到自己身体一年不如一年;第一学期就发作过一两次;这年
早前四月份不太舒服的时候还去校医院看过医生,从2009年春夏有所觉察看医生开始,
早就应该做一次超声波检查的,但受困于自己没有足够的经济来源还在一直拖着没做。
因为经济上受困,医生说做一次那种仪器检查,如果只作一侧检查(而不是双侧的话)
,一个有效的检查大概要花$1000左右,而我买的ISO的学生保险最多只能报$400,所以
我一直都没能好好看病。刚刚过去的九月底食堂里打工的那次身体不适,来得太急身体
也虚脱得厉害,我很担心自己的身体健康~~ 而且这病对自己影响严重,会对自己造成
严重的不良后果的!我想我的病已经这么严重了,在自己没有经济能力的情况下,不管
系里、学校里能不能提供任何的帮助,知会系里的老师,对我来说,是必要的。别人只
有在知情的情况下才可能提供有可能的帮助,如果你的经济状况、身体状况别人根本就
不知道,别
人又有多少可能会跑来帮你?我哭着、强调着,心想着,这个老师应该会把我的实际情
况反映到系里去的吧~~
d**********o
发帖数: 1321
287
就只写到这里了
算了,
我还是明天再接着写吧~~ :)
d**********o
发帖数: 1321
288
第三次大哭(4)
见我说得这么悲惨,老师试问我是什么病会有这么严重,我不方便细说也不知道学术用
语的英文单词,就说是只有女生才会生的病,而且会与将来的生育能力紧密相关,千真
万确会造成严重不良后果的,我可不想将来生不了小孩~~!
老师仿佛已经猜到是哪类病了,接着问我说,“Have you ever tried to touch it?
How do you feel when you touch/push against it?”"I feel it all the times,
and I can feel/sense the difference compared to any other place when it
comes back to its natural shape!" 不防去试想一下,一个吹鼓起来的气球,当你用
一根指头把某个点按下去后,气球返弹回来时那份张力会是什么样子的?我向问话的老
师竭力地描述着,我的肚子里就长有这样的东西呀。
让我非常意外的是,老师竟然接我的话说,他的wife也得过这样的病,"And that's
the reason we don't have any child!"!我心里始终担心着的石头总算是落了地。人
们都说同病相怜,得病的虽然不是他,也是他至关重要的人,与他休戚相关,很难说他
就没有一点儿遗憾吧。知道了我现在的悲惨状况,他们一一代课老师的他,和系里其它
老师们应该都不会再那么过分地为难我了吧!
d**********o
发帖数: 1321
289
第三次大哭(5)
我就在家乡的省会城市上大学,记得上大学时候的某个五一期间,离家近放假刚从家里
回来,班上的几个男生、学生班主任和宿舍里的女生,我们一起出去到校园里照相,也
是借了梅雨季节雨过天晴的清新,与我同一宿舍的情敌竟然会受不了刚从家乡回来的自
己眼神心思纯净,受不了我的呼吸“有家的气息”(这是她原话),竟然不敢再同我们
一起照相,拉着她的同是体育生的同宿舍小伙伴就照了一张相就找借口逃跑躲掉了~~
*_^
为什么自己这半辈子都对雨过天晴大自然的清新有着如此深切真切执着的向往?是因为
它浸透着我整个大学期间的年轻时候的黄金年华?是因为我出生成长在这样一方水土?
还是那个幼年敏感的孩子内心里对那个自己坚定地认定错了的爸爸、对那个春夏交加的
晚上一起出去田野里打鱼的爸爸有着深切的感情,只是那时的自己不知道而已?我想念
、怀念自己出国前前半生的顺遂,而现在出门在外的自己这么多年来经历着种种磨难,
我枯萎干涸在这异国他乡的荒郊野岭里~~  一如走过一年钢丝绳的惊险后那场惊心动
魄的遇见,此刻的自己十分想念QQ群里偶滴大神和一起讨论、分享过的小伙伴们~~;)
在代课老师office里痛哭的时候,我希望天下雨,我想念家乡的梅雨季节,“I have
never been home yet ever since I came here in US. I haven't been home for
seven years”,“ I want to go home~~”
d**********o
发帖数: 1321
290
第三次大哭(6)
我在老师的office里大哭着,哭干自己的每一滴血泪,哭回自己的家乡,哭回那个小时
候的自己,我是怎么了,小时候的自己多么快乐!
可我还是不服啊,他说没有压低我的成绩就没有压低么?我不信,我压根儿就不信我的
分数怎么可能那么低?我就还是对老师说,我要老师把班上所有同学的作业摆出来,公
开公平地看待每一个学生的作业考试!我对老师说,我要查成绩,我要向学校报告老师
偏心、给成绩不公平!老师说从他那里查成绩是不可以的,他也不可能把其它学生的作
业、考试成绩公开给我看。但是,我可以报告给学校,学校还真有这样的机构!于是他
自己上网找,给我写了个那个机构的电话号码。谁要他的破烂电话号码,有他这样的老
师如此猖狂地镇压学生成绩,天下乌鸦一样黑,学校又何尝不会同流合污,会有公正、
清白可言?说出那种话的自己也不过是想要发泄发泄自己心中的怒气罢了。
六点钟,老师说他要回家。我是五点多钟进老师office的吧,但现在也真的是晚了,虽
然正事一件都还没干,但我也不能说不允许代课老师回家吧,于是撤退~~。
相关主题
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
请教一下各位教授郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙
offer选择,请支招求助,我该接受这个教学职位吗?
进入WebRadio版参与讨论
d**********o
发帖数: 1321
291
与导师的绯闻(1)
第二天周五,老师早就在之前的课堂上提到、安排了一个coding section,这样同学们
写作业有困难的可以在这个课堂上问他。很奇怪的是这天来的小伙伴们的表情都很怪异
,似乎他们瞬间都有了心思。坐我左边的女生来了,但她是落在最后面的,那些第二次
作业的语法啊什么的,她好像都还没有听懂,没有写完。其它有几个男生,奇怪的是
cs210坐我前面我们都分别写出了lisp tic-tac-toe的男生居然会来这个课堂;更奇怪
的是一个留着大胡子的美国本科生男生“客串”(因为后来我们一起写作业的时候他表
现得很聪明的,应该根本就不需要多问老师什么问题嘛)来听,而且他还带来了餐馆里
打包的中国菜在课堂上吃!
后来接下来的周一还是周二上课课堂上,老师用笔记本显示一个什么内容,秒show了一
下他的桌面,上面是一小男孩、一小女孩分别骑着一匹马并排站在山野里的卡通画面。
这一秒,我也听到了课堂上有小伙伴情不自禁发出的唏嘘声,想来他们的表情也很惊奇!
到这时,我这颗榆木脑袋终于开始去想,在他们眼里,大概一一这个代课老师对我有那
么点儿那个什么意思?回想他office里养着的那些树藤蔓,他这门课主页上的骑马照片
,这是一个即将退休、行将入土的人啊,人一辈子他已经过完三分之二,这怎么可能?
完全没有可能的事啊!
d**********o
发帖数: 1321
292
与导师的绯闻(2)
而到这时,我也开始注意到,小镇上舆论早就已经炸开了。一起上课的同学们、系里的
老师们甚至开始传说我这个学生粘着这个代课老师,总是下午很晚去找老师~~ 天地良
心,我总是挑着周二周三office hour才去找的老师;下午傍晚就算是去找他也就那么
两三次,而且还都是邮件里早就先预约好的。如果老师没有把时间定成那样,我也不可
能去找他的呀!
我5月份去加州之前买的车,车title我一直都还没有收到;我还得去DMV再去申请一次
(这个title我申请了三次,第三次让寄至DMV才算真正拿到手,后来知道前两份都被他
们寄到前住址去了);在office里,帮我服务的妇人与我聊天说,这个小镇麻雀虽小、
五脏俱全,发生过很多有趣的故事。妇人看着我的表情,让我觉得,我这个一直以为自
己是那站在高高的山岗上看着日出日落、潮起潮落傻瓜笨蛋,到了这一刻,总算知道自
己也是那个傻瓜笨蛋眼里所见到的周围那旋转的世界里的一颗沙子、一颗浮躁跳动的尘
埃,也已然成为了这个小镇故事的一部分。
早前时候,我花很少的钱买了个微波炉,小镇上的人、学生似乎还很鄙视歧视;后来等
我买的自己学生办公室里用的打印机到达的时候,他们终于不再说话了。那天我去邮局
取网上买的打印机的墨盒,轮到我时,是一位四十岁左右的大叔serve for me,他让我
等着,他去里面帮我去找。他回来过一次,同我再确认一个小细节,然后就又进去再帮
我去找。那个下午四五点钟的时间段,小镇上来这里办事的人还挺多的,看着长长的等
待队伍从排到门外一直变短变短再变短,短到最后就剩下了聊落的、不成队形的两三个
人。当然最终,我还是取到了自己想要取回的墨盒。
这天这个世纪长的漫幽远绵长的等待,让事后的自己我感觉到,那个服务员、那位大叔
那天是故意要我在那里等的。他希望用他自己的人生阅历、价值判断,和强加的这份等
待,让我明白一一等下去,只要坚持等下去,我就一定会等得到我想要的!*_^
d**********o
发帖数: 1321
293
与导师的绯闻(3)
其实,我心里也有自己的答案。
当两条直线、两段截然不同的人生在这一刻相遇,碰撞出刹那芳华,但它注定短暂易逝
,这一一是完全不可能的事!我与表哥感情很好,那场珍藏着的告别,他给了我这辈子
最宝贵、温暖的感动和记忆。比自己大13岁的表哥,此时的自己尚且犹豫,初步估计一
一这是又一匹比自己大上大概25岁的野马(自负、桀骜不驯,我大致猜得出属相,但我
猜不出星座),我怎么可能去考虑他,这怎么可能?
早前我就说过,我这人心里长了草、谈起恋爱来,十匹骡子也把我拉不回来,其实这话
也可以用到我的哭上去。我这人一旦一阵情绪上来,真是十匹骡子也拉不住,非得哭到
地动山摇、彻底崩溃、累了再慢慢平静平息下来不可!虽然那天在那种情境下,换成任
何另外一个代课老师,我都一定会情绪崩溃,但不一样的老师,我大概也还是不会崩溃
、发泄到那么彻底吧!这还实在是一个处在中年危机的女人!
在这之前,早在暑假从加州回来后不久,在那份对A和组里小伙伴的无尽的想念里,我
早就已经灵魂出窃了一一不管我多么想要留住那份珍贵的记忆,此时的感情却由不得我
来作主。我自始自终都从来不曾想过与代课老师有过那种可能性,我是绣逗到这一两天
才明白这事的,那为什么之前周四的课堂上,当老师对女生有所“宠爱”时,为什么我
那堂课最后一个问题会提得带上了委屈的语气?我感到委屈的是对表哥的感情,是对这
代课老师(虽然那时的自己并没有意识到),还是我给单得太久了,对别人的关心有着
极度渴望?我还真是需要好好反醒一下自己!
d**********o
发帖数: 1321
294
与导师的绯闻(4)
我对自己学习上的反省总是来得彻底洒脱、荡气回肠(QQ群里的小伙伴们应该是对我这
一点儿再熟悉不过了*_^),然而要说感情上的反醒,我大概就只能“呵呵”了,因为
我经历有限、不懂爱情的呀~~ 还是专家们的观点、意见更透彻权威点儿,那还是借用
星象老师的预言来解惑吧。
有位星象老师在狮子座2014年年运中提到说:“至于本来就“不乖顺”型,则很容易受
外界“积极爱慕者”之害,爱慕过头了害你被误解,或擦枪走火演变成不伦,都可能是
婚姻的灾难。也许该去理解“背后动机”,有太多“潜意识运作”,也许不是因为风花
雪月而爱,是太渴望人陪,所以谁靠近就把能量投射在对方身上,因为他是解救你于脆
弱时的人,所以误以为是爱;或期待什么事发生可以改变无聊的生活,所以不想控制。”
到这里也就很清楚了,这不过是一个闹着中年危机的单身女人,被一个相对“变态”的
老师折磨得有些喘不过气而已!如果这就说明我喜欢这个人,甚或是爱上一个人,那我
一定是受虐狂,这个小镇、社会也紧接着就瞬间变得疯狂了~~!
对啊,这个小镇,又何至于会有这样的流言呢?假像都是老师自己制造的,当人们愿意
去顺应这样一种假象的时候,小镇便也就屈服、臣服在大学教授这样的权威之下,舆论
便失去了应有的分辨力!这是美国最为普通、平淡无奇的小镇,却以大海般博大的胸怀
惊人地包容着我一一这样一个在网上书写完自己三生三世故事的异国他乡、有着曲折经
历的女子,包容着这样一位同样有着人生遗憾的老师。法律管不了人类情感的事,道德
也已然为这一切的发生进展一路绿灯,这一一是无言的结局?
d**********o
发帖数: 1321
295
与导师的绯闻(5)
不!
一如第一学期我从代课老师的system software课吓跑逃跑后,这个老师试图以哄骗的
方式(春季旁听算法课时)把我骗进编译课的课堂,这位代课老师、小镇上的善意的人
们,他们都全然忽略、忘记了这两个截然不同的人生有着25岁年龄差距的事实,完全没
意识到、忽略了,我一一这个在网上勤勤恳恳、夜以继日写完三生三世的人一一睡狮醒
来,她的自我意识正在觉醒,她又岂肯容忍、臣服于这种被设计好、暗无天日的人生?
No,that's mission impossible!!这与我想要的生活相差太远了~~
法律与道德之间的游走与平衡,包容的尺度如此难以把握,一不小心,它就变成了纵容
一一君不见,庙堂之高、皇帝之远,多少学校、多少小镇上,凭借着大学教授的社会尊
容,年迈老师诱惑、奸杀十八九岁刚入大学、涉世未深的少女,这种奸杀、枪杀还少么
?是谁杀害了那些如花少女?罪恶单上有那万恶老师的一份,也该算上这小镇、社会愚
昧的一份!
亲爱的读者,请原谅我的悲愤。一年365、366天,这姑娘偏偏就出生在“有两个主题深
深吸引着这天出生的人,那就是个人的操守与道德问题,以及人类如蜉游般短促的生命
问题。”的那一天。或者,再更私人一点儿,如果小镇上的人不是那般愚昧,如果小镇
上的人有那么点儿操持与坚守,或许,写字这姑娘原本也不会经历那童年的不幸、不会
经历这半世浮萍漂泊、风吹雨打、支离破碎的人生。
包容是一种态度,坚守的力量显得薄弱而难能可贵,值得邮局里的大叔、你和我一样的
小市民、小伙伴们去思考、提倡、以及贡献一份微薄的力量。
d**********o
发帖数: 1321
296
Financial Help Comes!
** From: (me~~)
Sent: Thursday, October 03, 2013 10:04 PM
To: (main office)
Subject: writing for financial help for Spring 2013
Hi (main office),
My name is (me~~), and I am a CS graduate student starting from fall 2012.
This is my third semester and I am planning to graduate in August 2013. I am
writing to you for some potential financial help from this program to
support my spring semester tuition fees and living expense.
In June/July 2012, after I got accepted by this program, the department
assigned Dr. cs445代课老师 as my adviser. And the department encouraged me
to contact him regarding to course selection. Initially Dr. cs445代课老师
suggested me to select only cs121 and cs150. I had put the contact adviser
and course selection things aside for couple of weeks (确切地说,是十天!)
cause I had only around $20,000 savings and I cannot bear to spend 3 years
on campus at the age of 33(34 now, and 35 next year) and up to that point, I
planned to go back to my home country. It was not until Dr. cs445代课老师
allowed me to skip cs121 that I changed my mind to stay here and continue
with a CS master's degree.
Later on when I was on campus I learned it was Dr. cs445代课老师's kindness
that allowed me to selection course that way. But for me, due to the lack of
enough communication, it was one of the most important factors to support
me make the decision to stay. By selection courses that way, I can almost
financially survive within two years with one year help from the department.
And I have took it for granted that after I pay for the first year tuition
fees, I should be able to get TA or RA to support my next year cause I have
always been good at study, and my master's program in statistics had allowed
me to graduate even in three semesters(后来延一个学期是出于个人需要). Even
though later on I didn't get any TA or RA from that program, they waved the
out-of-state tuition fees for me for all the rest semesters except the very
first one (所以我从来不曾想到,到同一学校另一个系里,形势会变得难以忍受的严
厉,而这一切的信息我之前是不曾料想的~~).
So far after I came back to U of I fall 2012, besides having been worked at
Bob's as a labor (which was an opportunity from the university) I have not
got any financial help from the department. And with almost $4000 borrowed
from (男闺密) to pay my tuition fees for this fall semester, I have paid out
every penny I have ever earned during my life and now, I am in urgent of
the department's help to help me survive my last spring semester.
You can reach me writing to me using U of X email [email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
or my
Gmail account [email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
, and you can call me (XXX) XXX-XXXX
whenever it is convenient for you. And I will keep close contact with you so
that I know the progress by trying to look for you at your office. Whenever
you have information or concern, please do not hesitate to contact me.
Thanks in advance,
(me~~)
** From: (main office) ((main office)@XXXXXX.edu)
Sent: Friday, November 15, 2013 12:14 PM
To: '(me~~)'
Subject: RE: writing for financial help for Spring 2013
Dear (me~~),
If you are interested, we would like to offer you a CSAC/grader position
with one of our faculty members for the spring semester. The salary is $4,
000 to be paid out over the semester. The appointment also requires 10
hours as a tutor in the CSAC. Because this is a full-time appointment, your
out-of-state fees are covered.
NOTE: you must be fully registered as a full-time student in order for me to
put you on the payroll system. Also, if you have never had a UX funded
position, you will need to go down to Human Resources and fill out the
necessary employment paperwork.
Please email me and let me know if you are interested in this position.
Thank you,
(main office)
Dept of Computer Science
University of XXXXX
[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
** from: (main office) ((main office)@XXXXXX.edu) <(main office)@XXXXXX.
edu>
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
date: Fri, Nov 15, 2013 at 12:22 PM
subject: FW: writing for financial help for Spring 2013
mailed-by: XXXXXX.edu
Just in case you aren't reading your UX email.
(main office)
** from: (me~~) <(me~~)@gmail.com>
to: "(main office) ((main office)@XXXXXX.edu)" <(main office)@XXXXXX.edu>
date: Fri, Nov 15, 2013 at 12:43 PM
subject: Re: FW: writing for financial help for Spring 2013
mailed-by: gmail.com
Yeah, I got the mail. Thank you so much!
d**********o
发帖数: 1321
297
第四次作业(代课老师出错)
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
date: Sun, Nov 17, 2013 at 4:43 PM
subject: hw4 processing nodekind order
mailed-by: gmail.com
Hi Dr. cs445代课老师,
For hw4, I just started and processed the logic, type and typearray. The
intuition tells me I should process the nodekinds bottom up, but after
typearray, I realized I lost my init errors. Will there be any possibility
that your init.out has missed some error out?
Please help advise if it is correct to do bottom-up syntax check. And since
I need to wait your reply, I will work on typefun or parms as the followed
set.
Thanks,
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
date: Sun, Nov 17, 2013 at 5:36 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
And, now I feel confused my grammar results matches the "tar of Assignment 4
preliminary tests", and my linux system results matches the wormulon system
results, but I just could not match your Amazon online tests.
Could you please help guide some appropriate testing environment, or let me
know which one is the cretieria, the tarred output files, or the Amazon
online?
Thanks. Feel confused.
** from: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
to: (me~~) <(me~~)@gmail.com>
date: Sun, Nov 17, 2013 at 7:25 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because it was sent directly to you.
All you have to do for assignment 4 is put in the error productions and the
yyerror code.
I am not sure what you mean by process the nodekinds bottom up. Bison will
do the
syntax error discovery. You don't need to traverse the tree.
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
date: Sun, Nov 17, 2013 at 7:28 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
yeah, I used the wrong term. I mean for the test file, we have init, type,
typearray, if, while etc. Should I process from bottom up, like type, init,
then fun, params, while, foreach, then if etc?
And, the tarred outputs are different from the outputs showed up after
turnned in. Should we follow the tarred .c- run results .out files, or
follow the outputs from Amazon run out ?
Thanks.
** from: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
to: (me~~) <(me~~)@gmail.com>
date: Sun, Nov 17, 2013 at 7:44 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because it was sent directly to you.
*** Quote: On Sun, Nov 17, 2013 at 7:28 PM, (me~~) <(me~~)@gmail.com> wrote:
yeah, I used the wrong term. I mean for the test file, we have init, type,
typearray, if, while etc. Should I process from bottom up, like type, init,
then fun, params, while, foreach, then if etc?
*** Re: I still don't understand. What do you mean "bottom up"? The
test script runs your program on each file in the order it decides. It
should not effect your results. I really am not sure what you are asking.
*** Quote: And, the tarred outputs are different from the outputs showed up
after turnned in. Should we follow the tarred .c- run results .out files, or
follow the outputs from Amazon run out ?\
*** Re: The output from Amazon is the one to follow, but the .out files are
the same as the ones on Amazon. I just reran them and checked to be sure.
That is, I went to the test machine and pulled the .outs and then reran
them on the web support machine and they seem to be the same. I repushed
them to the web server to be sure there is a clean copy there in case there
was problem.
cheers,
** from: (me~~) <(me~~)@gmail.com>
to: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
date: Sun, Nov 17, 2013 at 7:54 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
Sorry I produced those trouble for you. But I mean from your website the tar
file, named testDataA4.tar, the output files do not match the results from
test machine. Please check the outputs for syntaxerr-typefun.out, syntaxerr-
parms.out, they don't match the results from test machine. Please verifiy
and confirm.
Thanks.
** from: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Nov 18, 2013 at 8:19 PM
subject: Re: hw4 processing nodekind order
mailed-by: gmail.com
signed-by: gmail.com
: Important mainly because it was sent directly to you.
In the attached file on the left is the expected output from the A4
assignment. On the right is the concatenated output files taken from
testDataA4.tar. Excluding things like announcing what file is running the
files are reported by sdiff to be identical. See attached.
cheers,
d**********o
发帖数: 1321
298
hw4:老师附件
/**** Limited to 5 seconds total run time and 5000 lines of output <
<
/**** * ================================================ * <
| Tests for CS445 Assignment 4 | <
| Comparison with Expected Output | <
/**** * ================================================ * <
<
/export/home/nibbler/TestWorld <
find makefile <
makefile <
a makefile is here <
RUN: c- allErrors.c- <
ERROR(ARGLIST): source file "allErrors.c-" could not be opene <
RUN: c- < syntaxerr-assign.c- <
ERROR(10): Syntax error. Unexpected ';'. ERROR(10): Syntax error
. Unexpected ';'.
ERROR(11): Syntax error. Unexpected ';'. ERROR(11): Syntax error
. Unexpected ';'.
ERROR(12): Syntax error. Unexpected ';'. ERROR(12): Syntax error
. Unexpected ';'.
ERROR(14): Syntax error. Unexpected '='. ERROR(14): Syntax error
. Unexpected '='.
ERROR(15): Syntax error. Unexpected +=. ERROR(15): Syntax error.
Unexpected +=.
ERROR(16): Syntax error. Unexpected -=. ERROR(16): Syntax error.
Unexpected -=.
ERROR(18): Syntax error. Unexpected '='. ERROR(18): Syntax error
. Unexpected '='.
ERROR(19): Syntax error. Unexpected +=. ERROR(19): Syntax error.
Unexpected +=.
ERROR(20): Syntax error. Unexpected -=. ERROR(20): Syntax error.
Unexpected -=.
ERROR(21): Syntax error. Unexpected ++. ERROR(21): Syntax error.
Unexpected ++.
ERROR(22): Syntax error. Unexpected --. ERROR(22): Syntax error.
Unexpected --.
ERROR(24): Syntax error. Unexpected bool. ERROR(24): Syntax
error. Unexpected bool.
ERROR(25): Syntax error. Unexpected bool. ERROR(25): Syntax
error. Unexpected bool.
ERROR(26): Syntax error. Unexpected bool. ERROR(26): Syntax
error. Unexpected bool.
ERROR(28): Syntax error. Unexpected '='. ERROR(28): Syntax error
. Unexpected '='.
ERROR(29): Syntax error. Unexpected +=. ERROR(29): Syntax error.
Unexpected +=.
ERROR(30): Syntax error. Unexpected -=. ERROR(30): Syntax error.
Unexpected -=.
ERROR(31): Syntax error. Unexpected ++. ERROR(31): Syntax error.
Unexpected ++.
ERROR(32): Syntax error. Unexpected --. ERROR(32): Syntax error.
Unexpected --.
Number of warnings: 0 Number of warnings: 0
Number of errors: 19 Number of errors: 19
RUN: c- < syntaxerr-call.c- <
ERROR(6): Syntax error. Unexpected while. ERROR(6): Syntax error
. Unexpected while.
ERROR(7): Syntax error. Unexpected while. ERROR(7): Syntax error
. Unexpected while.
ERROR(10): Syntax error. Unexpected ';'. ERROR(10): Syntax error
. Unexpected ';'.
ERROR(11): Syntax error. Unexpected ')'. Expecting ';'. ERROR(11):
Syntax error. Unexpected ')'. Expecting ';'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 4 Number of errors: 4
RUN: c- < syntaxerr-call2.c- <
ERROR(5): Syntax error. Unexpected id: u. Expecting ']'. ERROR(5):
Syntax error. Unexpected id: u. Expecting ']'.
ERROR(7): Syntax error. Unexpected id: u. Expecting ']'. ERROR(7):
Syntax error. Unexpected id: u. Expecting ']'.
ERROR(10): Syntax error. Unexpected ']'. Expecting number. ERROR(10):
Syntax error. Unexpected ']'. Expecting number.
ERROR(22): Syntax error. Unexpected '='. Expecting ']'. ERROR(22):
Syntax error. Unexpected '='. Expecting ']'.
ERROR(23): Syntax error. Unexpected ']'. ERROR(23): Syntax error
. Unexpected ']'.
ERROR(23): Syntax error. Unexpected ';'. Expecting ')'. ERROR(23):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(27): Syntax error. Unexpected '*'. Expecting id. ERROR(27):
Syntax error. Unexpected '*'. Expecting id.
ERROR(27): Syntax error. Unexpected ';'. Expecting ']'. ERROR(27):
Syntax error. Unexpected ';'. Expecting ']'.
ERROR(27): Syntax error. Unexpected ']'. Expecting ')'. ERROR(27):
Syntax error. Unexpected ']'. Expecting ')'.
ERROR(27): Syntax error. Unexpected number: 10. Expecting ' ERROR(27):
Syntax error. Unexpected number: 10. Expecting '
ERROR(27): Syntax error. Unexpected number: 10. Expecting ' ERROR(27):
Syntax error. Unexpected number: 10. Expecting '
ERROR(27): Syntax error. Unexpected number: 10. Expecting ' ERROR(27):
Syntax error. Unexpected number: 10. Expecting '
ERROR(28): Syntax error. Unexpected character constant: 'x'. ERROR(28):
Syntax error. Unexpected character constant: 'x'.
ERROR(29): Syntax error. Unexpected '*'. Expecting id. ERROR(29):
Syntax error. Unexpected '*'. Expecting id.
ERROR(30): Syntax error. Unexpected '+'. ERROR(30): Syntax error
. Unexpected '+'.
ERROR(30): Syntax error. Unexpected ';'. Expecting ')'. ERROR(30):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(31): Syntax error. Unexpected '='. ERROR(31): Syntax error
. Unexpected '='.
ERROR(34): Syntax error. Unexpected ','. Expecting ']'. ERROR(34):
Syntax error. Unexpected ','. Expecting ']'.
ERROR(34): Syntax error. Unexpected int. Expecting ')'. ERROR(34):
Syntax error. Unexpected int. Expecting ')'.
ERROR(35): Syntax error. Unexpected '+'. ERROR(35): Syntax error
. Unexpected '+'.
ERROR(35): Syntax error. Unexpected ';'. Expecting ')'. ERROR(35):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(36): Syntax error. Unexpected '='. ERROR(36): Syntax error
. Unexpected '='.
Number of warnings: 0 Number of warnings: 0
Number of errors: 22 Number of errors: 22
RUN: c- < syntaxerr-empty.c- <
ERROR(2): Syntax error. Unexpected end of input. Expecting ERROR(2):
Syntax error. Unexpected end of input. Expecting
Number of warnings: 0 Number of warnings: 0
Number of errors: 1 Number of errors: 1
RUN: c- < syntaxerr-foreach.c- <
ERROR(4): Syntax error. Unexpected ')'. Expecting in. ERROR(4):
Syntax error. Unexpected ')'. Expecting in.
ERROR(6): Syntax error. Unexpected int. Expecting in. ERROR(6):
Syntax error. Unexpected int. Expecting in.
ERROR(8): Syntax error. Unexpected int. Expecting id. ERROR(8):
Syntax error. Unexpected int. Expecting id.
ERROR(10): Syntax error. Unexpected int. Expecting id. ERROR(10):
Syntax error. Unexpected int. Expecting id.
ERROR(12): Syntax error. Unexpected int. Expecting '('. ERROR(12):
Syntax error. Unexpected int. Expecting '('.
ERROR(14): Syntax error. Unexpected int. Expecting '('. ERROR(14):
Syntax error. Unexpected int. Expecting '('.
ERROR(18): Syntax error. Unexpected int. Expecting '('. ERROR(18):
Syntax error. Unexpected int. Expecting '('.
ERROR(21): Syntax error. Unexpected ')'. Expecting in. ERROR(21):
Syntax error. Unexpected ')'. Expecting in.
ERROR(23): Syntax error. Unexpected '*'. Expecting in. ERROR(23):
Syntax error. Unexpected '*'. Expecting in.
ERROR(25): Syntax error. Unexpected '*'. Expecting id. ERROR(25):
Syntax error. Unexpected '*'. Expecting id.
ERROR(27): Syntax error. Unexpected '*'. Expecting id. ERROR(27):
Syntax error. Unexpected '*'. Expecting id.
ERROR(29): Syntax error. Unexpected '*'. Expecting '('. ERROR(29):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(29): Syntax error. Unexpected ')'. Expecting ';'. ERROR(29):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(31): Syntax error. Unexpected '*'. Expecting '('. ERROR(31):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(31): Syntax error. Unexpected ';'. ERROR(31): Syntax error
. Unexpected ';'.
ERROR(33): Syntax error. Unexpected '*'. Expecting '('. ERROR(33):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(35): Syntax error. Unexpected '*'. Expecting '('. ERROR(35):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(35): Syntax error. Unexpected ';'. ERROR(35): Syntax error
. Unexpected ';'.
ERROR(38): Syntax error. Unexpected ')'. Expecting in. ERROR(38):
Syntax error. Unexpected ')'. Expecting in.
ERROR(40): Syntax error. Unexpected ';'. Expecting in. ERROR(40):
Syntax error. Unexpected ';'. Expecting in.
ERROR(42): Syntax error. Unexpected ')'. Expecting id. ERROR(42):
Syntax error. Unexpected ')'. Expecting id.
ERROR(44): Syntax error. Unexpected ';'. Expecting id. ERROR(44):
Syntax error. Unexpected ';'. Expecting id.
ERROR(46): Syntax error. Unexpected id: x. Expecting '('. ERROR(46):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(48): Syntax error. Unexpected id: x. Expecting '('. ERROR(48):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(50): Syntax error. Unexpected ')'. Expecting '('. ERROR(50):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(52): Syntax error. Unexpected ';'. Expecting '('. ERROR(52):
Syntax error. Unexpected ';'. Expecting '('.
Number of warnings: 0 Number of warnings: 0
Number of errors: 26 Number of errors: 26
RUN: c- < syntaxerr-if.c- <
ERROR(6): Syntax error. Unexpected ++. ERROR(6): Syntax
error. Unexpected ++.
ERROR(8): Syntax error. Unexpected ++. ERROR(8): Syntax
error. Unexpected ++.
ERROR(10): Syntax error. Unexpected ++. ERROR(10): Syntax error.
Unexpected ++.
ERROR(12): Syntax error. Unexpected ++. ERROR(12): Syntax error.
Unexpected ++.
ERROR(12): Syntax error. Unexpected else. Expecting ';'. ERROR(12):
Syntax error. Unexpected else. Expecting ';'.
ERROR(14): Syntax error. Unexpected else. Expecting ';'. ERROR(14):
Syntax error. Unexpected else. Expecting ';'.
ERROR(16): Syntax error. Unexpected ++. ERROR(16): Syntax error.
Unexpected ++.
ERROR(16): Syntax error. Unexpected ++. Expecting ';'. ERROR(16):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(16): Syntax error. Unexpected number: 222. Expecting ERROR(16):
Syntax error. Unexpected number: 222. Expecting
ERROR(18): Syntax error. Unexpected ++. ERROR(18): Syntax error.
Unexpected ++.
ERROR(18): Syntax error. Unexpected ++. Expecting ';'. ERROR(18):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(18): Syntax error. Unexpected ++. Expecting ';'. ERROR(18):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(20): Syntax error. Unexpected ++. Expecting or or ')' ERROR(20):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(20): Syntax error. Unexpected else. ERROR(20): Syntax
error. Unexpected else.
ERROR(22): Syntax error. Unexpected ++. Expecting or or ')' ERROR(22):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(22): Syntax error. Unexpected else. ERROR(22): Syntax
error. Unexpected else.
ERROR(24): Syntax error. Unexpected ++. Expecting or or ')' ERROR(24):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(24): Syntax error. Unexpected ++. ERROR(24): Syntax error.
Unexpected ++.
ERROR(26): Syntax error. Unexpected ++. Expecting or or ')' ERROR(26):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(26): Syntax error. Unexpected ++. ERROR(26): Syntax error.
Unexpected ++.
ERROR(28): Syntax error. Unexpected ++. Expecting or or ')' ERROR(28):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(30): Syntax error. Unexpected ++. Expecting or or ')' ERROR(30):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(32): Syntax error. Unexpected ++. Expecting or or ')' ERROR(32):
Syntax error. Unexpected ++. Expecting or or ')'
ERROR(32): Syntax error. Unexpected number: 222. Expecting ERROR(32):
Syntax error. Unexpected number: 222. Expecting
ERROR(34): Syntax error. Unexpected ++. ERROR(34): Syntax error.
Unexpected ++.
ERROR(34): Syntax error. Unexpected else. ERROR(34): Syntax
error. Unexpected else.
ERROR(36): Syntax error. Unexpected ++. ERROR(36): Syntax error.
Unexpected ++.
ERROR(36): Syntax error. Unexpected else. ERROR(36): Syntax
error. Unexpected else.
ERROR(38): Syntax error. Unexpected ++. ERROR(38): Syntax error.
Unexpected ++.
ERROR(38): Syntax error. Unexpected ++. ERROR(38): Syntax error.
Unexpected ++.
ERROR(40): Syntax error. Unexpected ++. ERROR(40): Syntax error.
Unexpected ++.
ERROR(40): Syntax error. Unexpected ++. ERROR(40): Syntax error.
Unexpected ++.
ERROR(42): Syntax error. Unexpected ++. ERROR(42): Syntax error.
Unexpected ++.
ERROR(42): Syntax error. Unexpected else. Expecting ';'. ERROR(42):
Syntax error. Unexpected else. Expecting ';'.
ERROR(44): Syntax error. Unexpected ++. ERROR(44): Syntax error.
Unexpected ++.
ERROR(44): Syntax error. Unexpected else. Expecting ';'. ERROR(44):
Syntax error. Unexpected else. Expecting ';'.
ERROR(46): Syntax error. Unexpected ++. ERROR(46): Syntax error.
Unexpected ++.
ERROR(46): Syntax error. Unexpected ++. Expecting ';'. ERROR(46):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(46): Syntax error. Unexpected number: 222. Expecting ERROR(46):
Syntax error. Unexpected number: 222. Expecting
ERROR(48): Syntax error. Unexpected ++. ERROR(48): Syntax error.
Unexpected ++.
ERROR(48): Syntax error. Unexpected ++. Expecting ';'. ERROR(48):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(48): Syntax error. Unexpected ++. Expecting ';'. ERROR(48):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(50): Syntax error. Unexpected ++. ERROR(50): Syntax error.
Unexpected ++.
ERROR(50): Syntax error. Unexpected else. ERROR(50): Syntax
error. Unexpected else.
ERROR(52): Syntax error. Unexpected ++. ERROR(52): Syntax error.
Unexpected ++.
ERROR(52): Syntax error. Unexpected else. ERROR(52): Syntax
error. Unexpected else.
ERROR(54): Syntax error. Unexpected ++. ERROR(54): Syntax error.
Unexpected ++.
ERROR(54): Syntax error. Unexpected ++. ERROR(54): Syntax error.
Unexpected ++.
ERROR(56): Syntax error. Unexpected ++. ERROR(56): Syntax error.
Unexpected ++.
ERROR(56): Syntax error. Unexpected ++. ERROR(56): Syntax error.
Unexpected ++.
ERROR(58): Syntax error. Unexpected ++. ERROR(58): Syntax error.
Unexpected ++.
ERROR(58): Syntax error. Unexpected else. Expecting ';'. ERROR(58):
Syntax error. Unexpected else. Expecting ';'.
ERROR(60): Syntax error. Unexpected ++. ERROR(60): Syntax error.
Unexpected ++.
ERROR(60): Syntax error. Unexpected else. Expecting ';'. ERROR(60):
Syntax error. Unexpected else. Expecting ';'.
ERROR(62): Syntax error. Unexpected ++. Expecting '('. ERROR(62):
Syntax error. Unexpected ++. Expecting '('.
ERROR(62): Syntax error. Unexpected id: x. Expecting ';'. ERROR(62):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(64): Syntax error. Unexpected ++. Expecting '('. ERROR(64):
Syntax error. Unexpected ++. Expecting '('.
ERROR(64): Syntax error. Unexpected id: x. Expecting ';'. ERROR(64):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(64): Syntax error. Unexpected ++. ERROR(64): Syntax error.
Unexpected ++.
ERROR(66): Syntax error. Unexpected ++. Expecting '('. ERROR(66):
Syntax error. Unexpected ++. Expecting '('.
ERROR(66): Syntax error. Unexpected id: x. Expecting ';'. ERROR(66):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(66): Syntax error. Unexpected ++. ERROR(66): Syntax error.
Unexpected ++.
ERROR(66): Syntax error. Unexpected ++. ERROR(66): Syntax error.
Unexpected ++.
ERROR(68): Syntax error. Unexpected ++. Expecting '('. ERROR(68):
Syntax error. Unexpected ++. Expecting '('.
ERROR(68): Syntax error. Unexpected id: x. Expecting ';'. ERROR(68):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(68): Syntax error. Unexpected ++. ERROR(68): Syntax error.
Unexpected ++.
ERROR(68): Syntax error. Unexpected ++. ERROR(68): Syntax error.
Unexpected ++.
ERROR(70): Syntax error. Unexpected ++. Expecting '('. ERROR(70):
Syntax error. Unexpected ++. Expecting '('.
ERROR(70): Syntax error. Unexpected id: x. Expecting ';'. ERROR(70):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(70): Syntax error. Unexpected else. Expecting ';'. ERROR(70):
Syntax error. Unexpected else. Expecting ';'.
ERROR(72): Syntax error. Unexpected ++. Expecting '('. ERROR(72):
Syntax error. Unexpected ++. Expecting '('.
ERROR(72): Syntax error. Unexpected id: x. Expecting ';'. ERROR(72):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(72): Syntax error. Unexpected else. Expecting ';'. ERROR(72):
Syntax error. Unexpected else. Expecting ';'.
ERROR(74): Syntax error. Unexpected ++. Expecting '('. ERROR(74):
Syntax error. Unexpected ++. Expecting '('.
ERROR(74): Syntax error. Unexpected id: x. Expecting ';'. ERROR(74):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(74): Syntax error. Unexpected ++. Expecting ';'. ERROR(74):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(74): Syntax error. Unexpected number: 222. Expecting ERROR(74):
Syntax error. Unexpected number: 222. Expecting
ERROR(76): Syntax error. Unexpected ++. Expecting '('. ERROR(76):
Syntax error. Unexpected ++. Expecting '('.
ERROR(76): Syntax error. Unexpected id: x. Expecting ';'. ERROR(76):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(76): Syntax error. Unexpected ++. Expecting ';'. ERROR(76):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(76): Syntax error. Unexpected ++. Expecting ';'. ERROR(76):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(78): Syntax error. Unexpected ++. Expecting '('. ERROR(78):
Syntax error. Unexpected ++. Expecting '('.
ERROR(78): Syntax error. Unexpected id: x. Expecting ';'. ERROR(78):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(78): Syntax error. Unexpected else. ERROR(78): Syntax
error. Unexpected else.
ERROR(80): Syntax error. Unexpected ++. Expecting '('. ERROR(80):
Syntax error. Unexpected ++. Expecting '('.
ERROR(80): Syntax error. Unexpected id: x. Expecting ';'. ERROR(80):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(80): Syntax error. Unexpected else. ERROR(80): Syntax
error. Unexpected else.
ERROR(82): Syntax error. Unexpected ++. Expecting '('. ERROR(82):
Syntax error. Unexpected ++. Expecting '('.
ERROR(82): Syntax error. Unexpected id: x. Expecting ';'. ERROR(82):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(82): Syntax error. Unexpected ++. ERROR(82): Syntax error.
Unexpected ++.
ERROR(84): Syntax error. Unexpected ++. Expecting '('. ERROR(84):
Syntax error. Unexpected ++. Expecting '('.
ERROR(84): Syntax error. Unexpected id: x. Expecting ';'. ERROR(84):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(84): Syntax error. Unexpected ++. ERROR(84): Syntax error.
Unexpected ++.
ERROR(86): Syntax error. Unexpected ++. Expecting '('. ERROR(86):
Syntax error. Unexpected ++. Expecting '('.
ERROR(86): Syntax error. Unexpected id: x. Expecting ';'. ERROR(86):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(86): Syntax error. Unexpected else. Expecting ';'. ERROR(86):
Syntax error. Unexpected else. Expecting ';'.
ERROR(88): Syntax error. Unexpected ++. Expecting '('. ERROR(88):
Syntax error. Unexpected ++. Expecting '('.
ERROR(88): Syntax error. Unexpected id: x. Expecting ';'. ERROR(88):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(88): Syntax error. Unexpected else. Expecting ';'. ERROR(88):
Syntax error. Unexpected else. Expecting ';'.
ERROR(90): Syntax error. Unexpected ++. Expecting '('. ERROR(90):
Syntax error. Unexpected ++. Expecting '('.
ERROR(90): Syntax error. Unexpected id: x. Expecting ';'. ERROR(90):
Syntax error. Unexpected id: x. Expecting ';'.
ERROR(90): Syntax error. Unexpected ++. Expecting ';'. ERROR(90):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(90): Syntax error. Unexpected number: 222. Expecting ERROR(90):
Syntax error. Unexpected number: 222. Expecting
ERROR(92): Syntax error. Unexpected ++. Expecting '('. ERROR(92):
Syntax error. Unexpected ++. Expecting '('.
ERROR(92): Syntax error. Unexpected ++. Expecting ';'. ERROR(92):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(92): Syntax error. Unexpected ')'. Expecting ';'. ERROR(92):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(94): Syntax error. Unexpected ++. Expecting '('. ERROR(94):
Syntax error. Unexpected ++. Expecting '('.
ERROR(94): Syntax error. Unexpected ++. Expecting ';'. ERROR(94):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(94): Syntax error. Unexpected ')'. Expecting ';'. ERROR(94):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(94): Syntax error. Unexpected ++. ERROR(94): Syntax error.
Unexpected ++.
ERROR(96): Syntax error. Unexpected ++. Expecting '('. ERROR(96):
Syntax error. Unexpected ++. Expecting '('.
ERROR(96): Syntax error. Unexpected ++. Expecting ';'. ERROR(96):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(96): Syntax error. Unexpected ')'. Expecting ';'. ERROR(96):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(96): Syntax error. Unexpected ++. ERROR(96): Syntax error.
Unexpected ++.
ERROR(96): Syntax error. Unexpected ++. ERROR(96): Syntax error.
Unexpected ++.
ERROR(98): Syntax error. Unexpected ++. Expecting '('. ERROR(98):
Syntax error. Unexpected ++. Expecting '('.
ERROR(98): Syntax error. Unexpected ++. Expecting ';'. ERROR(98):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(98): Syntax error. Unexpected ')'. Expecting ';'. ERROR(98):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(98): Syntax error. Unexpected ++. ERROR(98): Syntax error.
Unexpected ++.
ERROR(98): Syntax error. Unexpected ++. ERROR(98): Syntax error.
Unexpected ++.
ERROR(100): Syntax error. Unexpected ++. Expecting '('. ERROR(100):
Syntax error. Unexpected ++. Expecting '('.
ERROR(100): Syntax error. Unexpected ++. Expecting ';'. ERROR(100):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(100): Syntax error. Unexpected ')'. Expecting ';'. ERROR(100):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(100): Syntax error. Unexpected else. Expecting ';'. ERROR(100):
Syntax error. Unexpected else. Expecting ';'.
ERROR(102): Syntax error. Unexpected ++. Expecting '('. ERROR(102):
Syntax error. Unexpected ++. Expecting '('.
ERROR(102): Syntax error. Unexpected ++. Expecting ';'. ERROR(102):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(102): Syntax error. Unexpected ')'. Expecting ';'. ERROR(102):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(102): Syntax error. Unexpected else. Expecting ';'. ERROR(102):
Syntax error. Unexpected else. Expecting ';'.
ERROR(104): Syntax error. Unexpected ++. Expecting '('. ERROR(104):
Syntax error. Unexpected ++. Expecting '('.
ERROR(104): Syntax error. Unexpected ++. Expecting ';'. ERROR(104):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(104): Syntax error. Unexpected ')'. Expecting ';'. ERROR(104):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(104): Syntax error. Unexpected ++. Expecting ';'. ERROR(104):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(104): Syntax error. Unexpected number: 222. Expecting ERROR(104):
Syntax error. Unexpected number: 222. Expecting
ERROR(106): Syntax error. Unexpected ++. Expecting '('. ERROR(106):
Syntax error. Unexpected ++. Expecting '('.
ERROR(106): Syntax error. Unexpected ++. Expecting ';'. ERROR(106):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(106): Syntax error. Unexpected ')'. Expecting ';'. ERROR(106):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(106): Syntax error. Unexpected ++. Expecting ';'. ERROR(106):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(106): Syntax error. Unexpected ++. Expecting ';'. ERROR(106):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(108): Syntax error. Unexpected ++. Expecting '('. ERROR(108):
Syntax error. Unexpected ++. Expecting '('.
ERROR(108): Syntax error. Unexpected ++. Expecting ';'. ERROR(108):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(108): Syntax error. Unexpected ++. Expecting ';'. ERROR(108):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(108): Syntax error. Unexpected number: 111. Expecting ERROR(108):
Syntax error. Unexpected number: 111. Expecting
ERROR(108): Syntax error. Unexpected else. ERROR(108): Syntax
error. Unexpected else.
ERROR(110): Syntax error. Unexpected ++. Expecting '('. ERROR(110):
Syntax error. Unexpected ++. Expecting '('.
ERROR(110): Syntax error. Unexpected ++. Expecting ';'. ERROR(110):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(110): Syntax error. Unexpected ++. Expecting ';'. ERROR(110):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(110): Syntax error. Unexpected number: 111. Expecting ERROR(110):
Syntax error. Unexpected number: 111. Expecting
ERROR(110): Syntax error. Unexpected else. ERROR(110): Syntax
error. Unexpected else.
ERROR(112): Syntax error. Unexpected ++. Expecting '('. ERROR(112):
Syntax error. Unexpected ++. Expecting '('.
ERROR(112): Syntax error. Unexpected ++. Expecting ';'. ERROR(112):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(112): Syntax error. Unexpected ++. Expecting ';'. ERROR(112):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(112): Syntax error. Unexpected number: 111. Expecting ERROR(112):
Syntax error. Unexpected number: 111. Expecting
ERROR(112): Syntax error. Unexpected ++. ERROR(112): Syntax
error. Unexpected ++.
ERROR(114): Syntax error. Unexpected ++. Expecting '('. ERROR(114):
Syntax error. Unexpected ++. Expecting '('.
ERROR(114): Syntax error. Unexpected ++. Expecting ';'. ERROR(114):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(114): Syntax error. Unexpected ++. Expecting ';'. ERROR(114):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(114): Syntax error. Unexpected number: 111. Expecting ERROR(114):
Syntax error. Unexpected number: 111. Expecting
ERROR(114): Syntax error. Unexpected ++. ERROR(114): Syntax
error. Unexpected ++.
ERROR(116): Syntax error. Unexpected ++. ERROR(116): Syntax
error. Unexpected ++.
ERROR(116): Syntax error. Unexpected number: 111. Expecting ERROR(116):
Syntax error. Unexpected number: 111. Expecting
ERROR(116): Syntax error. Unexpected else. ERROR(116): Syntax
error. Unexpected else.
ERROR(118): Syntax error. Unexpected ++. ERROR(118): Syntax
error. Unexpected ++.
ERROR(118): Syntax error. Unexpected number: 111. Expecting ERROR(118):
Syntax error. Unexpected number: 111. Expecting
ERROR(118): Syntax error. Unexpected else. ERROR(118): Syntax
error. Unexpected else.
ERROR(120): Syntax error. Unexpected ++. ERROR(120): Syntax
error. Unexpected ++.
ERROR(120): Syntax error. Unexpected ++. Expecting ';'. ERROR(120):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(120): Syntax error. Unexpected else. Expecting ';'. ERROR(120):
Syntax error. Unexpected else. Expecting ';'.
ERROR(122): Syntax error. Unexpected ++. ERROR(122): Syntax
error. Unexpected ++.
ERROR(122): Syntax error. Unexpected ++. Expecting ';'. ERROR(122):
Syntax error. Unexpected ++. Expecting ';'.
ERROR(122): Syntax error. Unexpected else. Expecting ';'. ERROR(122):
Syntax error. Unexpected else. Expecting ';'.
ERROR(124): Syntax error. Unexpected ++. ERROR(124): Syntax
error. Unexpected ++.
ERROR(124): Syntax error. Unexpected number: 111. Expecting ERROR(124):
Syntax error. Unexpected number: 111. Expecting
ERROR(126): Syntax error. Unexpected '('. Expecting ')'. ERROR(126):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(126): Syntax error. Unexpected number: 111. Expecting ERROR(126):
Syntax error. Unexpected number: 111. Expecting
ERROR(126): Syntax error. Unexpected ';'. Expecting ')'. ERROR(126):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(128): Syntax error. Unexpected '('. Expecting ')'. ERROR(128):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(128): Syntax error. Unexpected ++. Expecting ')'. ERROR(128):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(128): Syntax error. Unexpected else. Expecting ')'. ERROR(128):
Syntax error. Unexpected else. Expecting ')'.
ERROR(130): Syntax error. Unexpected '('. Expecting ')'. ERROR(130):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(130): Syntax error. Unexpected ++. Expecting ')'. ERROR(130):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(130): Syntax error. Unexpected else. Expecting ')'. ERROR(130):
Syntax error. Unexpected else. Expecting ')'.
ERROR(130): Syntax error. Unexpected ';'. Expecting ')'. ERROR(130):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(132): Syntax error. Unexpected '('. Expecting ')'. ERROR(132):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(132): Syntax error. Unexpected number: 111. Expecting ERROR(132):
Syntax error. Unexpected number: 111. Expecting
ERROR(134): Syntax error. Unexpected '('. Expecting ')'. ERROR(134):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(134): Syntax error. Unexpected number: 111. Expecting ERROR(134):
Syntax error. Unexpected number: 111. Expecting
ERROR(134): Syntax error. Unexpected ';'. Expecting ')'. ERROR(134):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(136): Syntax error. Unexpected '('. Expecting ')'. ERROR(136):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(136): Syntax error. Unexpected ++. Expecting ')'. ERROR(136):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(136): Syntax error. Unexpected else. Expecting ')'. ERROR(136):
Syntax error. Unexpected else. Expecting ')'.
ERROR(138): Syntax error. Unexpected '('. Expecting ')'. ERROR(138):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(138): Syntax error. Unexpected ++. Expecting ')'. ERROR(138):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(138): Syntax error. Unexpected else. Expecting ')'. ERROR(138):
Syntax error. Unexpected else. Expecting ')'.
ERROR(138): Syntax error. Unexpected ';'. Expecting ')'. ERROR(138):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(140): Syntax error. Unexpected '('. Expecting ')'. ERROR(140):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(140): Syntax error. Unexpected ++. Expecting ')'. ERROR(140):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(140): Syntax error. Unexpected number: 111. Expecting ERROR(140):
Syntax error. Unexpected number: 111. Expecting
ERROR(142): Syntax error. Unexpected '('. Expecting ')'. ERROR(142):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(142): Syntax error. Unexpected ++. Expecting ')'. ERROR(142):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(142): Syntax error. Unexpected number: 111. Expecting ERROR(142):
Syntax error. Unexpected number: 111. Expecting
ERROR(142): Syntax error. Unexpected ';'. Expecting ')'. ERROR(142):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(144): Syntax error. Unexpected '('. Expecting ')'. ERROR(144):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(144): Syntax error. Unexpected ++. Expecting ')'. ERROR(144):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(144): Syntax error. Unexpected ++. Expecting ')'. ERROR(144):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(144): Syntax error. Unexpected else. Expecting ')'. ERROR(144):
Syntax error. Unexpected else. Expecting ')'.
ERROR(146): Syntax error. Unexpected '('. Expecting ')'. ERROR(146):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(146): Syntax error. Unexpected ++. Expecting ')'. ERROR(146):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(146): Syntax error. Unexpected ++. Expecting ')'. ERROR(146):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(146): Syntax error. Unexpected else. Expecting ')'. ERROR(146):
Syntax error. Unexpected else. Expecting ')'.
ERROR(146): Syntax error. Unexpected ';'. Expecting ')'. ERROR(146):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(148): Syntax error. Unexpected ++. Expecting ')'. ERROR(148):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(148): Syntax error. Unexpected id: x. Expecting ')'. ERROR(148):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(148): Syntax error. Unexpected number: 111. Expecting ERROR(148):
Syntax error. Unexpected number: 111. Expecting
ERROR(150): Syntax error. Unexpected ++. Expecting ')'. ERROR(150):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(150): Syntax error. Unexpected id: x. Expecting ')'. ERROR(150):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(150): Syntax error. Unexpected number: 111. Expecting ERROR(150):
Syntax error. Unexpected number: 111. Expecting
ERROR(150): Syntax error. Unexpected ';'. Expecting ')'. ERROR(150):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(152): Syntax error. Unexpected ++. Expecting ')'. ERROR(152):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(152): Syntax error. Unexpected id: x. Expecting ')'. ERROR(152):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(152): Syntax error. Unexpected ++. Expecting ')'. ERROR(152):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(152): Syntax error. Unexpected else. Expecting ')'. ERROR(152):
Syntax error. Unexpected else. Expecting ')'.
ERROR(154): Syntax error. Unexpected ++. Expecting ')'. ERROR(154):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(154): Syntax error. Unexpected id: x. Expecting ')'. ERROR(154):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(154): Syntax error. Unexpected ++. Expecting ')'. ERROR(154):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(154): Syntax error. Unexpected else. Expecting ')'. ERROR(154):
Syntax error. Unexpected else. Expecting ')'.
ERROR(154): Syntax error. Unexpected ';'. Expecting ')'. ERROR(154):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(156): Syntax error. Unexpected ++. Expecting ')'. ERROR(156):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(156): Syntax error. Unexpected id: x. Expecting ')'. ERROR(156):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(156): Syntax error. Unexpected number: 111. Expecting ERROR(156):
Syntax error. Unexpected number: 111. Expecting
ERROR(158): Syntax error. Unexpected ++. Expecting ')'. ERROR(158):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(158): Syntax error. Unexpected id: x. Expecting ')'. ERROR(158):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(158): Syntax error. Unexpected number: 111. Expecting ERROR(158):
Syntax error. Unexpected number: 111. Expecting
ERROR(158): Syntax error. Unexpected ';'. Expecting ')'. ERROR(158):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(160): Syntax error. Unexpected ++. Expecting ')'. ERROR(160):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(160): Syntax error. Unexpected id: x. Expecting ')'. ERROR(160):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(160): Syntax error. Unexpected ++. Expecting ')'. ERROR(160):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(160): Syntax error. Unexpected else. Expecting ')'. ERROR(160):
Syntax error. Unexpected else. Expecting ')'.
ERROR(162): Syntax error. Unexpected ++. Expecting ')'. ERROR(162):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(162): Syntax error. Unexpected id: x. Expecting ')'. ERROR(162):
Syntax error. Unexpected id: x. Expecting ')'.
ERROR(162): Syntax error. Unexpected ++. Expecting ')'. ERROR(162):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(162): Syntax error. Unexpected else. Expecting ')'. ERROR(162):
Syntax error. Unexpected else. Expecting ')'.
ERROR(162): Syntax error. Unexpected ';'. Expecting ')'. ERROR(162):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(164): Syntax error. Unexpected ++. Expecting ')'. ERROR(164):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(164): Syntax error. Unexpected ++. Expecting ')'. ERROR(164):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(164): Syntax error. Unexpected number: 111. Expecting ERROR(164):
Syntax error. Unexpected number: 111. Expecting
ERROR(166): Syntax error. Unexpected ++. Expecting ')'. ERROR(166):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(166): Syntax error. Unexpected ++. Expecting ')'. ERROR(166):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(166): Syntax error. Unexpected number: 111. Expecting ERROR(166):
Syntax error. Unexpected number: 111. Expecting
ERROR(166): Syntax error. Unexpected ';'. Expecting ')'. ERROR(166):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(168): Syntax error. Unexpected ++. Expecting ')'. ERROR(168):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(168): Syntax error. Unexpected ++. Expecting ')'. ERROR(168):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(168): Syntax error. Unexpected ++. Expecting ')'. ERROR(168):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(168): Syntax error. Unexpected else. Expecting ')'. ERROR(168):
Syntax error. Unexpected else. Expecting ')'.
ERROR(170): Syntax error. Unexpected ++. Expecting ')'. ERROR(170):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(170): Syntax error. Unexpected ++. Expecting ')'. ERROR(170):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(170): Syntax error. Unexpected ++. Expecting ')'. ERROR(170):
Syntax error. Unexpected ++. Expecting ')'.
ERROR(170): Syntax error. Unexpected else. Expecting ')'. ERROR(170):
Syntax error. Unexpected else. Expecting ')'.
ERROR(170): Syntax error. Unexpected ';'. Expecting ')'. ERROR(170):
Syntax error. Unexpected ';'. Expecting ')'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 258 Number of errors: 258
RUN: c- < syntaxerr-ifminus.c- <
ERROR(10): Syntax error. Unexpected else. ERROR(10): Syntax
error. Unexpected else.
ERROR(16): Syntax error. Unexpected number: 111. Expecting ERROR(16):
Syntax error. Unexpected number: 111. Expecting
ERROR(16): Syntax error. Unexpected else. ERROR(16): Syntax
error. Unexpected else.
ERROR(18): Syntax error. Unexpected number: 111. Expecting ERROR(18):
Syntax error. Unexpected number: 111. Expecting
ERROR(18): Syntax error. Unexpected else. ERROR(18): Syntax
error. Unexpected else.
ERROR(20): Syntax error. Unexpected else. Expecting or or ' ERROR(20):
Syntax error. Unexpected else. Expecting or or '
ERROR(22): Syntax error. Unexpected else. Expecting or or ' ERROR(22):
Syntax error. Unexpected else. Expecting or or '
ERROR(24): Syntax error. Unexpected number: 222. Expecting ERROR(24):
Syntax error. Unexpected number: 222. Expecting
ERROR(26): Syntax error. Unexpected ')'. ERROR(26): Syntax error
. Unexpected ')'.
ERROR(26): Syntax error. Unexpected number: 111. Expecting ERROR(26):
Syntax error. Unexpected number: 111. Expecting
ERROR(26): Syntax error. Unexpected else. ERROR(26): Syntax
error. Unexpected else.
ERROR(28): Syntax error. Unexpected ')'. ERROR(28): Syntax error
. Unexpected ')'.
ERROR(28): Syntax error. Unexpected number: 111. Expecting ERROR(28):
Syntax error. Unexpected number: 111. Expecting
ERROR(28): Syntax error. Unexpected else. ERROR(28): Syntax
error. Unexpected else.
ERROR(30): Syntax error. Unexpected ')'. ERROR(30): Syntax error
. Unexpected ')'.
ERROR(30): Syntax error. Unexpected else. Expecting or or ' ERROR(30):
Syntax error. Unexpected else. Expecting or or '
ERROR(32): Syntax error. Unexpected ')'. ERROR(32): Syntax error
. Unexpected ')'.
ERROR(32): Syntax error. Unexpected else. Expecting or or ' ERROR(32):
Syntax error. Unexpected else. Expecting or or '
ERROR(34): Syntax error. Unexpected ')'. ERROR(34): Syntax error
. Unexpected ')'.
ERROR(34): Syntax error. Unexpected number: 222. Expecting ERROR(34):
Syntax error. Unexpected number: 222. Expecting
ERROR(36): Syntax error. Unexpected ')'. ERROR(36): Syntax error
. Unexpected ')'.
ERROR(36): Syntax error. Unexpected ';'. Expecting or or ') ERROR(36):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(38): Syntax error. Unexpected ';'. Expecting or or ') ERROR(38):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(38): Syntax error. Unexpected else. ERROR(38): Syntax
error. Unexpected else.
ERROR(40): Syntax error. Unexpected ';'. Expecting or or ') ERROR(40):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(40): Syntax error. Unexpected else. ERROR(40): Syntax
error. Unexpected else.
ERROR(42): Syntax error. Unexpected else. ERROR(42): Syntax
error. Unexpected else.
ERROR(44): Syntax error. Unexpected else. ERROR(44): Syntax
error. Unexpected else.
ERROR(46): Syntax error. Unexpected id: x. Expecting '('. ERROR(46):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(48): Syntax error. Unexpected id: x. Expecting '('. ERROR(48):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(50): Syntax error. Unexpected id: x. Expecting '('. ERROR(50):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(52): Syntax error. Unexpected id: x. Expecting '('. ERROR(52):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(54): Syntax error. Unexpected id: x. Expecting '('. ERROR(54):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(56): Syntax error. Unexpected id: x. Expecting '('. ERROR(56):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(58): Syntax error. Unexpected id: x. Expecting '('. ERROR(58):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(58): Syntax error. Unexpected else. ERROR(58): Syntax
error. Unexpected else.
ERROR(60): Syntax error. Unexpected id: x. Expecting '('. ERROR(60):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(60): Syntax error. Unexpected else. ERROR(60): Syntax
error. Unexpected else.
ERROR(62): Syntax error. Unexpected id: x. Expecting '('. ERROR(62):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(68): Syntax error. Unexpected number: 111. Expecting ERROR(68):
Syntax error. Unexpected number: 111. Expecting
ERROR(68): Syntax error. Unexpected else. ERROR(68): Syntax
error. Unexpected else.
ERROR(70): Syntax error. Unexpected ')'. Expecting '('. ERROR(70):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(72): Syntax error. Unexpected ')'. Expecting '('. ERROR(72):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(74): Syntax error. Unexpected ')'. Expecting '('. ERROR(74):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(76): Syntax error. Unexpected ')'. Expecting '('. ERROR(76):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(78): Syntax error. Unexpected ')'. Expecting '('. ERROR(78):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(80): Syntax error. Unexpected number: 111. Expecting ERROR(80):
Syntax error. Unexpected number: 111. Expecting
ERROR(80): Syntax error. Unexpected else. ERROR(80): Syntax
error. Unexpected else.
ERROR(82): Syntax error. Unexpected number: 111. Expecting ERROR(82):
Syntax error. Unexpected number: 111. Expecting
ERROR(82): Syntax error. Unexpected else. ERROR(82): Syntax
error. Unexpected else.
ERROR(84): Syntax error. Unexpected ';'. Expecting '('. ERROR(84):
Syntax error. Unexpected ';'. Expecting '('.
ERROR(86): Syntax error. Unexpected number: 111. Expecting ERROR(86):
Syntax error. Unexpected number: 111. Expecting
ERROR(86): Syntax error. Unexpected else. ERROR(86): Syntax
error. Unexpected else.
ERROR(88): Syntax error. Unexpected number: 111. Expecting ERROR(88):
Syntax error. Unexpected number: 111. Expecting
ERROR(88): Syntax error. Unexpected else. ERROR(88): Syntax
error. Unexpected else.
ERROR(90): Syntax error. Unexpected else. Expecting ';'. ERROR(90):
Syntax error. Unexpected else. Expecting ';'.
ERROR(92): Syntax error. Unexpected else. Expecting ';'. ERROR(92):
Syntax error. Unexpected else. Expecting ';'.
ERROR(94): Syntax error. Unexpected number: 111. ERROR(94): Syntax
error. Unexpected number: 111.
ERROR(94): Syntax error. Unexpected ';'. Expecting ')'. ERROR(94):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(94): Syntax error. Unexpected else. ERROR(94): Syntax
error. Unexpected else.
ERROR(96): Syntax error. Unexpected number: 111. ERROR(96): Syntax
error. Unexpected number: 111.
ERROR(96): Syntax error. Unexpected ';'. Expecting ')'. ERROR(96):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(96): Syntax error. Unexpected else. ERROR(96): Syntax
error. Unexpected else.
ERROR(98): Syntax error. Unexpected else. ERROR(98): Syntax
error. Unexpected else.
ERROR(102): Syntax error. Unexpected number: 111. Expecting ERROR(102):
Syntax error. Unexpected number: 111. Expecting
ERROR(104): Syntax error. Unexpected number: 111. Expecting ERROR(104):
Syntax error. Unexpected number: 111. Expecting
ERROR(106): Syntax error. Unexpected else. Expecting ')'. ERROR(106):
Syntax error. Unexpected else. Expecting ')'.
ERROR(108): Syntax error. Unexpected else. Expecting ')'. ERROR(108):
Syntax error. Unexpected else. Expecting ')'.
ERROR(118): Syntax error. Unexpected number: 111. Expecting ERROR(118):
Syntax error. Unexpected number: 111. Expecting
ERROR(120): Syntax error. Unexpected number: 111. Expecting ERROR(120):
Syntax error. Unexpected number: 111. Expecting
ERROR(122): Syntax error. Unexpected else. Expecting ')'. ERROR(122):
Syntax error. Unexpected else. Expecting ')'.
ERROR(124): Syntax error. Unexpected else. Expecting ')'. ERROR(124):
Syntax error. Unexpected else. Expecting ')'.
ERROR(134): Syntax error. Unexpected number: 111. Expecting ERROR(134):
Syntax error. Unexpected number: 111. Expecting
ERROR(136): Syntax error. Unexpected number: 111. Expecting ERROR(136):
Syntax error. Unexpected number: 111. Expecting
ERROR(138): Syntax error. Unexpected else. Expecting ')'. ERROR(138):
Syntax error. Unexpected else. Expecting ')'.
ERROR(140): Syntax error. Unexpected else. Expecting ')'. ERROR(140):
Syntax error. Unexpected else. Expecting ')'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 76 Number of errors: 76
RUN: c- < syntaxerr-init.c- <
ERROR(2): Syntax error. Unexpected ';'. ERROR(2): Syntax error.
Unexpected ';'.
ERROR(3): Syntax error. Unexpected ':'. Expecting ',' or '; ERROR(3):
Syntax error. Unexpected ':'. Expecting ',' or ';
ERROR(6): Syntax error. Unexpected number: 10. Expecting ', ERROR(6):
Syntax error. Unexpected number: 10. Expecting ',
ERROR(8): Syntax error. Unexpected ':'. Expecting id. ERROR(8):
Syntax error. Unexpected ':'. Expecting id.
ERROR(9): Syntax error. Unexpected ':'. Expecting id. ERROR(9):
Syntax error. Unexpected ':'. Expecting id.
Number of warnings: 0 Number of warnings: 0
Number of errors: 5 Number of errors: 5
RUN: c- < syntaxerr-logic.c- <
ERROR(6): Syntax error. Unexpected false. Expecting ';'. ERROR(6):
Syntax error. Unexpected false. Expecting ';'.
ERROR(8): Syntax error. Unexpected or. ERROR(8): Syntax
error. Unexpected or.
ERROR(9): Syntax error. Unexpected ';'. ERROR(9): Syntax error.
Unexpected ';'.
ERROR(10): Syntax error. Unexpected or. ERROR(10): Syntax error.
Unexpected or.
ERROR(11): Syntax error. Unexpected or. ERROR(11): Syntax error.
Unexpected or.
ERROR(15): Syntax error. Unexpected and. ERROR(15): Syntax error
. Unexpected and.
ERROR(16): Syntax error. Unexpected ';'. ERROR(16): Syntax error
. Unexpected ';'.
ERROR(17): Syntax error. Unexpected and. ERROR(17): Syntax error
. Unexpected and.
ERROR(18): Syntax error. Unexpected and. ERROR(18): Syntax error
. Unexpected and.
ERROR(21): Syntax error. Unexpected and. ERROR(21): Syntax error
. Unexpected and.
Number of warnings: 0 Number of warnings: 0
Number of errors: 10 Number of errors: 10
RUN: c- < syntaxerr-parens.c- <
ERROR(5): Syntax error. Unexpected ')'. Expecting ';'. ERROR(5): Syntax
error. Unexpected ')'. Expecting ';'.
ERROR(6): Syntax error. Unexpected ';'. Expecting ')'. ERROR(6): Syntax
error. Unexpected ';'. Expecting ')'.
ERROR(7): Syntax error. Unexpected ';'. Expecting ')'. ERROR(7): Syntax
error. Unexpected ';'. Expecting ')'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 3 Number of errors: 3
RUN: c- < syntaxerr-parms.c- <
ERROR(4): Syntax error. Unexpected ')'. Expecting id. ERROR(4):
Syntax error. Unexpected ')'. Expecting id.
ERROR(5): Syntax error. Unexpected id: z. Expecting bool or ERROR(5):
Syntax error. Unexpected id: z. Expecting bool or
ERROR(6): Syntax error. Unexpected ')'. Expecting bool or c ERROR(6):
Syntax error. Unexpected ')'. Expecting bool or c
ERROR(8): Syntax error. Unexpected bool. Expecting ')'. ERROR(8):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(9): Syntax error. Unexpected id: z. Expecting ')'. ERROR(9):
Syntax error. Unexpected id: z. Expecting ')'.
ERROR(11): Syntax error. Unexpected ';'. Expecting id. ERROR(11):
Syntax error. Unexpected ';'. Expecting id.
ERROR(12): Syntax error. Unexpected ';'. Expecting id. ERROR(12):
Syntax error. Unexpected ';'. Expecting id.
ERROR(12): Syntax error. Unexpected ')'. Expecting id. ERROR(12):
Syntax error. Unexpected ')'. Expecting id.
ERROR(13): Syntax error. Unexpected ';'. Expecting id. ERROR(13):
Syntax error. Unexpected ';'. Expecting id.
ERROR(13): Syntax error. Unexpected id: z. Expecting bool o ERROR(13):
Syntax error. Unexpected id: z. Expecting bool o
ERROR(14): Syntax error. Unexpected ';'. Expecting id. ERROR(14):
Syntax error. Unexpected ';'. Expecting id.
ERROR(14): Syntax error. Unexpected ')'. Expecting bool or ERROR(14):
Syntax error. Unexpected ')'. Expecting bool or
ERROR(16): Syntax error. Unexpected bool. Expecting id. ERROR(16):
Syntax error. Unexpected bool. Expecting id.
ERROR(16): Syntax error. Unexpected bool. Expecting ')'. ERROR(16):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(18): Syntax error. Unexpected ')'. Expecting id. ERROR(18):
Syntax error. Unexpected ')'. Expecting id.
ERROR(19): Syntax error. Unexpected id: y. Expecting ')'. ERROR(19):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(20): Syntax error. Unexpected id: y. Expecting ')'. ERROR(20):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(21): Syntax error. Unexpected id: y. Expecting ')'. ERROR(21):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(22): Syntax error. Unexpected id: y. Expecting ')'. ERROR(22):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(23): Syntax error. Unexpected id: y. Expecting ')'. ERROR(23):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(24): Syntax error. Unexpected id: y. Expecting ')'. ERROR(24):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(25): Syntax error. Unexpected id: y. Expecting ')'. ERROR(25):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(26): Syntax error. Unexpected id: y. Expecting ')'. ERROR(26):
Syntax error. Unexpected id: y. Expecting ')'.
ERROR(28): Syntax error. Unexpected ')'. Expecting id. ERROR(28):
Syntax error. Unexpected ')'. Expecting id.
ERROR(29): Syntax error. Unexpected id: z. Expecting bool o ERROR(29):
Syntax error. Unexpected id: z. Expecting bool o
ERROR(30): Syntax error. Unexpected ')'. Expecting bool or ERROR(30):
Syntax error. Unexpected ')'. Expecting bool or
ERROR(32): Syntax error. Unexpected bool. Expecting ')'. ERROR(32):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(33): Syntax error. Unexpected id: z. Expecting ')'. ERROR(33):
Syntax error. Unexpected id: z. Expecting ')'.
ERROR(36): Syntax error. Unexpected ','. Expecting id. ERROR(36):
Syntax error. Unexpected ','. Expecting id.
ERROR(37): Syntax error. Unexpected ','. Expecting id. ERROR(37):
Syntax error. Unexpected ','. Expecting id.
ERROR(37): Syntax error. Unexpected ')'. Expecting id. ERROR(37):
Syntax error. Unexpected ')'. Expecting id.
ERROR(38): Syntax error. Unexpected ','. Expecting id. ERROR(38):
Syntax error. Unexpected ','. Expecting id.
ERROR(38): Syntax error. Unexpected id: z. Expecting bool o ERROR(38):
Syntax error. Unexpected id: z. Expecting bool o
ERROR(39): Syntax error. Unexpected ','. Expecting id. ERROR(39):
Syntax error. Unexpected ','. Expecting id.
ERROR(39): Syntax error. Unexpected ')'. Expecting bool or ERROR(39):
Syntax error. Unexpected ')'. Expecting bool or
ERROR(41): Syntax error. Unexpected ','. Expecting id. ERROR(41):
Syntax error. Unexpected ','. Expecting id.
ERROR(41): Syntax error. Unexpected bool. Expecting ')'. ERROR(41):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(42): Syntax error. Unexpected ','. Expecting id. ERROR(42):
Syntax error. Unexpected ','. Expecting id.
ERROR(42): Syntax error. Unexpected id: z. Expecting ')'. ERROR(42):
Syntax error. Unexpected id: z. Expecting ')'.
ERROR(43): Syntax error. Unexpected ','. Expecting id. ERROR(43):
Syntax error. Unexpected ','. Expecting id.
ERROR(44): Syntax error. Unexpected ','. Expecting id. ERROR(44):
Syntax error. Unexpected ','. Expecting id.
Number of warnings: 0 Number of warnings: 0
Number of errors: 41 Number of errors: 41
RUN: c- < syntaxerr-small.c- <
WARNING(5): Invalid input character: ^. Character ignored. WARNING(5):
Invalid input character: ^. Character ignored.
ERROR(5): Syntax error. Unexpected id: k. Expecting ']'. ERROR(5):
Syntax error. Unexpected id: k. Expecting ']'.
ERROR(6): Syntax error. Unexpected id: x. ERROR(6): Syntax error
. Unexpected id: x.
ERROR(7): Syntax error. Unexpected '='. Expecting '('. ERROR(7): Syntax
error. Unexpected '='. Expecting '('.
ERROR(8): Syntax error. Unexpected id: x0. Expecting ';'. ERROR(8):
Syntax error. Unexpected id: x0. Expecting ';'.
ERROR(9): Syntax error. Unexpected '+'. ERROR(9): Syntax error.
Unexpected '+'.
WARNING(14): Invalid input character: @. Character ignored. WARNING(14):
Invalid input character: @. Character ignored.
WARNING(14): Invalid input character: #. Character ignored. WARNING(14):
Invalid input character: #. Character ignored.
ERROR(14): Syntax error. Unexpected ';'. Expecting ')'. ERROR(14):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(15): Syntax error. Unexpected ';'. Expecting ')'. ERROR(15):
Syntax error. Unexpected ';'. Expecting ')'.
ERROR(16): Syntax error. Unexpected ';'. Expecting ')'. ERROR(16):
Syntax error. Unexpected ';'. Expecting ')'.
Number of warnings: 3 Number of warnings: 3
Number of errors: 8 Number of errors: 8
RUN: c- < syntaxerr-summul.c- <
ERROR(6): Syntax error. Unexpected number: 222. Expecting ' ERROR(6):
Syntax error. Unexpected number: 222. Expecting '
ERROR(8): Syntax error. Unexpected '+'. ERROR(8): Syntax error.
Unexpected '+'.
ERROR(9): Syntax error. Unexpected ';'. ERROR(9): Syntax error.
Unexpected ';'.
ERROR(10): Syntax error. Unexpected '+'. ERROR(10): Syntax error
. Unexpected '+'.
ERROR(11): Syntax error. Unexpected '+'. ERROR(11): Syntax error
. Unexpected '+'.
ERROR(15): Syntax error. Unexpected ';'. ERROR(15): Syntax error
. Unexpected ';'.
ERROR(16): Syntax error. Unexpected ';'. ERROR(16): Syntax error
. Unexpected ';'.
ERROR(18): Syntax error. Unexpected ';'. ERROR(18): Syntax error
. Unexpected ';'.
ERROR(21): Syntax error. Unexpected '+'. ERROR(21): Syntax error
. Unexpected '+'.
ERROR(22): Syntax error. Unexpected '+'. ERROR(22): Syntax error
. Unexpected '+'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 10 Number of errors: 10
RUN: c- < syntaxerr-type.c- <
ERROR(2): Syntax error. Unexpected ';'. Expecting id. ERROR(2):
Syntax error. Unexpected ';'. Expecting id.
ERROR(3): Syntax error. Unexpected id: b. Expecting ',' or ERROR(3):
Syntax error. Unexpected id: b. Expecting ',' or
ERROR(4): Syntax error. Unexpected int. Expecting id. ERROR(4):
Syntax error. Unexpected int. Expecting id.
ERROR(5): Syntax error. Unexpected int. Expecting id. ERROR(5):
Syntax error. Unexpected int. Expecting id.
Number of warnings: 0 Number of warnings: 0
Number of errors: 4 Number of errors: 4
RUN: c- < syntaxerr-typearray.c- <
ERROR(4): Syntax error. Unexpected id: x. Expecting number. ERROR(4):
Syntax error. Unexpected id: x. Expecting number.
ERROR(6): Syntax error. Unexpected '*'. Expecting ']'. ERROR(6): Syntax
error. Unexpected '*'. Expecting ']'.
ERROR(11): Syntax error. Unexpected ';'. Expecting ']'. ERROR(11):
Syntax error. Unexpected ';'. Expecting ']'.
ERROR(13): Syntax error. Unexpected ']'. Expecting number. ERROR(13):
Syntax error. Unexpected ']'. Expecting number.
ERROR(15): Syntax error. Unexpected ';'. Expecting number. ERROR(15):
Syntax error. Unexpected ';'. Expecting number.
ERROR(17): Syntax error. Unexpected number: 33. Expecting ' ERROR(17):
Syntax error. Unexpected number: 33. Expecting '
ERROR(19): Syntax error. Unexpected number: 33. Expecting ' ERROR(19):
Syntax error. Unexpected number: 33. Expecting '
ERROR(21): Syntax error. Unexpected ']'. Expecting ',' or ' ERROR(21):
Syntax error. Unexpected ']'. Expecting ',' or '
ERROR(25): Syntax error. Unexpected '['. Expecting id. ERROR(25):
Syntax error. Unexpected '['. Expecting id.
ERROR(27): Syntax error. Unexpected '['. Expecting id. ERROR(27):
Syntax error. Unexpected '['. Expecting id.
ERROR(29): Syntax error. Unexpected '['. Expecting id. ERROR(29):
Syntax error. Unexpected '['. Expecting id.
ERROR(31): Syntax error. Unexpected '['. Expecting id. ERROR(31):
Syntax error. Unexpected '['. Expecting id.
ERROR(33): Syntax error. Unexpected number: 33. Expecting i ERROR(33):
Syntax error. Unexpected number: 33. Expecting i
ERROR(35): Syntax error. Unexpected number: 33. Expecting i ERROR(35):
Syntax error. Unexpected number: 33. Expecting i
ERROR(37): Syntax error. Unexpected ']'. Expecting id. ERROR(37):
Syntax error. Unexpected ']'. Expecting id.
ERROR(41): Syntax error. Unexpected bool. Expecting ']'. ERROR(41):
Syntax error. Unexpected bool. Expecting ']'.
ERROR(43): Syntax error. Unexpected ']'. Expecting number. ERROR(43):
Syntax error. Unexpected ']'. Expecting number.
ERROR(45): Syntax error. Unexpected bool. Expecting number. ERROR(45):
Syntax error. Unexpected bool. Expecting number.
ERROR(47): Syntax error. Unexpected number: 33. Expecting ' ERROR(47):
Syntax error. Unexpected number: 33. Expecting '
ERROR(49): Syntax error. Unexpected number: 33. Expecting ' ERROR(49):
Syntax error. Unexpected number: 33. Expecting '
ERROR(51): Syntax error. Unexpected ']'. Expecting ',' or ' ERROR(51):
Syntax error. Unexpected ']'. Expecting ',' or '
ERROR(53): Syntax error. Unexpected bool. Expecting ',' or ERROR(53):
Syntax error. Unexpected bool. Expecting ',' or
ERROR(55): Syntax error. Unexpected '['. Expecting id. ERROR(55):
Syntax error. Unexpected '['. Expecting id.
ERROR(57): Syntax error. Unexpected '['. Expecting id. ERROR(57):
Syntax error. Unexpected '['. Expecting id.
ERROR(59): Syntax error. Unexpected '['. Expecting id. ERROR(59):
Syntax error. Unexpected '['. Expecting id.
ERROR(61): Syntax error. Unexpected '['. Expecting id. ERROR(61):
Syntax error. Unexpected '['. Expecting id.
ERROR(63): Syntax error. Unexpected number: 33. Expecting i ERROR(63):
Syntax error. Unexpected number: 33. Expecting i
ERROR(65): Syntax error. Unexpected number: 33. Expecting i ERROR(65):
Syntax error. Unexpected number: 33. Expecting i
ERROR(67): Syntax error. Unexpected ']'. Expecting id. ERROR(67):
Syntax error. Unexpected ']'. Expecting id.
ERROR(69): Syntax error. Unexpected bool. Expecting id. ERROR(69):
Syntax error. Unexpected bool. Expecting id.
Number of warnings: 0 Number of warnings: 0
Number of errors: 30 Number of errors: 30
RUN: c- < syntaxerr-typefun.c- <
ERROR(9): Syntax error. Unexpected '*'. Expecting bool or c ERROR(9):
Syntax error. Unexpected '*'. Expecting bool or c
ERROR(14): Syntax error. Unexpected ';'. Expecting bool or ERROR(14):
Syntax error. Unexpected ';'. Expecting bool or
ERROR(20): Syntax error. Unexpected '('. Expecting id. ERROR(20):
Syntax error. Unexpected '('. Expecting id.
ERROR(22): Syntax error. Unexpected '('. Expecting id. ERROR(22):
Syntax error. Unexpected '('. Expecting id.
ERROR(24): Syntax error. Unexpected ')'. Expecting id. ERROR(24):
Syntax error. Unexpected ')'. Expecting id.
ERROR(26): Syntax error. Unexpected ';'. Expecting id. ERROR(26):
Syntax error. Unexpected ';'. Expecting id.
ERROR(30): Syntax error. Unexpected ';'. Expecting bool or ERROR(30):
Syntax error. Unexpected ';'. Expecting bool or
ERROR(32): Syntax error. Unexpected id: dog. Expecting bool ERROR(32):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(34): Syntax error. Unexpected ';'. Expecting '('. ERROR(34):
Syntax error. Unexpected ';'. Expecting '('.
ERROR(38): Syntax error. Unexpected '('. ERROR(38): Syntax error
. Unexpected '('.
ERROR(42): Syntax error. Unexpected ';'. ERROR(42): Syntax error
. Unexpected ';'.
ERROR(47): Syntax error. Unexpected '*'. Expecting bool or ERROR(47):
Syntax error. Unexpected '*'. Expecting bool or
ERROR(51): Syntax error. Unexpected '*'. Expecting ',' or ' ERROR(51):
Syntax error. Unexpected '*'. Expecting ',' or '
ERROR(53): Syntax error. Unexpected '('. Expecting id. ERROR(53):
Syntax error. Unexpected '('. Expecting id.
ERROR(55): Syntax error. Unexpected '('. Expecting id. ERROR(55):
Syntax error. Unexpected '('. Expecting id.
ERROR(57): Syntax error. Unexpected '*'. Expecting id. ERROR(57):
Syntax error. Unexpected '*'. Expecting id.
ERROR(59): Syntax error. Unexpected '*'. Expecting id. ERROR(59):
Syntax error. Unexpected '*'. Expecting id.
ERROR(61): Syntax error. Unexpected id: dog. Expecting bool ERROR(61):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(63): Syntax error. Unexpected id: dog. Expecting bool ERROR(63):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(65): Syntax error. Unexpected id: dog. Expecting bool ERROR(65):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(67): Syntax error. Unexpected id: dog. Expecting bool ERROR(67):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(69): Syntax error. Unexpected '('. Expecting bool or ERROR(69):
Syntax error. Unexpected '('. Expecting bool or
ERROR(71): Syntax error. Unexpected '('. Expecting bool or ERROR(71):
Syntax error. Unexpected '('. Expecting bool or
ERROR(73): Syntax error. Unexpected '*'. Expecting bool or ERROR(73):
Syntax error. Unexpected '*'. Expecting bool or
ERROR(75): Syntax error. Unexpected '*'. Expecting bool or ERROR(75):
Syntax error. Unexpected '*'. Expecting bool or
ERROR(78): Syntax error. Unexpected '('. Expecting ')'. ERROR(78):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(80): Syntax error. Unexpected '('. Expecting ')'. ERROR(80):
Syntax error. Unexpected '('. Expecting ')'.
ERROR(82): Syntax error. Unexpected bool. Expecting ')'. ERROR(82):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(84): Syntax error. Unexpected bool. Expecting ')'. ERROR(84):
Syntax error. Unexpected bool. Expecting ')'.
ERROR(86): Syntax error. Unexpected '('. Expecting id. ERROR(86):
Syntax error. Unexpected '('. Expecting id.
ERROR(88): Syntax error. Unexpected '('. Expecting id. ERROR(88):
Syntax error. Unexpected '('. Expecting id.
ERROR(90): Syntax error. Unexpected bool. Expecting id. ERROR(90):
Syntax error. Unexpected bool. Expecting id.
ERROR(92): Syntax error. Unexpected bool. Expecting id. ERROR(92):
Syntax error. Unexpected bool. Expecting id.
ERROR(94): Syntax error. Unexpected id: dog. Expecting bool ERROR(94):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(96): Syntax error. Unexpected id: dog. Expecting bool ERROR(96):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(98): Syntax error. Unexpected id: dog. Expecting bool ERROR(98):
Syntax error. Unexpected id: dog. Expecting bool
ERROR(100): Syntax error. Unexpected id: dog. Expecting boo ERROR(100):
Syntax error. Unexpected id: dog. Expecting boo
ERROR(102): Syntax error. Unexpected '('. Expecting bool or ERROR(102):
Syntax error. Unexpected '('. Expecting bool or
ERROR(104): Syntax error. Unexpected '('. Expecting bool or ERROR(104):
Syntax error. Unexpected '('. Expecting bool or
Number of warnings: 0 Number of warnings: 0
Number of errors: 39 Number of errors: 39
RUN: c- < syntaxerr-unary.c- <
ERROR(5): Syntax error. Unexpected while. ERROR(5): Syntax error
. Unexpected while.
ERROR(6): Syntax error. Unexpected ';'. ERROR(6): Syntax error.
Unexpected ';'.
ERROR(8): Syntax error. Unexpected while. ERROR(8): Syntax error
. Unexpected while.
ERROR(9): Syntax error. Unexpected ';'. ERROR(9): Syntax error.
Unexpected ';'.
ERROR(11): Syntax error. Unexpected while. ERROR(11): Syntax
error. Unexpected while.
ERROR(12): Syntax error. Unexpected ';'. ERROR(12): Syntax error
. Unexpected ';'.
Number of warnings: 0 Number of warnings: 0
Number of errors: 6 Number of errors: 6
RUN: c- < syntaxerr-while.c- <
ERROR(6): Syntax error. Unexpected int. Expecting or or ')' ERROR(6):
Syntax error. Unexpected int. Expecting or or ')'
ERROR(8): Syntax error. Unexpected int. ERROR(8): Syntax error.
Unexpected int.
ERROR(10): Syntax error. Unexpected int. ERROR(10): Syntax error
. Unexpected int.
ERROR(12): Syntax error. Unexpected int. Expecting '('. ERROR(12):
Syntax error. Unexpected int. Expecting '('.
ERROR(14): Syntax error. Unexpected int. Expecting '('. ERROR(14):
Syntax error. Unexpected int. Expecting '('.
ERROR(18): Syntax error. Unexpected int. Expecting '('. ERROR(18):
Syntax error. Unexpected int. Expecting '('.
ERROR(23): Syntax error. Unexpected ';'. ERROR(23): Syntax error
. Unexpected ';'.
ERROR(25): Syntax error. Unexpected ')'. ERROR(25): Syntax error
. Unexpected ')'.
ERROR(25): Syntax error. Unexpected ';'. Expecting or or ') ERROR(25):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(27): Syntax error. Unexpected ';'. ERROR(27): Syntax error
. Unexpected ';'.
ERROR(29): Syntax error. Unexpected '*'. Expecting '('. ERROR(29):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(29): Syntax error. Unexpected ')'. Expecting ';'. ERROR(29):
Syntax error. Unexpected ')'. Expecting ';'.
ERROR(31): Syntax error. Unexpected '*'. Expecting '('. ERROR(31):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(31): Syntax error. Unexpected ';'. ERROR(31): Syntax error
. Unexpected ';'.
ERROR(33): Syntax error. Unexpected '*'. Expecting '('. ERROR(33):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(35): Syntax error. Unexpected '*'. Expecting '('. ERROR(35):
Syntax error. Unexpected '*'. Expecting '('.
ERROR(35): Syntax error. Unexpected ';'. ERROR(35): Syntax error
. Unexpected ';'.
ERROR(40): Syntax error. Unexpected ';'. Expecting or or ') ERROR(40):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(42): Syntax error. Unexpected ')'. ERROR(42): Syntax error
. Unexpected ')'.
ERROR(42): Syntax error. Unexpected ';'. Expecting or or ') ERROR(42):
Syntax error. Unexpected ';'. Expecting or or ')
ERROR(44): Syntax error. Unexpected ';'. ERROR(44): Syntax error
. Unexpected ';'.
ERROR(46): Syntax error. Unexpected id: x. Expecting '('. ERROR(46):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(48): Syntax error. Unexpected id: x. Expecting '('. ERROR(48):
Syntax error. Unexpected id: x. Expecting '('.
ERROR(50): Syntax error. Unexpected ')'. Expecting '('. ERROR(50):
Syntax error. Unexpected ')'. Expecting '('.
ERROR(52): Syntax error. Unexpected ';'. Expecting '('. ERROR(52):
Syntax error. Unexpected ';'. Expecting '('.
Number of warnings: 0 Number of warnings: 0
Number of errors: 25 Number of errors: 25
<
End of testing <
h*****i
发帖数: 9112
299
乖乖,这一屏的error吓死个人

【在 d**********o 的大作中提到】
: hw4:老师附件
: /**** Limited to 5 seconds total run time and 5000 lines of output <
: <
: /**** * ================================================ * <
: | Tests for CS445 Assignment 4 | <
: | Comparison with Expected Output | <
: /**** * ================================================ * <
: <
: /export/home/nibbler/TestWorld <
: find makefile <

d**********o
发帖数: 1321
300
风向(1)
我是那个这学期一边上着编译课、同时还每周在学校食堂里打着十五六小时工的学生,
于是,对于编译课这个代课老师的风向,还是稍有把握的。
前面提到过了,这个学期食堂里,我的打工环境已经比上学期好了很多。实际上,更精
准的话应该是,这学期的打工人文环境是上学期的取反(-),因为这学期,多了太多
想要讨好我的manager一一绝大部分时间被安排在classics这个相对轻松的station暂且
不说,有一阵儿还有年轻的小美校园大学生shut down时在我耳边唱歌~~ 而与这样的环
境相对应的是学校校园里的活动,比如九月底的career fair,我甚至根本就没有去,
连进去逛也一下也没有,因为那时他们正在打我跟编译课老师作research的牌。说得好
听的舆论打法是,这个在普朴工作过15年的人,如果我research作得好,等我毕业了,
别人可以帮我推荐工作!亲,我还没有开口说话,大概你们也已经猜到我想说什么了一
一这话在我就是一阵风,吹过了就什么也没有了!别说research我能不能真正作得好还
成问题,就算是自己真正作得好了,能发几篇文章么,不想要学术圈混的人文章要来是
作什么用的?这会儿舆论风口上,别人说的话如此好听动人,到时候呢,一年以后、两
年以后,谁还记得谁,别人让不让毕业、会不会再拖,我拖得起么,这话我能信吗?而
且这个“变态”老师名下,多少冤魂野鬼,半途而废的、中途退学的、直接放弃博士出
去工作的,有相当高的比例,难道我一定要明知山有虎、偏向虎山行,自已同自己过不
去?不,这个导师,他多我一个不多,少我一个不少,我可不想去作那冤魂野鬼~~ ;)
后来,我基本上把食堂里的manager都快得罪光了,因为此人顽固不化,太不支持配合
他们的活动了!
后来,观察得多了,慢慢也就看明白了他们一一食堂、学校的活动,与代课老师三方合
作的牌到底在怎么打了!
相关主题
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
301
偶现在释放灵魂~~
专干吓死人不偿命的事儿 :)
有侬这句话
以后偶要多贴点儿~~!!

【在 h*****i 的大作中提到】
: 乖乖,这一屏的error吓死个人
d**********o
发帖数: 1321
302
风向(2)
这个编译课的老师,在打着我与表哥的爱情关系牌。他时而,他又会故意以讲assembly
language这样大家都会发懵、都会头大、都会对这门课的作业缺少信心和安全感的课
堂内容,而且光速扫进、速度奇快。他以这种方式在课堂上打击鄙视我(们,主要是针
对我),嫌我学习不好,大概还是想要极尽所能地压我在这所残破的小学校多呆一年吧
~~
他时而也在上课的课堂上提拔、鼓励我们一一滚滚长江东逝水,浪花滔尽英雄一一以讲
compiler的framework,讲他之前快速跳过的细节来增加我们的信心。当然,当老师们
对我进行可控范围内的提拔的时候,这种提拔也并不仅只来自同一个老师,比如硬件课
的老师就也有一次课堂上,公开否定过另一位印度女生的意见,来鼓励提携我。那个代
课老师课堂上这么说过:“上过编译课、懂得assembly language,懂得代码优化,甚
至过一些实习经验,那找工作就很容易了(还是别的一句什么,最后这一句记得不是很
牢固)!”
而编译课老师这上课的节奏的快慢与否,也与食堂、学校活动的结果紧密相关。有一次
学校食堂里又在开一个什么活动,根据个人判断,那会儿他们在打我与表哥分手一一从
我与同学们的互动他们大概也会看得出来,在与表哥的爱情里,我的灵魂正在游走!虽
然在网上、分好几次,我费了九牛二虎之力写完了自己的三生三世,写完了自己那场爱
情;但这并不防碍别人想要以食堂里活动的形式将这种分手放大。
d**********o
发帖数: 1321
303
风向(2)
这个编译课的老师,在打着我与表哥的爱情关系牌。他时而,他又会故意以讲assembly
language这样大家都会发懵、都会头大、都会对这门课的作业缺少信心和安全感的课
堂内容,而且光速扫进、速度奇快。他以这种方式在课堂上打击鄙视我(们,主要是针
对我),嫌我学习不好,大概还是想要极尽所能地压我在这所残破的小学校多呆一年吧
~~
他时而也在上课的课堂上提拔、鼓励我们一一滚滚长江东逝水,浪花滔尽英雄一一以讲
compiler的framework,讲他之前快速跳过的细节来增加我们的信心。当然,当老师们
对我进行可控范围内的提拔的时候,这种提拔也并不仅只来自同一个老师,比如硬件课
的老师就也有一次课堂上,公开否定过另一位印度女生的意见,来鼓励提携我。那个代
课老师课堂上这么说过:“上过编译课、懂得assembly language,懂得代码优化,甚
至过一些实习经验,那找工作就很容易了(还是别的一句什么,最后这一句记得不是很
牢固)!”
而编译课老师这上课的节奏的快慢与否,也与食堂、学校活动的结果紧密相关。有一次
学校食堂里又在开一个什么活动,根据个人判断,那会儿他们在打我与表哥分手一一从
我与同学们的互动他们大概也会看得出来,在与表哥的爱情里,我的灵魂正在游走!虽
然在网上、分好几次,我费了九牛二虎之力写完了自己的三生三世,写完了自己那场爱
情;但这并不防碍别人想要以食堂里活动的形式将这种分手放大。
d**********o
发帖数: 1321
304
风向(3)
我一一的状态在哪里?我不知道~~!
如果有一天,表哥恋爱了,或者真如当年舅母所说,表哥与韩国哪位那时的美女(前女
友)订婚了,我想我一定不会恨一一表哥与我之间永远不该有恨、不会有恨;舅舅和表
哥都是在我漫长、支离破碎的成长岁月中给过我最真切关怀与温暖的人,这些年来,这
份感情里,有血浓于水的亲情、有过最真切的感动与爱,有踏踏实实、实实在在的温暖
,要我去恨,我做不到!我应该会为表哥送上默默祝福的吧~~
如果有一天,我遇到了让自己动心的人,我想我大概也该会一一没有遗憾,不再眷恋,
大踏步迈向新生活吧~~ ^_*
但无论如何,舅舅、表哥这一家、我与表哥的爱情,绝对不deserve、不能也不应该,
以这种敲锣打鼓、庆祝的方式送别离开!
彼时,与这个家庭千丝万缕的联系,那个我曾经心心念念牵挂着的人,在表哥获得确定
的幸福之前,抑或在我遇到让自己动心的人之前,它都像自己身上的一个肿瘤、一块肉
般全然成为自己身体的一部分,水浮交融,任何勉强的外力拉扭、强行分开,都必将会
血肉模糊、生离死别、痛彻心菲~~ 关于这场爱情的结局,还是把它留给缘份、留给时
间来解决吧~~
那晚,我在沙位吧表情冷峻;manager过来问我,是不是饿了想take break还是回家休
息时,我的反应很诧异一一早前九月底我身体那么虚弱的时候,我也坚持把那天的
shift值完,怎么可能因为饿不好好工作呢?!我受不了、不能容忍的应该是一种蝇头
小利、鼠目寸光的作法吧~~
d**********o
发帖数: 1321
305
之前贴出邮件部分的叙述
还没有写
明天再补
为把一件事说完
今天已经写太多了 累 *_^
现在盼写完
写完了
就解脱了 :)
仿佛生活里
偶终于等来了
下一个篇章 盼 ^_*
d**********o
发帖数: 1321
306
hw4老师出错
其实后来,不记得是在这次大风浪的绯闻之前还是之后,有一次上课,老师明确表明他
的university邮箱是有问题的,接收邮件有时候会出问题,他课堂上要求我们发邮件到
他的gmail账户。但是,我注意他写给同学们的账户与他给我发邮件的账户不一样。后
来,课堂后我问过老师,我以后发邮件到他写给小伙伴们的邮箱,但他坚持让我继续写
给他之前的邮箱。
这样,后来hw4,他给我们tar ball的test文件与我们交作业后Amazon server上的结果
不一样时,我也还是用他以前的邮箱给他写了邮件。那天晚上,他正好Gmail在线,作
为班上仅有的、他曾偏爱过的两个女生之一,当他试图表示他检查过了没有错的时候,
大概我真如那当年的心理医生所说,我算是冷血吧,就全然拿出了industry工作的
professional态度坚持要求他重新检查并确认。他那天晚上就没有再回邮件。
周一的课堂上,老师的头发显得凌乱不堪,不知道是这个他才意识到的bug的存在打乱
了他的步伐,fix得疲惫交加;还是一个自负的、industry工作了15年的人如他,这种
bug的存在对他来说简直是奇耻大辱;又或者说,借这凌乱的头发表达不小心造成不便
的歉意~~ 我不是他肚子里的蛔虫,我猜不透。
d**********o
发帖数: 1321
307
第四次回答问题(1)
大哭那天傍晚知道了老师的那条休息对我来说太意外。虽然我还不至于说因着别人的不
幸跑去窃喜,但我把自己的戒备心放下了。去换位思考一下,因着他自己已然亲身经历
的不幸,想来对别人的痛苦、苦难更能感同身受吧!这几个周的时间真是一段难得的太
平日子,我心很静,每天想的事情就是去写作业,把自己能想得明白的作业能写多少写
多少,因为我时间不够、写不完的!
偶尔,当老师继续时快时慢、高低不平的讲课时,我已经开始处变不惊,毕竟我的底线
已经很清楚了,最差的情况就是春天学期自己交学费而已,毕竟,我也还是要毕业的。
某天上课老师又极慢地讲课,一个x=3 (, x=3+y, x=3+sin(y)等等是类似的)的代码生
成,这个老师反来复去讲了两三遍了还在讲。因为我有心理阴影,上次(这堂课的第三
次课堂发言)提了个问题还被老师那样弄了一下,那这次作为班上的唯“二”女生,我
来回答问题!
我就这门课第四次(也是这门课这学期最后一次)回答问题了。问题是怎么答的,我也
已经不记得了,但是因为我有心理阴影,我回答问题时,我的语气就带上了略为的不满
,质疑老师没必要讲得这么慢,不满意大家觉得我笨!
d**********o
发帖数: 1321
308
第四次回答问题(2)
我早也已经说过了,这是一个极有手段的老师,我既然自己自告奋勇地“站”起来回答
问题了,那就免不了老师在那刚刚提问给课堂小伙伴问题的基础上,再接着加码追加问
题;哈哈,这也可真算是棋逢对手、将遇良才啊一一偏偏这边也是一个心气极高、绝不
妥协的学生!你既然接着提问题,那我就接着答就是了,心里暗叹着,我就不信了,看
你这个要如何收场!
老师光速讲课的时候一般小伙伴们都听不懂,所以老师也还剩有自知之明,一般他自己
不会提问;老师讲得慢的时候,因为老师阴阳怪气的讲课速度,一段时间以来,班上绝
大部分同学都已经不敢再发言。到这时,我回答问题似乎他们稍感意外;等老师再追加
轮回时,空气就开始有点儿凝滞了,除了老师的提问、我回答问题、还能听得见针掉到
地上的声音。
如此这样,三轮过后的的第四个问题,因为我表达得不够清楚,就相当于是我出现了口
误。虽然我并不以这回答不精准为误,根本就不把它放在心上,但代课老师已经认为他
赢了一一问完了,他断定为我回答不对,他自己不再问问题了。
我不甘心地败下阵来,心里略为不满他居然会认为我败了,那会儿就不再提问了;可是
作为他“偏爱”过的女学生,我已经95%地回答对了这些问题,他的topic 已经move on
了,这样也就可以了吧,我在心里安慰着自己。
d**********o
发帖数: 1321
309
第四次回答问题(3)
没想到的是,过了两分钟,代课老师又提问了。说是迟,那时快一一我还在犹豫,我要
不要、应不应该再站出来回答问题时,我的同桌一一那个帅气的美国小伙子已经抢着在
我之前第一个在回答老师的问题。我这么着自动“站”出来回答问题,还被老师追加两
三轮之后,我同桌小伙伴的抢答问题,就忽然让自己那被逼出来回答的问题变得瞬间就
有了难度,内心里惊喜交加一一大家知道我从小长得并不漂亮,所以偶纯天然花痴的毛
病就在这一刻发作,我本能地扭过头去,望向了那个有着长长的睫毛、忧郁的眼睛的帅
气同桌,望进他的眼睛里一一@//&*$_+! *_^,大家表被偶滴符号蒙骗;事实是,老师
也拿了对待我的方式一一继续加码追加提第二轮的问题来对待我的同桌,我眼睁睁、眼
巴巴地望着同桌白皙的脸庞、大大的眼睛,但他却是望着老师在谨慎地回答着问题的~~
看来偶对长相的自卑已经伴随着漫长的成长,不知道什么时候就像<Forrest Gump>
腿上的枷锁一样丢掉了~~ 可能老师新的topic稍难些吧,我帅气的同桌在新追加的第一
个问题就败下阵来。
这堂课上,后来,老师也提到了第四次作业的那个问题,就说那个不match、先后顺序
没有关系,他不会扣我们分的,让我们继续写作业。后来,据小伙伴们说,也有好几个
同学都给老师就这第四次作业网页上老师给出的test文件的结果与交了作业后Amazon上
结果不match给老师写过邮件,但据说小伙伴们的邮件老师就基本都没有回。
后来有一次office hour问问题,同问问题的还有一位美国男生;我先到的,我先开始
的;但他来后,在我的问题解答完之前,老师既要他进office,进去后还先解答他的问
题,而把我的问题凉在一边,也让自己十分恼火过。
也不记得是哪次问问题时,代课老师也表扬过我,他说我是这个班上最聪明的学生,只
是稍微欠缺一点儿programming experience。听到代课老师的表扬,我倒还是挺开心的。
d**********o
发帖数: 1321
310
雕刻时光(1)
后来,代课老师还组织过一个coding section,我是一个需要帮助的学生,老师能帮忙
,我当然还是去的,但那天去的人不多。坐我左边的女生那时应该已经彻底放弃那门课
了(这是她第二次选这门课,后来好像是怎么petition了一下,相当于她自己彻底放弃
、重新换了个方向*_^ ),其它人这次就只来了两个美国男生。我们先到的,后来代课
老师进来时手里还拿着什么小cookie在吃。那时我写作业写累了常常会在系里的老虎机
上买小零食吃,看见代课老师这样,心里生出一股本能的反感,即刻收起笔记本、捡起
书包就下楼到thinktank去找小伙伴们一起写作业了。
那里,我hw3b留下的一两个小尾巴,感恩节期间还写邮件问过一个小伙伴;这里,有这
同一个小伙伴、还有那上次留着大胡子、coding section吃中国饭的美国男生;这里环
境便利、沟通方便,我们两个在白板上画画画,之前好几封邮件里都没能说清楚、后来
一直放着的尾巴,这时就两三分钟解决问题了(当然,到那时是,两个小尾巴的思路清
楚了,但因为我忙于写hw5,也没再去改那部分的代码,一个是ReturnK,一个是
CompoundK)。
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
老印还挺不好伺候的,不准备打交道了有患巧克力囊肿后成功怀孕的版友吗?
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
进入WebRadio版参与讨论
d**********o
发帖数: 1321
311
雕刻时光(2)
这门课五次作业,到第三次作业写完,当初那完全不知道什么pre-traverse、post-
traverse的遍历,这时我也就拥有了power,对遍历有了完全的掌控力,对这编译的理
解消化就已经上了一个新台阶。第四次作业还有几个小的地方自己独立想不通;到第五
次作业,画架构一一写出c- compiler如何进main function,如何从main function
return statement出来,各function call的 frame pointer、return pointer是如何
与主架联接起来的一一这一步很艰难,总是在某个没想清楚的环节掉链子,生成的代码
运行不动了;等到把这个框架架起来后,剩下的部分因为饱受第三次作业的摧残、锻炼
,已经变得很是轻松写意了!
其实第一学期cs121代课老师已经在一次lab帮我们讲过了GDB debugging,上学期
Connect4 game、decision tree的时候稍微用了一下,但远没有到很熟悉、得心应手的
程度。第三次作业时代课老师还试着教我用这样一个工具;到这最后一次作业,因为一
句话的逻辑不清,就真的第一反应不再是恐慌、首选gdb了,弄通那几个IO function后
,花一个半、两个小时解决了一行代码意外引起的逻辑混乱。所以最后一次作业有架构
后写得很享受、非常有感觉。
带着暑期归来的累累伤痕,在代课老师的种种高压手段下,我卑微得像一粒尘埃一一这
三四个月的时间,仿佛一场春秋大梦,每天浮躁地舞动在想要写完这门课作业的大道上。
d**********o
发帖数: 1321
312
雕刻时光(3)
是个人都知道,我这个听力不好、口语奇烂、英语学得很成问题的人自打来到这个国家
,考试从来都是最头痛的事。但这门课的期末考试,我考得非常有感觉。那场考试,因
着老师跳跃式的讲课节奏、半生不熟的带课效果,因着老师对考题的精良设计,我平时
听不懂、一知半解的概念、理论、知识点都在这场期末考试里思考、完成了转化吸收的
最后一步。仿佛到了这场考试结束,老师讲的所有知识才真正转化为可吸收的营养,为
我所用。
是考得太享受、太留恋么,一不小心,我就考成了教室里只剩三个人了,那两个同学都
是美国人,应该是学习会比我好很多的人。一个是Ryan,看得仔细的小伙伴应该留意到
hw3里有一个test file是以他的名子命名的,应该是他贡献给老师的吧。后来,他成为
我下学期EC(Evolutionary Computation)课的同桌。他们大概看我写得很慢、很享受
在陪着我吧!!
枯藤、老树、昏鸦,
小桥、流水、人家,
古道、西风、瘦马,
夕阳西下,一小人摇井架~~ *_^
那场考试,有着雨过天晴或是参观一场画展之后的清新和生锈久不运作的脑袋开始转动
时发出的吱吱呀呀的声响~~!
考试考完后,我如梦初醒,回想一下,对比一下,忽然意识到,暑假两个半月的实习,
和这个学期走过,我已经彻底沦为一个精益求精、沉浸在细节里的人,同那个传统的讲
求效率、时时准备大跃进的自己、那个春天 RTOS2514 稀里糊途plugin black-box的自
己、夏天里催着喊着要A快帮我想新项目的自己判若两人!原来不知不觉间,在时间的
沧河里,A summer里批评过我的话都已经悄无声息地转化成了现实~~
这门课就算是得了B,比得了A还开心,我在心里感概着!
d**********o
发帖数: 1321
313
期末成绩
期末考完后的周一,我查成绩,我的编译课老师给的居然是C!?#$^&@*~
想要骂人的心,比任何时候都迫切!想去骂人的这颗脑袋,瞬间变得一个比十个大~~!
从前有个小学校
里面有个学生一一任逍遥
术业有专攻
industry里风声水起
天生理智
芙蓉城底沥青流
15年后
锋回路转、机缘巧合
转战学术圈
4年博士
7年tenure
边科研边代课
极具个人风格
一半学生由衷感谢
毕业经年还索要当年作业
也杀人、fail掉学生无数
一两年前
尚有学生
报告学校
其人变态
不了了之
这两年
一中国女生
飘摇至其手下
辇之辗之
成绩只给C
此女此后
匿迹江湖
断绝一切联系
孤独求败
逢遇必躲
江湖人称“任来疯”!
好吧,我承认我悲愤了,这不是事实,真实的版本我明天再来写吧。
** Your CS445 Grades
cs445代课老师@XXXXXX.edu [cs445代课老师@XXXXXX.edu]
Sent: Saturday, December 28, 2013 6:39 AM
To:
(me~~) ((me~~)@XXXXXX.edu)
Your email can be found at http://ec2-54-200-16-181.us-west-2.compute.amazonaws.com/Results/msgs-(me~~)-txt-rfnZ8kKN2rpwGEg3u6WtS
d**********o
发帖数: 1321
314
hw3b deadline前版本
这里我也先公开承认一下自己早前犯过的错误,在这个楼的第 14 页、第 265 楼,我
有贴出自己的hw3b,但现在我必须向亲爱的读者一一您公开道歉。因为当时因为着急,
我没能找到hw3b deadline前的版本,就把这次作业后来的最终版本(也就是那个楼贴
出来的,只剩下ReturnK、CompoundK两条小尾巴的版本,那个版本被我改动了时间戳我
现在已经把它改回来了。相比于急于求成绩,我更希望自己作一个诚实的人,希望大家
能原谅)给贴出来了。因为我们作业deadline之后也还都是可以接着交的,所以任何作
业,老师都是可以根据后来的版本,追终到这个学生的最后进展的,这个最新进展老师
到底给不给分、就要看老师如何下决定了。
deadline前的版本,被我附在下面了。
当然,把自己的这个版本更新后,我愿为这个楼(这一次出来写的所有)属于自己的每
个贴子负责,所有写出来的,都是真实发生过的事。
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
makefile
scanType.h
symtab.h
symtab.c
20131116143129-(me~~)-CS445-F13-A3B.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
makefile: ASCII make commands text
scanType.h: ASCII C program text
symtab.c: ASCII C program text
symtab.h: ASCII C program text
Making compiler
bison -v -t -d c-.y
flex c-.l
g++ -DCPLUSPLUS -g -c -o lex.yy.o lex.yy.c
g++ -DCPLUSPLUS -g -c -o c-.tab.o c-.tab.c
g++ -DCPLUSPLUS -g -c -o symtab.o symtab.c
g++ -DCPLUSPLUS -g lex.yy.o c-.tab.o symtab.o -lfl -lm -o c-
Extracting test files
allErrors.c-
basicAll.c-
basicAll2.c-
basicExtra.c-
bullsandcows.c-
call.c-
call2.c-
call3.c-
chars.c-
everything02.c-
factor.c-
factorial.c-
init.c-
moutest.c-
ryantest.c-
tictactoe.c-
undef.c-
while03.c-
=================================================
Output of Testing
Limited to 5 seconds total run time and 5000 lines of output
/* ================================================ *
| Tests for CS445 Assignment 3B |
| Comparison with Expected Output |
/* ================================================ *
/export/home/nibbler/TestWorld
find makefile
makefile
a makefile is here
RUN: c- allErrors.c-
ERROR(6): Function 'dog' at line 2 is expecting to return type int but got
type bool.
ERROR(13): Function 'cat' at line 9 is expecting to return type int but
return has no return value.
ERROR(16): Symbol 'cat' is already defined at line 9.
ERROR(25): Function 'ox' at line 23 is expecting no return value, but return
has return value.
WARNING(28): Expecting to return type int but function 'emu' has no return
statement.
ERROR(35): Symbol 'x' is already defined at line 34.
ERROR(45): Expecting Boolean test condition in if statement but got type int.
ERROR(46): Expecting Boolean test condition in while statement but got type
int.
ERROR(48): Cannot use function 'cat' as a simple variable.
ERROR(49): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(50): '+=' requires operands of type int but rhs is of type bool.
ERROR(51): '-=' requires operands of type int but lhs is of type bool.
ERROR(53): Cannot use array as test condition in if statement.
ERROR(54): Cannot use array as test condition in while statement.
ERROR(59): Cannot have a break statement outside of loop.
ERROR(62): The operation '+' does not work with arrays.
ERROR(63): The operation '-' does not work with arrays.
ERROR(64): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(64): The operation 'not' does not work with arrays.
ERROR(66): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(68): '+' requires operands of type int but lhs is of type bool.
ERROR(70): '*' requires operands of type int but rhs is of type bool.
ERROR(72): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(74): Cannot index nonarray 'x'.
ERROR(76): Array 'aa' should be indexed by type int but got type bool.
ERROR(78): Array index is the unindexed array 'zz'.
ERROR(80): Symbol 'xyzzy' is not defined.
ERROR(81): Symbol 'meerkat' is not defined.
ERROR(83): 'x' is a simple variable and cannot be called.
ERROR(85): Too many parameters passed for function 'dog' defined on line 2.
ERROR(86): Too few parameters passed for function 'ibex' defined on line 18.
ERROR(88): Expecting type int in parameter 1 of call to 'dog' defined on
line 2 but got type bool.
ERROR(90): Not expecting array in parameter 1 of call to 'cat' defined on
line 9.
ERROR(91): Expecting type int in parameter 1 of call to 'cat' defined on
line 9 but got type void.
ERROR(93): Expecting array in parameter 1 of call to 'ibex' defined on line
18.
ERROR(94): Cannot use function 'ibex' as a simple variable.
ERROR(96): Cannot use function 'ibex' as a simple variable.
ERROR(96): '+' requires operands of type int but lhs is of type bool.
ERROR(98): The operation '*' only works with arrays.
ERROR(100): '*' requires operands of type int but lhs is of type bool.
ERROR(100): The operation '*' does not work with arrays.
ERROR(100): '+' requires operands of type int but lhs is of type bool.
ERROR(100): The operation '*' only works with arrays.
ERROR(100): The operation 'not' does not work with arrays.
ERROR(100): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(100): 'or' requires operands of type bool but lhs is of type int.
ERROR(100): Cannot have a break statement outside of loop.
ERROR(101): 'and' requires operands of type bool but lhs is of type int.
ERROR(101): 'and' requires operands of type bool but rhs is of type int.
ERROR(103): Cannot return an array.
ERROR(108): Symbol 'main' is already defined at line 32.
ERROR(122): '==' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(127): '=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(131): '!=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(137): Symbol 'z' is already defined at line 106.
ERROR(139): Variable 'a' is of type int but is being initialized with an
expression of type bool.
ERROR(139): Variable 'b' is of type int but is being initialized with an
expression of type bool.
ERROR(139): Variable 'zz' is of type int but is being initialized with an
expression of type char.
ERROR(141): Initializer for variable 'd' is not a constant expression.
ERROR(142): '*' requires operands of type int but rhs is of type char.
ERROR(143): Initializer for variable 'e' is not a constant expression.
ERROR(144): Initializer for variable 'f' is not a constant expression.
ERROR(146): Symbol 'main' is already defined at line 32.
ERROR(159): '==' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(165): '=' requires operands of the same type but lhs is type bool and
rhs is type char.
ERROR(183): In foreach statement the variable to the left of 'in' must not
be an array.
ERROR(184): In foreach statement the variable to the left of 'in' must not
be an array.
ERROR(184): Foreach requires operands of 'in' be the same type but lhs is
type bool and rhs array is type int.
ERROR(187): Foreach requires operands of 'in' be the same type but lhs is
type bool and rhs array is type int.
ERROR(189): If not an array, foreach requires rhs of 'in' be of type int but
it is type bool.
ERROR(190): If not an array, foreach requires lhs of 'in' be of type int but
it is type bool.
ERROR(196): Initializer for nonarray variable 'w' of type char cannot be
initialized with an array.
ERROR(197): Variable 'u' is of type int but is being initialized with an
expression of type char.
ERROR(197): Initializer for nonarray variable 'u' of type int cannot be
initialized with an array.
ERROR(198): Array 't' must be of type char to be initialized, but is of type
int.
ERROR(198): Initializer for array variable 't' must be a string, but is of
nonarray type int.
ERROR(199): Initializer for array variable 's' must be a string, but is of
nonarray type char.
ERROR(207): Symbol 'main' is already defined at line 32.
ERROR(209): Initializer for variable 'x' is not a constant expression.
ERROR(210): Initializer for nonarray variable 'c' of type char cannot be
initialized with an array.
ERROR(211): Initializer for array variable 'd' must be a string, but is of
nonarray type char.
ERROR(212): Variable 'e' is of type char but is being initialized with an
expression of type int.
ERROR(213): Initializer for array variable 'f' must be a string, but is of
nonarray type int.
ERROR(214): Array 'z' must be of type char to be initialized, but is of type
int.
ERROR(216): '=' requires that if one operand is an array so must the other
operand.
ERROR(217): '=' requires that if one operand is an array so must the other
operand.
ERROR(218): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(219): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(219): '=' requires that if one operand is an array so must the other
operand.
ERROR(220): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(222): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(223): '>' requires operands of type char or type int but rhs is of
type bool.
ERROR(224): '>' requires operands of type char or type int but lhs is of
type bool.
ERROR(225): The operation '>' does not work with arrays.
ERROR(226): The operation '>' does not work with arrays.
ERROR(227): The operation '>' does not work with arrays.
ERROR(229): Unary '-' requires an operand of type int but was given type
char.
ERROR(230): The operation '*' only works with arrays.
ERROR(231): The operation '-' does not work with arrays.
ERROR(234): Unary '++' requires an operand of type int but was given type
char.
ERROR(234): The operation '++' does not work with arrays.
ERROR(235): The operation '++' does not work with arrays.
ERROR(236): Unary '--' requires an operand of type int but was given type
char.
ERROR(236): The operation '--' does not work with arrays.
ERROR(237): The operation '--' does not work with arrays.
WARNING(207): Expecting to return type int but function 'main' has no return
statement.
ERROR(242): Symbol 'fred' is already defined at line 241.
ERROR(244): Symbol 'fred' is already defined at line 243.
ERROR(245): Symbol 'fred' is already defined at line 243.
ERROR(246): Symbol 'fred' is already defined at line 243.
WARNING(242): Expecting to return type int but function 'fred' has no return
statement.
Number of warnings: 3
Number of errors: 108
RUN: c- basicAll.c-
ERROR(16): Symbol 'cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to return type int but got
type bool.
ERROR(25): Function 'cat' at line 21 is expecting to return type int but
return has no return value.
ERROR(28): Symbol 'cat' is already defined at line 21.
ERROR(39): Function 'ox' at line 37 is expecting no return value, but return
has return value.
WARNING(42): Expecting to return type int but function 'emu' has no return
statement.
ERROR(54): Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined.
ERROR(65): Expecting Boolean test condition in if statement but got type int.
ERROR(66): Expecting Boolean test condition in while statement but got type
int.
ERROR(67): Expecting Boolean test condition in while statement but got type
void.
ERROR(69): Cannot use function 'cat' as a simple variable.
ERROR(70): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(71): '+=' requires operands of type int but rhs is of type bool.
ERROR(72): '-=' requires operands of type int but lhs is of type bool.
ERROR(73): '>' requires operands of type char or type int but lhs is of type
bool.
ERROR(74): Unary '++' requires an operand of type int but was given type
bool.
ERROR(76): Cannot use array as test condition in if statement.
ERROR(77): Cannot use array as test condition in while statement.
ERROR(79): Cannot have a break statement outside of loop.
ERROR(83): The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays.
ERROR(85): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(85): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(85): The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(91): '+' requires operands of type int but lhs is of type bool.
ERROR(93): '*' requires operands of type int but rhs is of type bool.
ERROR(95): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(96): '+' requires operands of type int but rhs is of type bool.
ERROR(96): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(97): Unary '-' requires an operand of type int but was given type bool.
ERROR(99): Cannot index nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs is of type int.
ERROR(100): 'and' requires operands of type bool but rhs is of type int.
ERROR(100): '*' requires operands of type int but rhs is of type bool.
ERROR(101): Symbol 'y' is not defined.
ERROR(101): 'and' requires operands of type bool but lhs is of type int.
ERROR(101): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'and' requires operands of type bool but lhs is of type int.
ERROR(102): 'and' requires operands of type bool but rhs is of type int.
ERROR(102): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'or' requires operands of type bool but rhs is of type int.
ERROR(104): The operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs is of type int.
ERROR(109): Array 'aa' should be indexed by type int but got type bool.
ERROR(111): Cannot use function 'cat' as a simple variable.
ERROR(113): Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs is of type int.
ERROR(122): Symbol 'flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(122): Unary '-' requires an operand of type int but was given type
bool.
ERROR(122): Symbol 'uu' is not defined.
ERROR(122): Symbol 'y' is not defined.
ERROR(122): '*' requires operands of type int but rhs is of type bool.
ERROR(124): 'x' is a simple variable and cannot be called.
ERROR(126): Too many parameters passed for function 'dog' defined on line 12.
ERROR(127): Too few parameters passed for function 'ibex' defined on line 31.
ERROR(129): Expecting type int in parameter 1 of call to 'dog' defined on
line 12 but got type bool.
ERROR(131): Not expecting array in parameter 1 of call to 'cat' defined on
line 21.
ERROR(133): Expecting array in parameter 1 of call to 'ibex' defined on line
31.
ERROR(134): Expecting type int in parameter 1 of call to 'ibex' defined on
line 31 but got type bool.
ERROR(135): Cannot use function 'ibex' as a simple variable.
ERROR(137): Cannot use function 'ibex' as a simple variable.
ERROR(137): '+' requires operands of type int but lhs is of type bool.
ERROR(140): Array index is the unindexed array 'zz'.
ERROR(141): Expecting type int in parameter 1 of call to 'ox' defined on
line 37 but got type bool.
ERROR(141): Array 'aa' should be indexed by type int but got type void.
ERROR(143): '=' requires operands of the same type but lhs is type int and
rhs is type void.
ERROR(144): '+' requires operands of type int but rhs is of type void.
ERROR(145): Expecting type int in parameter 1 of call to 'cat' defined on
line 21 but got type void.
ERROR(146): Expecting type int in parameter 1 of call to 'cat' defined on
line 21 but got type bool.
ERROR(149): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(150): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(151): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(153): '*' requires operands of type int but rhs is of type bool.
ERROR(153): '*' requires operands of type int but lhs is of type bool.
ERROR(153): 'and' requires operands of type bool but lhs is of type int.
ERROR(153): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): '+' requires operands of type int but rhs is of type bool.
ERROR(155): Symbol 'parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): Expecting type int in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type int in parameter 1 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type int in parameter 2 of call to 'emu' defined on
line 42 but got type void.
ERROR(156): Expecting type int in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Too many parameters passed for function 'emu' defined on line 42.
ERROR(158): Cannot return an array.
Number of warnings: 1
Number of errors: 95
RUN: c- basicAll2.c-
ERROR(16): Symbol 'cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to return type char but
got type int.
ERROR(25): Function 'cat' at line 21 is expecting to return type char but
return has no return value.
ERROR(28): Symbol 'cat' is already defined at line 21.
ERROR(34): Function 'ibex' at line 31 is expecting to return type int but
got type bool.
ERROR(39): Function 'ox' at line 37 is expecting no return value, but return
has return value.
WARNING(42): Expecting to return type char but function 'emu' has no return
statement.
ERROR(48): '+' requires operands of type int but lhs is of type char.
ERROR(48): '+' requires operands of type int but rhs is of type char.
ERROR(54): Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined.
ERROR(65): Expecting Boolean test condition in if statement but got type
char.
ERROR(66): Expecting Boolean test condition in while statement but got type
char.
ERROR(67): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(67): Expecting Boolean test condition in while statement but got type
void.
ERROR(69): Cannot use function 'cat' as a simple variable.
ERROR(70): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(71): '+=' requires operands of type int but lhs is of type char.
ERROR(72): '-=' requires operands of type int but rhs is of type char.
ERROR(76): Expecting Boolean test condition in if statement but got type int.
ERROR(76): Cannot use array as test condition in if statement.
ERROR(77): Expecting Boolean test condition in while statement but got type
int.
ERROR(77): Cannot use array as test condition in while statement.
ERROR(79): Cannot have a break statement outside of loop.
ERROR(81): Expecting Boolean test condition in while statement but got type
int.
ERROR(83): '+' requires operands of type int but lhs is of type char.
ERROR(83): The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays.
ERROR(85): The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but lhs is type char and
rhs is type bool.
ERROR(88): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(89): '==' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(91): '+' requires operands of type int but lhs is of type bool.
ERROR(91): '+' requires operands of type int but rhs is of type char.
ERROR(93): '*' requires operands of type int but lhs is of type char.
ERROR(93): '*' requires operands of type int but rhs is of type bool.
ERROR(95): Unary 'not' requires an operand of type bool but was given type
char.
ERROR(96): '+' requires operands of type int but lhs is of type char.
ERROR(96): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(99): Cannot index nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs is of type char.
ERROR(100): 'and' requires operands of type bool but rhs is of type char.
ERROR(100): '*' requires operands of type int but lhs is of type char.
ERROR(100): '*' requires operands of type int but rhs is of type bool.
ERROR(100): '+' requires operands of type int but lhs is of type char.
ERROR(100): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(100): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(101): Symbol 'y' is not defined.
ERROR(101): 'and' requires operands of type bool but lhs is of type char.
ERROR(101): '*' requires operands of type int but lhs is of type char.
ERROR(101): '*' requires operands of type int but rhs is of type bool.
ERROR(101): '+' requires operands of type int but lhs is of type char.
ERROR(101): '==' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(101): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(102): 'and' requires operands of type bool but lhs is of type char.
ERROR(102): 'and' requires operands of type bool but rhs is of type char.
ERROR(102): '*' requires operands of type int but lhs is of type char.
ERROR(102): '*' requires operands of type int but rhs is of type bool.
ERROR(102): 'or' requires operands of type bool but rhs is of type int.
ERROR(102): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(104): The operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs is of type int.
ERROR(105): 'and' requires operands of type bool but rhs is of type int.
ERROR(111): Cannot use function 'cat' as a simple variable.
ERROR(111): Array 'aa' should be indexed by type int but got type char.
ERROR(113): Array 'aa' should be indexed by type int but got type char.
ERROR(113): Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs is of type int.
ERROR(122): Symbol 'flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool but was given type
int.
ERROR(122): Unary '-' requires an operand of type int but was given type
bool.
ERROR(122): Symbol 'uu' is not defined.
ppERROR(122): Symbol 'y' is not defined.
ERROR(122): '*' requires operands of type int but lhs is of type char.
ERROR(122): '+' requires operands of type int but lhs is of type char.
ERROR(124): 'x' is a simple variable and cannot be called.
ERROR(126): Expecting type char in parameter 1 of call to 'dog' defined on
line 12 but got type int.
ERROR(126): Too many parameters passed for function 'dog' defined on line 12.
ERROR(127): Too few parameters passed for function 'ibex' defined on line 31.
ERROR(129): Expecting type char in parameter 1 of call to 'dog' defined on
line 12 but got type bool.
ERROR(131): Not expecting array in parameter 1 of call to 'cat' defined on
line 21.
ERROR(133): Expecting array in parameter 1 of call to 'ibex' defined on line
31.
ERROR(134): Expecting type char in parameter 1 of call to 'ibex' defined on
line 31 but got type int.
ERROR(135): Cannot use function 'ibex' as a simple variable.
ERROR(137): Cannot use function 'ibex' as a simple variable.
ERROR(139): Array 'aa' should be indexed by type int but got type char.
ERROR(140): Array 'aa' should be indexed by type int but got type char.
ERROR(140): Array index is the unindexed array 'zz'.
ERROR(141): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type bool.
ERROR(141): Array 'aa' should be indexed by type int but got type void.
ERROR(143): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(143): '=' requires operands of the same type but lhs is type char and
rhs is type void.
ERROR(144): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(144): '+' requires operands of type int but lhs is of type char.
ERROR(144): '+' requires operands of type int but rhs is of type void.
ERROR(144): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(145): Expecting type char in parameter 1 of call to 'ox' defined on
line 37 but got type int.
ERROR(145): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type void.
ERROR(146): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type bool.
ERROR(147): Expecting type char in parameter 1 of call to 'cat' defined on
line 21 but got type int.
ERROR(149): '=' requires operands of the same type but lhs is type char and
rhs is type bool.
ERROR(151): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(151): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(151): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(153): '*' requires operands of type int but lhs is of type char.
ERROR(153): '*' requires operands of type int but rhs is of type char.
ERROR(153): 'and' requires operands of type bool but lhs is of type int.
ERROR(153): 'and' requires operands of type bool but rhs is of type int.
ERROR(155): '+' requires operands of type int but lhs is of type char.
ERROR(155): Symbol 'parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but lhs is of type int.
ERROR(155): 'and' requires operands of type bool but rhs is of type char.
ERROR(155): Expecting type char in parameter 1 of call to 'emu' defined on
line 42 but got type int.
ERROR(155): Expecting type char in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type char in parameter 1 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Expecting type char in parameter 2 of call to 'emu' defined on
line 42 but got type void.
ERROR(156): Expecting type char in parameter 3 of call to 'emu' defined on
line 42 but got type bool.
ERROR(156): Too many parameters passed for function 'emu' defined on line 42.
ERROR(158): Cannot return an array.
Number of warnings: 1
Number of errors: 124
RUN: c- basicExtra.c-
WARNING(3): Expecting to return type char but function 'toads' has no return
statement.
ERROR(14): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(14): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(14): The operation '<' does not work with arrays.
ERROR(15): The operation '<' does not work with arrays.
ERROR(18): '<' requires operands of type char or type int but lhs is of type
bool.
ERROR(18): '<' requires operands of type char or type int but rhs is of type
bool.
ERROR(19): '/' requires operands of type int but lhs is of type bool.
ERROR(20): '/' requires operands of type int but rhs is of type bool.
ERROR(21): '%' requires operands of type int but lhs is of type bool.
ERROR(22): '%' requires operands of type int but rhs is of type bool.
ERROR(23): '-' requires operands of type int but lhs is of type bool.
ERROR(24): '-' requires operands of type int but rhs is of type bool.
ERROR(25): '<' requires operands of type char or type int but lhs is of type
void.
ERROR(25): '<' requires operands of type char or type int but rhs is of type
void.
ERROR(27): '<' requires operands of type char or type int but lhs is of type
void.
ERROR(28): '<' requires operands of type char or type int but rhs is of type
void.
ERROR(30): Symbol 'k' is not defined.
ERROR(31): Symbol 'k' is not defined.
ERROR(32): Symbol 'k' is not defined.
ERROR(32): Symbol 'k' is not defined.
ERROR(33): Symbol 'k' is not defined.
ERROR(34): 'i' is a simple variable and cannot be called.
Number of warnings: 1
Number of errors: 22
RUN: c- bullsandcows.c-
ERROR(120): Cannot have a break statement outside of loop.
ERROR(130): Cannot have a break statement outside of loop.
ERROR(160): Cannot have a break statement outside of loop.
Number of warnings: 0
Number of errors: 3
RUN: c- call.c-
WARNING(1): Expecting to return type int but function 'showInt' has no
return statement.
WARNING(7): Expecting to return type int but function 'showIntArray' has no
return statement.
WARNING(18): Expecting to return type int but function 'showBool' has no
return statement.
Number of warnings: 3
Number of errors: 0
RUN: c- call2.c-
Number of warnings: 0
Number of errors: 0
RUN: c- call3.c-
ERROR(4): Symbol 'fred' is not defined.
ERROR(4): Symbol 'x' is not defined.
ERROR(4): Symbol 'y' is not defined.
ERROR(4): 'and' requires operands of type bool but lhs is of type int.
ERROR(4): 'and' requires operands of type bool but rhs is of type int.
ERROR(12): Too many parameters passed for function 'fred' defined on line 9.
ERROR(14): Too few parameters passed for function 'fred' defined on line 9.
ERROR(13): Expecting array in parameter 1 of call to 'fred' defined on line
9.
ERROR(15): Expecting type char in parameter 1 of call to 'fred' defined on
line 9 but got type int.
WARNING(9): Expecting to return type char but function 'fred' has no return
statement.
ERROR(20): 'x' is a simple variable and cannot be called.
ERROR(20): '+' requires operands of type int but rhs is of type bool.
ERROR(20): The operation '*' only works with arrays.
ERROR(20): 'and' requires operands of type bool but lhs is of type int.
ERROR(20): 'and' requires operands of type bool but rhs is of type int.
ERROR(21): Symbol 'y' is not defined.
ERROR(21): '+' requires operands of type int but rhs is of type bool.
ERROR(21): The operation '*' only works with arrays.
ERROR(21): 'and' requires operands of type bool but lhs is of type int.
ERROR(21): 'and' requires operands of type bool but rhs is of type int.
ERROR(22): 'z' is a simple variable and cannot be called.
ERROR(22): '+' requires operands of type int but rhs is of type bool.
ERROR(22): The operation '*' only works with arrays.
ERROR(22): 'and' requires operands of type bool but lhs is of type int.
ERROR(22): 'and' requires operands of type bool but rhs is of type int.
ERROR(25): Symbol 'output' is already defined at line -1.
ERROR(26): Symbol 'outputb' is already defined at line -1.
ERROR(27): Symbol 'outputc' is already defined at line -1.
ERROR(29): Symbol 'input' is already defined at line -1.
ERROR(30): Symbol 'inputb' is already defined at line -1.
ERROR(31): Symbol 'inputc' is already defined at line -1.
ERROR(43): Symbol 'x' is already defined at line 42.
WARNING(42): Expecting to return type int but function 'AlanTuring' has no
return statement.
ERROR(50): Symbol 'AlanTuring' is already defined at line 42.
ERROR(54): Symbol 'x' is already defined at line 52.
WARNING(50): Expecting to return type int but function 'AlanTuring' has no
return statement.
Number of warnings: 3
Number of errors: 33
RUN: c- chars.c-
Number of warnings: 0
Number of errors: 0
RUN: c- everything02.c-
WARNING(47): Expecting to return type bool but function 'penguin' has no
return statement.
ERROR(65): Initializer for variable 'void' is not a constant expression.
WARNING(84): Expecting to return type int but function 'cheese' has no
return statement.
ERROR(93): Expecting type int in parameter 2 of call to 'cheese' defined on
line 84 but got type void.
Number of warnings: 2
Number of errors: 2
RUN: c- factor.c-
Number of warnings: 0
Number of errors: 0
RUN: c- factorial.c-
Number of warnings: 0
Number of errors: 0
RUN: c- init.c-
ERROR(6): Initializer for variable 'j' is not a constant expression.
ERROR(6): Initializer for variable 'l' is not a constant expression.
ERROR(7): Initializer for variable 'bb' is not a constant expression.
ERROR(15): Symbol 'y' is already defined at line 4.
ERROR(17): Cannot index nonarray 'y'.
ERROR(17): '=' requires operands of the same type but lhs is type char and
rhs is type int.
Number of warnings: 0
Number of errors: 6
RUN: c- moutest.c-
WARNING(5): Expecting to return type int but function 'emu' has no return
statement.
ERROR(19): Array 'aa' should be indexed by type int but got type bool.
ERROR(20): Array index is the unindexed array 'dd'.
ERROR(17): Array 'cc' should be indexed by type int but got type bool.
ERROR(25): Array 'aa' should be indexed by type int but got type bool.
ERROR(23): Array 'cc' should be indexed by type int but got type bool.
ERROR(30): Array 'cc' should be indexed by type int but got type bool.
ERROR(39): The operation '*' only works with arrays.
ERROR(36): Array 'cc' should be indexed by type int but got type bool.
ERROR(42): Expecting type int in parameter 1 of call to 'emu' defined on
line 5 but got type bool.
ERROR(43): Expecting type int in parameter 2 of call to 'emu' defined on
line 5 but got type void.
ERROR(50): Expecting type int in parameter 3 of call to 'emu' defined on
line 5 but got type bool.
ERROR(50): Too many parameters passed for function 'emu' defined on line 5.
Number of warnings: 1
Number of errors: 12
RUN: c- ryantest.c-
ERROR(7): Initializer for variable 'x' is not a constant expression.
ERROR(7): Symbol 'x' is already defined at line 5.
ERROR(18): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(18): '==' requires that if one operand is an array so must the other
operand.
ERROR(19): 'and' requires operands of type bool but lhs is of type int.
ERROR(19): 'and' requires operands of type bool but rhs is of type char.
ERROR(19): The operation 'and' does not work with arrays.
WARNING(12): Expecting to return type bool but function 'test' has no return
statement.
ERROR(35): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(34): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(38): Symbol 'undef' is not defined.
ERROR(37): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(41): Symbol 'undef' is not defined.
ERROR(44): Symbol 'undef' is not defined.
ERROR(47): '=' requires operands of the same type but lhs is type bool and
rhs is type int.
ERROR(46): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(46): '+' requires operands of type int but lhs is of type bool.
ERROR(50): Symbol 'undef' is not defined.
ERROR(49): '+' requires operands of type int but lhs is of type bool.
ERROR(53): Symbol 'undef' is not defined.
ERROR(52): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(52): '+' requires operands of type int but lhs is of type bool.
ERROR(56): '=' requires operands of the same type but lhs is type bool and
rhs is type void.
ERROR(55): '=' requires operands of the same type but lhs is type int and
rhs is type bool.
ERROR(55): '+' requires operands of type int but lhs is of type bool.
ERROR(64): Symbol 'foo' is not defined.
ERROR(65): Symbol 'foo' is not defined.
ERROR(66): Symbol 'foo' is not defined.
ERROR(67): Symbol 'foo' is not defined.
ERROR(68): Symbol 'foo' is not defined.
ERROR(68): Symbol 'foo' is not defined.
ERROR(69): 'x' is a simple variable and cannot be called.
ERROR(71): Cannot use function 'check' as a simple variable.
ERROR(72): Cannot use function 'check' as a simple variable.
ERROR(72): 'x' is a simple variable and cannot be called.
ERROR(73): Symbol 'c' is not defined.
ERROR(74): Symbol 'c' is not defined.
ERROR(76): Symbol 'foo' is not defined.
ERROR(78): Cannot index nonarray 'x'.
ERROR(79): Cannot index nonarray 'x'.
ERROR(80): Symbol 'y' is not defined.
ERROR(82): Cannot use function 'check' as a simple variable.
ERROR(82): '=' requires that if one operand is an array so must the other
operand.
ERROR(83): 'x' is a simple variable and cannot be called.
ERROR(86): '=' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(87): '=' requires operands of the same type but lhs is type char and
rhs is type int.
ERROR(87): Expecting type int in parameter 2 of call to 'check' defined on
line 26 but got type char.
ERROR(88): Symbol 'y' is not defined.
ERROR(88): Too many parameters passed for function 'check' defined on line
26.
ERROR(88): Too few parameters passed for function 'check' defined on line 26.
ERROR(89): Expecting array in parameter 2 of call to 'func' defined on line
61.
ERROR(90): Not expecting array in parameter 1 of call to 'func' defined on
line 61.
ERROR(92): '-' requires operands of type int but rhs is of type char.
ERROR(92): Expecting array in parameter 2 of call to 'func' defined on line
61.
ERROR(92): Too many parameters passed for function 'func' defined on line 61.
ERROR(94): Expecting type int in parameter 1 of call to 'func' defined on
line 61 but got type char.
ERROR(94): Not expecting array in parameter 1 of call to 'func' defined on
line 61.
ERROR(94): Too few parameters passed for function 'func' defined on line 61.
ERROR(99): Initializer for variable 'x' is not a constant expression.
ERROR(99): Symbol 'x' is already defined at line 97.
ERROR(100): Symbol 'x' is already defined at line 97.
ERROR(101): Variable 'x' is of type char but is being initialized with an
expression of type int.
ERROR(101): Symbol 'x' is already defined at line 97.
ERROR(102): Symbol 'x' is already defined at line 97.
ERROR(104): Symbol 'z' is already defined at line 103.
ERROR(105): Initializer for variable 'y' is not a constant expression.
ERROR(106): Initializer for variable 'a' is not a constant expression.
ERROR(106): Initializer for nonarray variable 'a' of type int cannot be
initialized with an array.
ERROR(107): Initializer for variable 'b' is not a constant expression.
ERROR(108): Initializer for variable 'd' is not a constant expression.
ERROR(109): Variable 'e' is of type int but is being initialized with an
expression of type char.
ERROR(109): Initializer for nonarray variable 'e' of type int cannot be
initialized with an array.
ERROR(110): Array 'f' must be of type char to be initialized, but is of type
int.
ERROR(111): Initializer for nonarray variable 'g' of type char cannot be
initialized with an array.
ERROR(113): Initializer for variable 'i' is not a constant expression.
ERROR(114): Initializer for variable 'j' is not a constant expression.
ERROR(115): Initializer for variable 'k' is not a constant expression.
ERROR(115): Variable 'k' is of type int but is being initialized with an
expression of type bool.
ERROR(116): Initializer for variable 'j' is not a constant expression.
ERROR(116): Symbol 'j' is already defined at line 114.
ERROR(118): Initializer for variable 'j2' is not a constant expression.
ERROR(129): Expecting array in parameter 2 of call to 'retCheck' defined on
line 125.
ERROR(130): Cannot return an array.
ERROR(127): Function 'retCheck' at line 125 is expecting to return type int
but return has no return value.
Number of warnings: 1
Number of errors: 83
RUN: c- tictactoe.c-
WARNING(276): Expecting to return type bool but function 'finished' has no
return statement.
Number of warnings: 1
Number of errors: 0
RUN: c- undef.c-
WARNING(3): Expecting to return type int but function 'intvalue' has no
return statement.
ERROR(10): Symbol 'undef' is not defined.
ERROR(10): Initializer for variable 'x' is not a constant expression.
ERROR(10): Symbol 'x' is already defined at line 9.
ERROR(14): Symbol 'undef' is not defined.
ERROR(15): '+' requires operands of type int but rhs is of type void.
ERROR(16): Symbol 'undef' is not defined.
ERROR(17): '+' requires operands of type int but lhs is of type void.
ERROR(18): Symbol 'undef' is not defined.
ERROR(18): Symbol 'undef' is not defined.
ERROR(19): '+' requires operands of type int but lhs is of type void.
ERROR(19): '+' requires operands of type int but rhs is of type void.
ERROR(22): Symbol 'undef' is not defined.
ERROR(23): '+' requires operands of type int but rhs is of type void.
ERROR(24): Symbol 'undef' is not defined.
ERROR(25): '+' requires operands of type int but lhs is of type void.
ERROR(26): Symbol 'undef' is not defined.
ERROR(26): Symbol 'undef' is not defined.
ERROR(27): '+' requires operands of type int but lhs is of type void.
ERROR(27): '+' requires operands of type int but rhs is of type void.
ERROR(29): Symbol 'undef' is not defined.
ERROR(30): Symbol 'undef' is not defined.
ERROR(31): Symbol 'undef' is not defined.
ERROR(32): Symbol 'undef' is not defined.
ERROR(34): Symbol 'undef' is not defined.
ERROR(34): '+' requires operands of type int but rhs is of type bool.
ERROR(34): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(34): The operation '*' only works with arrays.
ERROR(35): 'x' is a simple variable and cannot be called.
ERROR(35): '+' requires operands of type int but rhs is of type bool.
ERROR(35): '==' requires operands of the same type but lhs is type int and
rhs is type char.
ERROR(35): The operation '*' only works with arrays.
ERROR(37): Cannot use function 'novalue' as a simple variable.
ERROR(37): '=' requires operands of the same type but lhs is type void and
rhs is type int.
ERROR(38): Cannot use function 'intvalue' as a simple variable.
ERROR(40): Expecting type int in parameter 1 of call to 'take1' defined on
line 1 but got type void.
ERROR(41): Cannot use function 'novalue' as a simple variable.
ERROR(41): Expecting type int in parameter 1 of call to 'take1' defined on
line 1 but got type void.
ERROR(42): Symbol 'undef' is not defined.
ERROR(43): Symbol 'undef' is not defined.
ERROR(45): Cannot use function 'intvalue' as a simple variable.
Number of warnings: 1
Number of errors: 40
RUN: c- while03.c-
Number of warnings: 0
Number of errors: 0
/* End of testing
=================================================
ztest zexpected differ: char 15317, line 219
Your output differs from the expected output.
This is a two column comparison with YOUR OUTPUT ON THE LEFT
with the EXPECTED OUTPUT ON THE RIGHT.
Limited to 5 seconds total run time and 5000 lines of ou Limited to 5
seconds total run time and 5000 lines of ou
/* ================================================ * * =============
=================================== *
| Tests for CS445 Assignment 3B | | Tests for CS445
Assignment 3B |
| Comparison with Expected Output | | Comparison with
Expected Output |
/* ================================================ * * =============
=================================== *
TestWorld TestWorld
find makefile find makefile
makefile makefile
a makefile is here a makefile is here
RUN: c- allErrors.c- RUN: c- allErrors.c-
ERROR(6): Function 'dog' at line 2 is expecting to retur ERROR(6):
Function 'dog' at line 2 is expecting to retur
ERROR(13): Function 'cat' at line 9 is expecting to retu ERROR(13):
Function 'cat' at line 9 is expecting to retu
ERROR(16): Symbol 'cat' is already defined at line 9. ERROR(16):
Symbol 'cat' is already defined at line 9.
ERROR(25): Function 'ox' at line 23 is expecting no retu ERROR(25):
Function 'ox' at line 23 is expecting no retu
WARNING(28): Expecting to return type int but function ' WARNING(28):
Expecting to return type int but function '
ERROR(35): Symbol 'x' is already defined at line 34. ERROR(35):
Symbol 'x' is already defined at line 34.
ERROR(45): Expecting Boolean test condition in if statem ERROR(45):
Expecting Boolean test condition in if statem
ERROR(46): Expecting Boolean test condition in while sta ERROR(46):
Expecting Boolean test condition in while sta
ERROR(48): Cannot use function 'cat' as a simple variabl ERROR(48):
Cannot use function 'cat' as a simple variabl
ERROR(49): '=' requires operands of the same type but lh ERROR(49): '='
requires operands of the same type but lh
ERROR(50): '+=' requires operands of type int but rhs is ERROR(50): '+='
requires operands of type int but rhs is
ERROR(51): '-=' requires operands of type int but lhs is ERROR(51): '-='
requires operands of type int but lhs is
ERROR(53): Cannot use array as test condition in if stat ERROR(53):
Cannot use array as test condition in if stat
ERROR(54): Cannot use array as test condition in while s ERROR(54):
Cannot use array as test condition in while s
ERROR(59): Cannot have a break statement outside of loop ERROR(59):
Cannot have a break statement outside of loop
ERROR(62): The operation '+' does not work with arrays. ERROR(62):
The operation '+' does not work with arrays.
ERROR(63): The operation '-' does not work with arrays. ERROR(63):
The operation '-' does not work with arrays.
ERROR(64): Unary 'not' requires an operand of type bool ERROR(64): Unary
'not' requires an operand of type bool
ERROR(64): The operation 'not' does not work with arrays ERROR(64): The
operation 'not' does not work with arrays
ERROR(66): '==' requires operands of the same type but l ERROR(66): '=='
requires operands of the same type but l
ERROR(68): '+' requires operands of type int but lhs is ERROR(68): '+'
requires operands of type int but lhs is
ERROR(70): '*' requires operands of type int but rhs is ERROR(70): '*'
requires operands of type int but rhs is
ERROR(72): Unary 'not' requires an operand of type bool ERROR(72): Unary
'not' requires an operand of type bool
ERROR(74): Cannot index nonarray 'x'. ERROR(74): Cannot index
nonarray 'x'.
ERROR(76): Array 'aa' should be indexed by type int but ERROR(76): Array
'aa' should be indexed by type int but
ERROR(78): Array index is the unindexed array 'zz'. ERROR(78): Array
index is the unindexed array 'zz'.
ERROR(80): Symbol 'xyzzy' is not defined. ERROR(80): Symbol '
xyzzy' is not defined.
ERROR(81): Symbol 'meerkat' is not defined. ERROR(81): Symbol '
meerkat' is not defined.
ERROR(83): 'x' is a simple variable and cannot be called ERROR(83): 'x'
is a simple variable and cannot be called
ERROR(85): Too many parameters passed for function 'dog' ERROR(85): Too
many parameters passed for function 'dog'
ERROR(86): Too few parameters passed for function 'ibex' ERROR(86): Too
few parameters passed for function 'ibex'
ERROR(88): Expecting type int in parameter 1 of call to ERROR(88):
Expecting type int in parameter 1 of call to
ERROR(90): Not expecting array in parameter 1 of call to ERROR(90): Not
expecting array in parameter 1 of call to
ERROR(91): Expecting type int in parameter 1 of call to ERROR(91):
Expecting type int in parameter 1 of call to
ERROR(93): Expecting array in parameter 1 of call to 'ib ERROR(93):
Expecting array in parameter 1 of call to 'ib
ERROR(94): Cannot use function 'ibex' as a simple variab ERROR(94):
Cannot use function 'ibex' as a simple variab
ERROR(96): Cannot use function 'ibex' as a simple variab ERROR(96):
Cannot use function 'ibex' as a simple variab
ERROR(96): '+' requires operands of type int but lhs is ERROR(96): '+'
requires operands of type int but lhs is
ERROR(98): The operation '*' only works with arrays. ERROR(98): The
operation '*' only works with arrays.
ERROR(100): '*' requires operands of type int but lhs is ERROR(100): '*'
requires operands of type int but lhs is
ERROR(100): The operation '*' does not work with arrays. ERROR(100): The
operation '*' does not work with arrays.
ERROR(100): '+' requires operands of type int but lhs is ERROR(100): '+'
requires operands of type int but lhs is
ERROR(100): The operation '*' only works with arrays. ERROR(100): The
operation '*' only works with arrays.
ERROR(100): The operation 'not' does not work with array ERROR(100): The
operation 'not' does not work with array
ERROR(100): Unary 'not' requires an operand of type bool ERROR(100):
Unary 'not' requires an operand of type bool
ERROR(100): 'or' requires operands of type bool but lhs ERROR(100): 'or'
requires operands of type bool but lhs
ERROR(100): Cannot have a break statement outside of loo ERROR(100):
Cannot have a break statement outside of loo
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): 'and' requires operands of type bool but rhs ERROR(101): 'and
' requires operands of type bool but rhs
ERROR(103): Cannot return an array. ERROR(103): Cannot return
an array.
ERROR(108): Symbol 'main' is already defined at line 32. ERROR(108):
Symbol 'main' is already defined at line 32.
ERROR(122): '==' requires operands of the same type but ERROR(122): '=='
requires operands of the same type but
ERROR(127): '=' requires operands of the same type but l ERROR(127): '='
requires operands of the same type but l
ERROR(131): '!=' requires operands of the same type but ERROR(131): '!='
requires operands of the same type but
ERROR(137): Symbol 'z' is already defined at line 106. ERROR(137):
Symbol 'z' is already defined at line 106.
ERROR(139): Variable 'a' is of type int but is being ini ERROR(139):
Variable 'a' is of type int but is being ini
ERROR(139): Variable 'b' is of type int but is being ini ERROR(139):
Variable 'b' is of type int but is being ini
ERROR(139): Variable 'zz' is of type int but is being in ERROR(139):
Variable 'zz' is of type int but is being in
ERROR(141): Initializer for variable 'd' is not a consta ERROR(141):
Initializer for variable 'd' is not a consta
ERROR(142): '*' requires operands of type int but rhs is ERROR(142): '*'
requires operands of type int but rhs is
ERROR(143): Initializer for variable 'e' is not a consta ERROR(143):
Initializer for variable 'e' is not a consta
ERROR(144): Initializer for variable 'f' is not a consta ERROR(144):
Initializer for variable 'f' is not a consta
ERROR(146): Symbol 'main' is already defined at line 32. ERROR(146):
Symbol 'main' is already defined at line 32.
ERROR(159): '==' requires operands of the same type but ERROR(159): '=='
requires operands of the same type but
ERROR(165): '=' requires operands of the same type but l ERROR(165): '='
requires operands of the same type but l
ERROR(183): In foreach statement the variable to the lef ERROR(183): In
foreach statement the variable to the lef
ERROR(184): In foreach statement the variable to the lef ERROR(184): In
foreach statement the variable to the lef
ERROR(184): Foreach requires operands of 'in' be the sam ERROR(184):
Foreach requires operands of 'in' be the sam
ERROR(187): Foreach requires operands of 'in' be the sam ERROR(187):
Foreach requires operands of 'in' be the sam
ERROR(189): If not an array, foreach requires rhs of 'in ERROR(189): If
not an array, foreach requires rhs of 'in
ERROR(190): If not an array, foreach requires lhs of 'in ERROR(190): If
not an array, foreach requires lhs of 'in
ERROR(196): Initializer for nonarray variable 'w' of typ ERROR(196):
Initializer for nonarray variable 'w' of typ
ERROR(197): Variable 'u' is of type int but is being ini ERROR(197):
Variable 'u' is of type int but is being ini
ERROR(197): Initializer for nonarray variable 'u' of typ ERROR(197):
Initializer for nonarray variable 'u' of typ
ERROR(198): Array 't' must be of type char to be initial ERROR(198):
Array 't' must be of type char to be initial
ERROR(198): Initializer for array variable 't' must be a ERROR(198):
Initializer for array variable 't' must be a
ERROR(199): Initializer for array variable 's' must be a ERROR(199):
Initializer for array variable 's' must be a
ERROR(207): Symbol 'main' is already defined at line 32. ERROR(207):
Symbol 'main' is already defined at line 32.
ERROR(209): Initializer for variable 'x' is not a consta ERROR(209):
Initializer for variable 'x' is not a consta
ERROR(210): Initializer for nonarray variable 'c' of typ ERROR(210):
Initializer for nonarray variable 'c' of typ
ERROR(211): Initializer for array variable 'd' must be a ERROR(211):
Initializer for array variable 'd' must be a
ERROR(212): Variable 'e' is of type char but is being in ERROR(212):
Variable 'e' is of type char but is being in
ERROR(213): Initializer for array variable 'f' must be a ERROR(213):
Initializer for array variable 'f' must be a
ERROR(214): Array 'z' must be of type char to be initial ERROR(214):
Array 'z' must be of type char to be initial
ERROR(216): '=' requires that if one operand is an array ERROR(216): '='
requires that if one operand is an array
ERROR(217): '=' requires that if one operand is an array ERROR(217): '='
requires that if one operand is an array
ERROR(218): '=' requires operands of the same type but l ERROR(218): '='
requires operands of the same type but l
ERROR(219): '=' requires operands of the same type but l ERROR(219): '='
requires operands of the same type but l
ERROR(219): '=' requires that if one operand is an array ERROR(219): '='
requires that if one operand is an array
ERROR(220): '=' requires operands of the same type but l ERROR(220): '='
requires operands of the same type but l
ERROR(222): '==' requires operands of the same type but ERROR(222): '=='
requires operands of the same type but
ERROR(223): '>' requires operands of type char or type i ERROR(223): '>'
requires operands of type char or type i
ERROR(224): '>' requires operands of type char or type i ERROR(224): '>'
requires operands of type char or type i
ERROR(225): The operation '>' does not work with arrays. ERROR(225): The
operation '>' does not work with arrays.
ERROR(226): The operation '>' does not work with arrays. ERROR(226): The
operation '>' does not work with arrays.
ERROR(227): The operation '>' does not work with arrays. ERROR(227): The
operation '>' does not work with arrays.
ERROR(229): Unary '-' requires an operand of type int bu ERROR(229):
Unary '-' requires an operand of type int bu
ERROR(230): The operation '*' only works with arrays. ERROR(230): The
operation '*' only works with arrays.
ERROR(231): The operation '-' does not work with arrays. ERROR(231): The
operation '-' does not work with arrays.
ERROR(234): Unary '++' requires an operand of type int b ERROR(234):
Unary '++' requires an operand of type int b
ERROR(234): The operation '++' does not work with arrays ERROR(234): The
operation '++' does not work with arrays
ERROR(235): The operation '++' does not work with arrays ERROR(235): The
operation '++' does not work with arrays
ERROR(236): Unary '--' requires an operand of type int b ERROR(236):
Unary '--' requires an operand of type int b
ERROR(236): The operation '--' does not work with arrays ERROR(236): The
operation '--' does not work with arrays
ERROR(237): The operation '--' does not work with arrays ERROR(237): The
operation '--' does not work with arrays
WARNING(207): Expecting to return type int but function WARNING(207):
Expecting to return type int but function
ERROR(242): Symbol 'fred' is already defined at line 241 ERROR(242):
Symbol 'fred' is already defined at line 241
ERROR(244): Symbol 'fred' is already defined at line 243 ERROR(244):
Symbol 'fred' is already defined at line 243
ERROR(245): Symbol 'fred' is already defined at line 243 ERROR(245):
Symbol 'fred' is already defined at line 243
ERROR(246): Symbol 'fred' is already defined at line 243 ERROR(246):
Symbol 'fred' is already defined at line 243
WARNING(242): Expecting to return type int but function WARNING(242):
Expecting to return type int but function
Number of warnings: 3 Number of warnings: 3
Number of errors: 108 Number of errors: 108
RUN: c- basicAll.c- RUN: c- basicAll.c-
ERROR(16): Symbol 'cat' is not defined. ERROR(16): Symbol '
cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to ret ERROR(18):
Function 'dog' at line 12 is expecting to ret
ERROR(25): Function 'cat' at line 21 is expecting to ret ERROR(25):
Function 'cat' at line 21 is expecting to ret
ERROR(28): Symbol 'cat' is already defined at line 21. ERROR(28):
Symbol 'cat' is already defined at line 21.
ERROR(39): Function 'ox' at line 37 is expecting no retu ERROR(39):
Function 'ox' at line 37 is expecting no retu
WARNING(42): Expecting to return type int but function ' WARNING(42):
Expecting to return type int but function '
ERROR(54): Symbol 'x' is already defined at line 53. ERROR(54):
Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53. ERROR(55):
Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined. ERROR(63): Symbol 'v'
is not defined.
ERROR(65): Expecting Boolean test condition in if statem ERROR(65):
Expecting Boolean test condition in if statem
ERROR(66): Expecting Boolean test condition in while sta ERROR(66):
Expecting Boolean test condition in while sta
ERROR(67): Expecting Boolean test condition in while sta ERROR(67):
Expecting Boolean test condition in while sta
ERROR(69): Cannot use function 'cat' as a simple variabl ERROR(69):
Cannot use function 'cat' as a simple variabl
ERROR(70): '=' requires operands of the same type but lh ERROR(70): '='
requires operands of the same type but lh
ERROR(71): '+=' requires operands of type int but rhs is ERROR(71): '+='
requires operands of type int but rhs is
ERROR(72): '-=' requires operands of type int but lhs is ERROR(72): '-='
requires operands of type int but lhs is
ERROR(73): '>' requires operands of type char or type in ERROR(73): '>'
requires operands of type char or type in
ERROR(74): Unary '++' requires an operand of type int bu ERROR(74): Unary
'++' requires an operand of type int bu
ERROR(76): Cannot use array as test condition in if stat ERROR(76):
Cannot use array as test condition in if stat
ERROR(77): Cannot use array as test condition in while s ERROR(77):
Cannot use array as test condition in while s
ERROR(79): Cannot have a break statement outside of loop ERROR(79):
Cannot have a break statement outside of loop
ERROR(83): The operation '+' does not work with arrays. ERROR(83):
The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays. ERROR(84):
The operation '<' does not work with arrays.
ERROR(85): '<' requires operands of type char or type in ERROR(85): '<'
requires operands of type char or type in
ERROR(85): '<' requires operands of type char or type in ERROR(85): '<'
requires operands of type char or type in
ERROR(85): The operation '<' does not work with arrays. ERROR(85):
The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but l ERROR(87): '=='
requires operands of the same type but l
ERROR(91): '+' requires operands of type int but lhs is ERROR(91): '+'
requires operands of type int but lhs is
ERROR(93): '*' requires operands of type int but rhs is ERROR(93): '*'
requires operands of type int but rhs is
ERROR(95): Unary 'not' requires an operand of type bool ERROR(95): Unary
'not' requires an operand of type bool
ERROR(96): '+' requires operands of type int but rhs is ERROR(96): '+'
requires operands of type int but rhs is
ERROR(96): Unary 'not' requires an operand of type bool ERROR(96): Unary
'not' requires an operand of type bool
ERROR(97): Unary '-' requires an operand of type int but ERROR(97): Unary
'-' requires an operand of type int but
ERROR(99): Cannot index nonarray 'x'. ERROR(99): Cannot index
nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): 'and' requires operands of type bool but rhs ERROR(100): 'and
' requires operands of type bool but rhs
ERROR(100): '*' requires operands of type int but rhs is ERROR(100): '*'
requires operands of type int but rhs is
ERROR(101): Symbol 'y' is not defined. ERROR(101): Symbol 'y'
is not defined.
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): '*' requires operands of type int but rhs is ERROR(101): '*'
requires operands of type int but rhs is
ERROR(102): 'and' requires operands of type bool but lhs ERROR(102): 'and
' requires operands of type bool but lhs
ERROR(102): 'and' requires operands of type bool but rhs ERROR(102): 'and
' requires operands of type bool but rhs
ERROR(102): '*' requires operands of type int but rhs is ERROR(102): '*'
requires operands of type int but rhs is
ERROR(102): 'or' requires operands of type bool but rhs ERROR(102): 'or'
requires operands of type bool but rhs
ERROR(104): The operation '*' only works with arrays. ERROR(104): The
operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs ERROR(105): 'and
' requires operands of type bool but lhs
ERROR(109): Array 'aa' should be indexed by type int but ERROR(109):
Array 'aa' should be indexed by type int but
ERROR(111): Cannot use function 'cat' as a simple variab ERROR(111):
Cannot use function 'cat' as a simple variab
ERROR(113): Array index is the unindexed array 'aa'. ERROR(113):
Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined. ERROR(114): Symbol '
AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined. ERROR(116): Symbol '
meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined. ERROR(118): Symbol '
xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined. ERROR(119): Symbol '
meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined. ERROR(120): Symbol '
xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs ERROR(120): 'and
' requires operands of type bool but rhs
ERROR(122): Symbol 'flight' is not defined. ERROR(122): Symbol '
flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool ERROR(122):
Unary 'not' requires an operand of type bool
ERROR(122): Unary '-' requires an operand of type int bu ERROR(122):
Unary '-' requires an operand of type int bu
ERROR(122): Symbol 'uu' is not defined. ERROR(122): Symbol '
uu' is not defined.
ERROR(122): Symbol 'y' is not defined. ERROR(122): Symbol 'y'
is not defined.
ERROR(122): '*' requires operands of type int but rhs is ERROR(122): '*'
requires operands of type int but rhs is
ERROR(124): 'x' is a simple variable and cannot be calle ERROR(124): 'x'
is a simple variable and cannot be calle
ERROR(126): Too many parameters passed for function 'dog ERROR(126): Too
many parameters passed for function 'dog
ERROR(127): Too few parameters passed for function 'ibex ERROR(127): Too
few parameters passed for function 'ibex
ERROR(129): Expecting type int in parameter 1 of call to ERROR(129):
Expecting type int in parameter 1 of call to
ERROR(131): Not expecting array in parameter 1 of call t ERROR(131): Not
expecting array in parameter 1 of call t
ERROR(133): Expecting array in parameter 1 of call to 'i ERROR(133):
Expecting array in parameter 1 of call to 'i
ERROR(134): Expecting type int in parameter 1 of call to ERROR(134):
Expecting type int in parameter 1 of call to
ERROR(135): Cannot use function 'ibex' as a simple varia ERROR(135):
Cannot use function 'ibex' as a simple varia
ERROR(137): Cannot use function 'ibex' as a simple varia ERROR(137):
Cannot use function 'ibex' as a simple varia
ERROR(137): '+' requires operands of type int but lhs is ERROR(137): '+'
requires operands of type int but lhs is
ERROR(140): Array index is the unindexed array 'zz'. ERROR(140):
Array index is the unindexed array 'zz'.
ERROR(141): Expecting type int in parameter 1 of call to ERROR(141):
Expecting type int in parameter 1 of call to
ERROR(141): Array 'aa' should be indexed by type int but ERROR(141):
Array 'aa' should be indexed by type int but
ERROR(143): '=' requires operands of the same type but l ERROR(143): '='
requires operands of the same type but l
ERROR(144): '+' requires operands of type int but rhs is ERROR(144): '+'
requires operands of type int but rhs is
ERROR(145): Expecting type int in parameter 1 of call to ERROR(145):
Expecting type int in parameter 1 of call to
ERROR(146): Expecting type int in parameter 1 of call to ERROR(146):
Expecting type int in parameter 1 of call to
ERROR(149): '=' requires operands of the same type but l ERROR(149): '='
requires operands of the same type but l
ERROR(150): '=' requires operands of the same type but l ERROR(150): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(153): '*' requires operands of type int but rhs is ERROR(153): '*'
requires operands of type int but rhs is
ERROR(153): '*' requires operands of type int but lhs is ERROR(153): '*'
requires operands of type int but lhs is
ERROR(153): 'and' requires operands of type bool but lhs ERROR(153): 'and
' requires operands of type bool but lhs
ERROR(153): 'and' requires operands of type bool but rhs ERROR(153): 'and
' requires operands of type bool but rhs
ERROR(155): '+' requires operands of type int but rhs is ERROR(155): '+'
requires operands of type int but rhs is
ERROR(155): Symbol 'parrot' is not defined. ERROR(155): Symbol '
parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but rhs ERROR(155): 'and
' requires operands of type bool but rhs
ERROR(155): Expecting type int in parameter 3 of call to ERROR(155):
Expecting type int in parameter 3 of call to
ERROR(156): Expecting type int in parameter 1 of call to ERROR(156):
Expecting type int in parameter 1 of call to
ERROR(156): Expecting type int in parameter 2 of call to | ERROR(156):
'+' requires operands of type int but rhs is
> ERROR(156): Symbol 'parrot' is not
defined.
> ERROR(156): 'and' requires operands of
type bool but rhs
> ERROR(156): Expecting type int in
parameter 3 of call to
> ERROR(156): 'and' requires operands of
type bool but rhs
> ERROR(156): Expecting type int in
parameter 2 of call to
ERROR(156): Expecting type int in parameter 3 of call to ERROR(156):
Expecting type int in parameter 3 of call to
ERROR(156): Too many parameters passed for function 'emu ERROR(156): Too
many parameters passed for function 'emu
> ERROR(156): '*' requires operands of
type int but rhs is
ERROR(158): Cannot return an array. ERROR(158): Cannot return
an array.
Number of warnings: 1 Number of warnings: 1
Number of errors: 95 | Number of errors: 101
RUN: c- basicAll2.c- RUN: c- basicAll2.c-
ERROR(16): Symbol 'cat' is not defined. ERROR(16): Symbol '
cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to ret ERROR(18):
Function 'dog' at line 12 is expecting to ret
ERROR(25): Function 'cat' at line 21 is expecting to ret ERROR(25):
Function 'cat' at line 21 is expecting to ret
ERROR(28): Symbol 'cat' is already defined at line 21. ERROR(28):
Symbol 'cat' is already defined at line 21.
ERROR(34): Function 'ibex' at line 31 is expecting to re ERROR(34):
Function 'ibex' at line 31 is expecting to re
ERROR(39): Function 'ox' at line 37 is expecting no retu ERROR(39):
Function 'ox' at line 37 is expecting no retu
WARNING(42): Expecting to return type char but function WARNING(42):
Expecting to return type char but function
ERROR(48): '+' requires operands of type int but lhs is ERROR(48): '+'
requires operands of type int but lhs is
ERROR(48): '+' requires operands of type int but rhs is ERROR(48): '+'
requires operands of type int but rhs is
ERROR(54): Symbol 'x' is already defined at line 53. ERROR(54):
Symbol 'x' is already defined at line 53.
ERROR(55): Symbol 'x' is already defined at line 53. ERROR(55):
Symbol 'x' is already defined at line 53.
ERROR(63): Symbol 'v' is not defined. ERROR(63): Symbol 'v'
is not defined.
ERROR(65): Expecting Boolean test condition in if statem ERROR(65):
Expecting Boolean test condition in if statem
ERROR(66): Expecting Boolean test condition in while sta ERROR(66):
Expecting Boolean test condition in while sta
ERROR(67): Expecting type char in parameter 1 of call to ERROR(67):
Expecting type char in parameter 1 of call to
ERROR(67): Expecting Boolean test condition in while sta ERROR(67):
Expecting Boolean test condition in while sta
ERROR(69): Cannot use function 'cat' as a simple variabl ERROR(69):
Cannot use function 'cat' as a simple variabl
ERROR(70): '=' requires operands of the same type but lh ERROR(70): '='
requires operands of the same type but lh
ERROR(71): '+=' requires operands of type int but lhs is ERROR(71): '+='
requires operands of type int but lhs is
ERROR(72): '-=' requires operands of type int but rhs is ERROR(72): '-='
requires operands of type int but rhs is
ERROR(76): Expecting Boolean test condition in if statem ERROR(76):
Expecting Boolean test condition in if statem
ERROR(76): Cannot use array as test condition in if stat ERROR(76):
Cannot use array as test condition in if stat
ERROR(77): Expecting Boolean test condition in while sta ERROR(77):
Expecting Boolean test condition in while sta
ERROR(77): Cannot use array as test condition in while s ERROR(77):
Cannot use array as test condition in while s
ERROR(79): Cannot have a break statement outside of loop ERROR(79):
Cannot have a break statement outside of loop
ERROR(81): Expecting Boolean test condition in while sta ERROR(81):
Expecting Boolean test condition in while sta
ERROR(83): '+' requires operands of type int but lhs is ERROR(83): '+'
requires operands of type int but lhs is
ERROR(83): The operation '+' does not work with arrays. ERROR(83):
The operation '+' does not work with arrays.
ERROR(84): The operation '<' does not work with arrays. ERROR(84):
The operation '<' does not work with arrays.
ERROR(85): The operation '<' does not work with arrays. ERROR(85):
The operation '<' does not work with arrays.
ERROR(87): '==' requires operands of the same type but l ERROR(87): '=='
requires operands of the same type but l
ERROR(88): '==' requires operands of the same type but l ERROR(88): '=='
requires operands of the same type but l
ERROR(89): '==' requires operands of the same type but l ERROR(89): '=='
requires operands of the same type but l
ERROR(91): '+' requires operands of type int but lhs is ERROR(91): '+'
requires operands of type int but lhs is
ERROR(91): '+' requires operands of type int but rhs is ERROR(91): '+'
requires operands of type int but rhs is
ERROR(93): '*' requires operands of type int but lhs is ERROR(93): '*'
requires operands of type int but lhs is
ERROR(93): '*' requires operands of type int but rhs is ERROR(93): '*'
requires operands of type int but rhs is
ERROR(95): Unary 'not' requires an operand of type bool ERROR(95): Unary
'not' requires an operand of type bool
ERROR(96): '+' requires operands of type int but lhs is ERROR(96): '+'
requires operands of type int but lhs is
ERROR(96): Unary 'not' requires an operand of type bool ERROR(96): Unary
'not' requires an operand of type bool
ERROR(99): Cannot index nonarray 'x'. ERROR(99): Cannot index
nonarray 'x'.
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): 'and' requires operands of type bool but rhs ERROR(100): 'and
' requires operands of type bool but rhs
ERROR(100): '*' requires operands of type int but lhs is ERROR(100): '*'
requires operands of type int but lhs is
ERROR(100): '*' requires operands of type int but rhs is ERROR(100): '*'
requires operands of type int but rhs is
ERROR(100): '+' requires operands of type int but lhs is ERROR(100): '+'
requires operands of type int but lhs is
ERROR(100): '==' requires operands of the same type but ERROR(100): '=='
requires operands of the same type but
ERROR(100): '=' requires operands of the same type but l ERROR(100): '='
requires operands of the same type but l
ERROR(101): Symbol 'y' is not defined. ERROR(101): Symbol 'y'
is not defined.
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): '*' requires operands of type int but lhs is ERROR(101): '*'
requires operands of type int but lhs is
ERROR(101): '*' requires operands of type int but rhs is ERROR(101): '*'
requires operands of type int but rhs is
ERROR(101): '+' requires operands of type int but lhs is ERROR(101): '+'
requires operands of type int but lhs is
ERROR(101): '==' requires operands of the same type but ERROR(101): '=='
requires operands of the same type but
ERROR(101): '=' requires operands of the same type but l ERROR(101): '='
requires operands of the same type but l
ERROR(102): 'and' requires operands of type bool but lhs ERROR(102): 'and
' requires operands of type bool but lhs
ERROR(102): 'and' requires operands of type bool but rhs ERROR(102): 'and
' requires operands of type bool but rhs
ERROR(102): '*' requires operands of type int but lhs is ERROR(102): '*'
requires operands of type int but lhs is
ERROR(102): '*' requires operands of type int but rhs is ERROR(102): '*'
requires operands of type int but rhs is
ERROR(102): 'or' requires operands of type bool but rhs ERROR(102): 'or'
requires operands of type bool but rhs
ERROR(102): '=' requires operands of the same type but l ERROR(102): '='
requires operands of the same type but l
ERROR(104): The operation '*' only works with arrays. ERROR(104): The
operation '*' only works with arrays.
ERROR(105): 'and' requires operands of type bool but lhs ERROR(105): 'and
' requires operands of type bool but lhs
ERROR(105): 'and' requires operands of type bool but rhs ERROR(105): 'and
' requires operands of type bool but rhs
ERROR(111): Cannot use function 'cat' as a simple variab ERROR(111):
Cannot use function 'cat' as a simple variab
ERROR(111): Array 'aa' should be indexed by type int but ERROR(111):
Array 'aa' should be indexed by type int but
ERROR(113): Array 'aa' should be indexed by type int but ERROR(113):
Array 'aa' should be indexed by type int but
ERROR(113): Array index is the unindexed array 'aa'. ERROR(113):
Array index is the unindexed array 'aa'.
ERROR(114): Symbol 'AA' is not defined. ERROR(114): Symbol '
AA' is not defined.
ERROR(116): Symbol 'meerkat' is not defined. ERROR(116): Symbol '
meerkat' is not defined.
ERROR(118): Symbol 'xyzzy' is not defined. ERROR(118): Symbol '
xyzzy' is not defined.
ERROR(119): Symbol 'meerkat' is not defined. ERROR(119): Symbol '
meerkat' is not defined.
ERROR(120): Symbol 'xyzzy' is not defined. ERROR(120): Symbol '
xyzzy' is not defined.
ERROR(120): 'and' requires operands of type bool but rhs ERROR(120): 'and
' requires operands of type bool but rhs
ERROR(122): Symbol 'flight' is not defined. ERROR(122): Symbol '
flight' is not defined.
ERROR(122): Unary 'not' requires an operand of type bool ERROR(122):
Unary 'not' requires an operand of type bool
ERROR(122): Unary '-' requires an operand of type int bu ERROR(122):
Unary '-' requires an operand of type int bu
ERROR(122): Symbol 'uu' is not defined. ERROR(122): Symbol '
uu' is not defined.
ERROR(122): Symbol 'y' is not defined. ERROR(122): Symbol 'y'
is not defined.
ERROR(122): '*' requires operands of type int but lhs is ERROR(122): '*'
requires operands of type int but lhs is
ERROR(122): '+' requires operands of type int but lhs is ERROR(122): '+'
requires operands of type int but lhs is
ERROR(124): 'x' is a simple variable and cannot be calle ERROR(124): 'x'
is a simple variable and cannot be calle
ERROR(126): Expecting type char in parameter 1 of call t ERROR(126):
Expecting type char in parameter 1 of call t
ERROR(126): Too many parameters passed for function 'dog ERROR(126): Too
many parameters passed for function 'dog
ERROR(127): Too few parameters passed for function 'ibex ERROR(127): Too
few parameters passed for function 'ibex
ERROR(129): Expecting type char in parameter 1 of call t ERROR(129):
Expecting type char in parameter 1 of call t
ERROR(131): Not expecting array in parameter 1 of call t ERROR(131): Not
expecting array in parameter 1 of call t
ERROR(133): Expecting array in parameter 1 of call to 'i ERROR(133):
Expecting array in parameter 1 of call to 'i
ERROR(134): Expecting type char in parameter 1 of call t ERROR(134):
Expecting type char in parameter 1 of call t
ERROR(135): Cannot use function 'ibex' as a simple varia ERROR(135):
Cannot use function 'ibex' as a simple varia
ERROR(137): Cannot use function 'ibex' as a simple varia ERROR(137):
Cannot use function 'ibex' as a simple varia
ERROR(139): Array 'aa' should be indexed by type int but ERROR(139):
Array 'aa' should be indexed by type int but
ERROR(140): Array 'aa' should be indexed by type int but ERROR(140):
Array 'aa' should be indexed by type int but
ERROR(140): Array index is the unindexed array 'zz'. ERROR(140):
Array index is the unindexed array 'zz'.
ERROR(141): Expecting type char in parameter 1 of call t ERROR(141):
Expecting type char in parameter 1 of call t
ERROR(141): Array 'aa' should be indexed by type int but ERROR(141):
Array 'aa' should be indexed by type int but
ERROR(143): Expecting type char in parameter 1 of call t ERROR(143):
Expecting type char in parameter 1 of call t
ERROR(143): '=' requires operands of the same type but l ERROR(143): '='
requires operands of the same type but l
ERROR(144): Expecting type char in parameter 1 of call t ERROR(144):
Expecting type char in parameter 1 of call t
ERROR(144): '+' requires operands of type int but lhs is ERROR(144): '+'
requires operands of type int but lhs is
ERROR(144): '+' requires operands of type int but rhs is ERROR(144): '+'
requires operands of type int but rhs is
ERROR(144): '=' requires operands of the same type but l ERROR(144): '='
requires operands of the same type but l
ERROR(145): Expecting type char in parameter 1 of call t ERROR(145):
Expecting type char in parameter 1 of call t
ERROR(145): Expecting type char in parameter 1 of call t ERROR(145):
Expecting type char in parameter 1 of call t
ERROR(146): Expecting type char in parameter 1 of call t ERROR(146):
Expecting type char in parameter 1 of call t
ERROR(147): Expecting type char in parameter 1 of call t ERROR(147):
Expecting type char in parameter 1 of call t
ERROR(149): '=' requires operands of the same type but l ERROR(149): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(151): '=' requires operands of the same type but l ERROR(151): '='
requires operands of the same type but l
ERROR(153): '*' requires operands of type int but lhs is ERROR(153): '*'
requires operands of type int but lhs is
ERROR(153): '*' requires operands of type int but rhs is ERROR(153): '*'
requires operands of type int but rhs is
ERROR(153): 'and' requires operands of type bool but lhs ERROR(153): 'and
' requires operands of type bool but lhs
ERROR(153): 'and' requires operands of type bool but rhs ERROR(153): 'and
' requires operands of type bool but rhs
ERROR(155): '+' requires operands of type int but lhs is ERROR(155): '+'
requires operands of type int but lhs is
> ERROR(155): Expecting type char in
parameter 1 of call t
ERROR(155): Symbol 'parrot' is not defined. ERROR(155): Symbol '
parrot' is not defined.
ERROR(155): 'and' requires operands of type bool but lhs ERROR(155): 'and
' requires operands of type bool but lhs
ERROR(155): 'and' requires operands of type bool but rhs ERROR(155): 'and
' requires operands of type bool but rhs
ERROR(155): Expecting type char in parameter 1 of call t <
ERROR(155): Expecting type char in parameter 3 of call t ERROR(155):
Expecting type char in parameter 3 of call t
ERROR(156): Expecting type char in parameter 1 of call t ERROR(156):
Expecting type char in parameter 1 of call t
ERROR(156): Expecting type char in parameter 2 of call t | ERROR(156):
'+' requires operands of type int but lhs is
> ERROR(156): Expecting type char in
parameter 1 of call t
> ERROR(156): Symbol 'parrot' is not
defined.
> ERROR(156): 'and' requires operands of
type bool but lhs
> ERROR(156): 'and' requires operands of
type bool but rhs
> ERROR(156): Expecting type char in
parameter 3 of call t
> ERROR(156): 'and' requires operands of
type bool but rhs
> ERROR(156): Expecting type char in
parameter 2 of call t
ERROR(156): Expecting type char in parameter 3 of call t ERROR(156):
Expecting type char in parameter 3 of call t
ERROR(156): Too many parameters passed for function 'emu ERROR(156): Too
many parameters passed for function 'emu
> ERROR(156): '*' requires operands of
type int but lhs is
ERROR(158): Cannot return an array. ERROR(158): Cannot return
an array.
Number of warnings: 1 Number of warnings: 1
Number of errors: 124 | Number of errors: 132
RUN: c- basicExtra.c- RUN: c- basicExtra.c-
WARNING(3): Expecting to return type char but function ' WARNING(3):
Expecting to return type char but function '
ERROR(14): '<' requires operands of type char or type in ERROR(14): '<'
requires operands of type char or type in
ERROR(14): '<' requires operands of type char or type in ERROR(14): '<'
requires operands of type char or type in
ERROR(14): The operation '<' does not work with arrays. ERROR(14):
The operation '<' does not work with arrays.
ERROR(15): The operation '<' does not work with arrays. ERROR(15):
The operation '<' does not work with arrays.
ERROR(18): '<' requires operands of type char or type in ERROR(18): '<'
requires operands of type char or type in
ERROR(18): '<' requires operands of type char or type in ERROR(18): '<'
requires operands of type char or type in
ERROR(19): '/' requires operands of type int but lhs is ERROR(19): '/'
requires operands of type int but lhs is
ERROR(20): '/' requires operands of type int but rhs is ERROR(20): '/'
requires operands of type int but rhs is
ERROR(21): '%' requires operands of type int but lhs is ERROR(21): '%'
requires operands of type int but lhs is
ERROR(22): '%' requires operands of type int but rhs is ERROR(22): '%'
requires operands of type int but rhs is
ERROR(23): '-' requires operands of type int but lhs is ERROR(23): '-'
requires operands of type int but lhs is
ERROR(24): '-' requires operands of type int but rhs is ERROR(24): '-'
requires operands of type int but rhs is
ERROR(25): '<' requires operands of type char or type in ERROR(25): '<'
requires operands of type char or type in
ERROR(25): '<' requires operands of type char or type in ERROR(25): '<'
requires operands of type char or type in
ERROR(27): '<' requires operands of type char or type in ERROR(27): '<'
requires operands of type char or type in
ERROR(28): '<' requires operands of type char or type in ERROR(28): '<'
requires operands of type char or type in
ERROR(30): Symbol 'k' is not defined. ERROR(30): Symbol 'k'
is not defined.
ERROR(31): Symbol 'k' is not defined. ERROR(31): Symbol 'k'
is not defined.
ERROR(32): Symbol 'k' is not defined. ERROR(32): Symbol 'k'
is not defined.
ERROR(32): Symbol 'k' is not defined. ERROR(32): Symbol 'k'
is not defined.
ERROR(33): Symbol 'k' is not defined. ERROR(33): Symbol 'k'
is not defined.
ERROR(34): 'i' is a simple variable and cannot be called ERROR(34): 'i'
is a simple variable and cannot be called
Number of warnings: 1 Number of warnings: 1
Number of errors: 22 Number of errors: 22
RUN: c- bullsandcows.c- RUN: c- bullsandcows.c-
ERROR(120): Cannot have a break statement outside of loo <
ERROR(130): Cannot have a break statement outside of loo <
ERROR(160): Cannot have a break statement outside of loo <
Number of warnings: 0 Number of warnings: 0
Number of errors: 3 | Number of errors: 0
RUN: c- call.c- RUN: c- call.c-
WARNING(1): Expecting to return type int but function 's WARNING(1):
Expecting to return type int but function 's
WARNING(7): Expecting to return type int but function 's WARNING(7):
Expecting to return type int but function 's
WARNING(18): Expecting to return type int but function ' WARNING(18):
Expecting to return type int but function '
Number of warnings: 3 Number of warnings: 3
Number of errors: 0 Number of errors: 0
RUN: c- call2.c- RUN: c- call2.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- call3.c- RUN: c- call3.c-
ERROR(4): Symbol 'fred' is not defined. ERROR(4): Symbol '
fred' is not defined.
ERROR(4): Symbol 'x' is not defined. ERROR(4): Symbol 'x' is
not defined.
ERROR(4): Symbol 'y' is not defined. ERROR(4): Symbol 'y' is
not defined.
ERROR(4): 'and' requires operands of type bool but lhs i ERROR(4): 'and'
requires operands of type bool but lhs i
ERROR(4): 'and' requires operands of type bool but rhs i ERROR(4): 'and'
requires operands of type bool but rhs i
> ERROR(6): Function 'main' at line 1 is
expecting no retu
ERROR(12): Too many parameters passed for function 'fred ERROR(12): Too
many parameters passed for function 'fred
> ERROR(12): The operation '*' only works
with arrays.
ERROR(14): Too few parameters passed for function 'fred' ERROR(14): Too
few parameters passed for function 'fred'
ERROR(13): Expecting array in parameter 1 of call to 'fr ERROR(13):
Expecting array in parameter 1 of call to 'fr
ERROR(15): Expecting type char in parameter 1 of call to ERROR(15):
Expecting type char in parameter 1 of call to
WARNING(9): Expecting to return type char but function ' WARNING(9):
Expecting to return type char but function '
ERROR(20): 'x' is a simple variable and cannot be called ERROR(20): 'x'
is a simple variable and cannot be called
ERROR(20): '+' requires operands of type int but rhs is ERROR(20): '+'
requires operands of type int but rhs is
ERROR(20): The operation '*' only works with arrays. ERROR(20): The
operation '*' only works with arrays.
ERROR(20): 'and' requires operands of type bool but lhs ERROR(20): 'and'
requires operands of type bool but lhs
ERROR(20): 'and' requires operands of type bool but rhs ERROR(20): 'and'
requires operands of type bool but rhs
ERROR(21): Symbol 'y' is not defined. ERROR(21): Symbol 'y'
is not defined.
ERROR(21): '+' requires operands of type int but rhs is ERROR(21): '+'
requires operands of type int but rhs is
ERROR(21): The operation '*' only works with arrays. ERROR(21): The
operation '*' only works with arrays.
ERROR(21): 'and' requires operands of type bool but lhs ERROR(21): 'and'
requires operands of type bool but lhs
ERROR(21): 'and' requires operands of type bool but rhs ERROR(21): 'and'
requires operands of type bool but rhs
ERROR(22): 'z' is a simple variable and cannot be called ERROR(22): 'z'
is a simple variable and cannot be called
ERROR(22): '+' requires operands of type int but rhs is ERROR(22): '+'
requires operands of type int but rhs is
ERROR(22): The operation '*' only works with arrays. ERROR(22): The
operation '*' only works with arrays.
ERROR(22): 'and' requires operands of type bool but lhs ERROR(22): 'and'
requires operands of type bool but lhs
ERROR(22): 'and' requires operands of type bool but rhs ERROR(22): 'and'
requires operands of type bool but rhs
ERROR(25): Symbol 'output' is already defined at line -1 ERROR(25):
Symbol 'output' is already defined at line -1
ERROR(26): Symbol 'outputb' is already defined at line - ERROR(26):
Symbol 'outputb' is already defined at line -
ERROR(27): Symbol 'outputc' is already defined at line - ERROR(27):
Symbol 'outputc' is already defined at line -
ERROR(29): Symbol 'input' is already defined at line -1. ERROR(29):
Symbol 'input' is already defined at line -1.
ERROR(30): Symbol 'inputb' is already defined at line -1 ERROR(30):
Symbol 'inputb' is already defined at line -1
ERROR(31): Symbol 'inputc' is already defined at line -1 ERROR(31):
Symbol 'inputc' is already defined at line -1
ERROR(43): Symbol 'x' is already defined at line 42. ERROR(43):
Symbol 'x' is already defined at line 42.
WARNING(42): Expecting to return type int but function ' WARNING(42):
Expecting to return type int but function '
ERROR(50): Symbol 'AlanTuring' is already defined at lin ERROR(50):
Symbol 'AlanTuring' is already defined at lin
ERROR(54): Symbol 'x' is already defined at line 52. <
WARNING(50): Expecting to return type int but function ' WARNING(50):
Expecting to return type int but function '
Number of warnings: 3 Number of warnings: 3
Number of errors: 33 | Number of errors: 34
RUN: c- chars.c- RUN: c- chars.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- everything02.c- RUN: c- everything02.c-
WARNING(47): Expecting to return type bool but function | Number of
warnings: 0
ERROR(65): Initializer for variable 'void' is not a cons | Number of
errors: 0
WARNING(84): Expecting to return type int but function ' <
ERROR(93): Expecting type int in parameter 2 of call to <
Number of warnings: 2 <
Number of errors: 2 <
RUN: c- factor.c- RUN: c- factor.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- factorial.c- RUN: c- factorial.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
RUN: c- init.c- RUN: c- init.c-
ERROR(6): Initializer for variable 'j' is not a constant <
ERROR(6): Initializer for variable 'l' is not a constant <
ERROR(7): Initializer for variable 'bb' is not a constan <
ERROR(15): Symbol 'y' is already defined at line 4. <
ERROR(17): Cannot index nonarray 'y'. <
ERROR(17): '=' requires operands of the same type but lh <
Number of warnings: 0 Number of warnings: 0
Number of errors: 6 | Number of errors: 0
RUN: c- moutest.c- RUN: c- moutest.c-
WARNING(5): Expecting to return type int but function 'e WARNING(5):
Expecting to return type int but function 'e
ERROR(19): Array 'aa' should be indexed by type int but ERROR(19): Array
'aa' should be indexed by type int but
ERROR(20): Array index is the unindexed array 'dd'. ERROR(20): Array
index is the unindexed array 'dd'.
ERROR(17): Array 'cc' should be indexed by type int but ERROR(17): Array
'cc' should be indexed by type int but
ERROR(25): Array 'aa' should be indexed by type int but ERROR(25): Array
'aa' should be indexed by type int but
ERROR(23): Array 'cc' should be indexed by type int but ERROR(23): Array
'cc' should be indexed by type int but
ERROR(30): Array 'cc' should be indexed by type int but ERROR(30): Array
'cc' should be indexed by type int but
ERROR(39): The operation '*' only works with arrays. ERROR(39): The
operation '*' only works with arrays.
ERROR(36): Array 'cc' should be indexed by type int but ERROR(36): Array
'cc' should be indexed by type int but
ERROR(42): Expecting type int in parameter 1 of call to ERROR(42):
Expecting type int in parameter 1 of call to
ERROR(43): Expecting type int in parameter 2 of call to | ERROR(43): '
+' requires operands of type int but rhs is
ERROR(50): Expecting type int in parameter 3 of call to | ERROR(44): '
+' requires operands of type int but rhs is
ERROR(50): Too many parameters passed for function 'emu' | ERROR(45): '
+' requires operands of type int but rhs is
> ERROR(46): Symbol 'parrot' is not
defined.
> ERROR(47): 'and' requires operands of
type bool but rhs
> ERROR(45): Expecting type int in
parameter 3 of call to
> ERROR(48): 'and' requires operands of
type bool but rhs
> ERROR(44): Expecting type int in
parameter 3 of call to
> ERROR(49): 'and' requires operands of
type bool but rhs
> ERROR(43): Expecting type int in
parameter 3 of call to
> ERROR(43): 'and' requires operands of
type bool but rhs
> ERROR(42): Expecting type int in
parameter 2 of call to
> ERROR(42): Expecting type int in
parameter 3 of call to
> ERROR(42): Too many parameters passed
for function 'emu'
> ERROR(51): '*' requires operands of type
int but rhs is
Number of warnings: 1 Number of warnings: 1
Number of errors: 12 | Number of errors: 24
RUN: c- ryantest.c- RUN: c- ryantest.c-
ERROR(7): Initializer for variable 'x' is not a constant ERROR(7):
Initializer for variable 'x' is not a constant
ERROR(7): Symbol 'x' is already defined at line 5. ERROR(7): Symbol '
x' is already defined at line 5.
ERROR(18): '==' requires operands of the same type but l ERROR(18): '=='
requires operands of the same type but l
ERROR(18): '==' requires that if one operand is an array ERROR(18): '=='
requires that if one operand is an array
ERROR(19): 'and' requires operands of type bool but lhs ERROR(19): 'and'
requires operands of type bool but lhs
ERROR(19): 'and' requires operands of type bool but rhs ERROR(19): 'and'
requires operands of type bool but rhs
ERROR(19): The operation 'and' does not work with arrays ERROR(19): The
operation 'and' does not work with arrays
WARNING(12): Expecting to return type bool but function <
ERROR(35): '=' requires operands of the same type but lh ERROR(35): '='
requires operands of the same type but lh
ERROR(34): '=' requires operands of the same type but lh ERROR(34): '='
requires operands of the same type but lh
ERROR(38): Symbol 'undef' is not defined. ERROR(38): Symbol '
undef' is not defined.
ERROR(37): '=' requires operands of the same type but lh ERROR(37): '='
requires operands of the same type but lh
ERROR(41): Symbol 'undef' is not defined. ERROR(41): Symbol '
undef' is not defined.
ERROR(44): Symbol 'undef' is not defined. ERROR(44): Symbol '
undef' is not defined.
ERROR(47): '=' requires operands of the same type but lh ERROR(47): '='
requires operands of the same type but lh
ERROR(46): '=' requires operands of the same type but lh ERROR(46): '='
requires operands of the same type but lh
ERROR(46): '+' requires operands of type int but lhs is ERROR(46): '+'
requires operands of type int but lhs is
ERROR(50): Symbol 'undef' is not defined. ERROR(50): Symbol '
undef' is not defined.
ERROR(49): '+' requires operands of type int but lhs is ERROR(49): '+'
requires operands of type int but lhs is
ERROR(53): Symbol 'undef' is not defined. ERROR(53): Symbol '
undef' is not defined.
ERROR(52): '=' requires operands of the same type but lh ERROR(52): '='
requires operands of the same type but lh
ERROR(52): '+' requires operands of type int but lhs is ERROR(52): '+'
requires operands of type int but lhs is
ERROR(56): '=' requires operands of the same type but lh ERROR(56): '='
requires operands of the same type but lh
ERROR(55): '=' requires operands of the same type but lh ERROR(55): '='
requires operands of the same type but lh
ERROR(55): '+' requires operands of type int but lhs is ERROR(55): '+'
requires operands of type int but lhs is
ERROR(64): Symbol 'foo' is not defined. ERROR(64): Symbol '
foo' is not defined.
ERROR(65): Symbol 'foo' is not defined. ERROR(65): Symbol '
foo' is not defined.
ERROR(66): Symbol 'foo' is not defined. ERROR(66): Symbol '
foo' is not defined.
ERROR(67): Symbol 'foo' is not defined. ERROR(67): Symbol '
foo' is not defined.
ERROR(68): Symbol 'foo' is not defined. ERROR(68): Symbol '
foo' is not defined.
ERROR(68): Symbol 'foo' is not defined. ERROR(68): Symbol '
foo' is not defined.
ERROR(69): 'x' is a simple variable and cannot be called ERROR(69): 'x'
is a simple variable and cannot be called
> ERROR(69): '*' requires operands of type
int but lhs is
> ERROR(69): Cannot use function 'test' as
a simple variab
ERROR(71): Cannot use function 'check' as a simple varia ERROR(71):
Cannot use function 'check' as a simple varia
ERROR(72): Cannot use function 'check' as a simple varia ERROR(72):
Cannot use function 'check' as a simple varia
ERROR(72): 'x' is a simple variable and cannot be called ERROR(72): 'x'
is a simple variable and cannot be called
ERROR(73): Symbol 'c' is not defined. ERROR(73): Symbol 'c'
is not defined.
ERROR(74): Symbol 'c' is not defined. ERROR(74): Symbol 'c'
is not defined.
ERROR(76): Symbol 'foo' is not defined. ERROR(76): Symbol '
foo' is not defined.
ERROR(78): Cannot index nonarray 'x'. ERROR(78): Cannot index
nonarray 'x'.
ERROR(79): Cannot index nonarray 'x'. ERROR(79): Cannot index
nonarray 'x'.
ERROR(80): Symbol 'y' is not defined. ERROR(80): Symbol 'y'
is not defined.
ERROR(82): Cannot use function 'check' as a simple varia ERROR(82):
Cannot use function 'check' as a simple varia
ERROR(82): '=' requires that if one operand is an array <
ERROR(83): 'x' is a simple variable and cannot be called ERROR(83): 'x'
is a simple variable and cannot be called
ERROR(86): '=' requires operands of the same type but lh ERROR(86): '='
requires operands of the same type but lh
ERROR(87): '=' requires operands of the same type but lh ERROR(87): '='
requires operands of the same type but lh
ERROR(87): Expecting type int in parameter 2 of call to ERROR(87):
Expecting type int in parameter 2 of call to
ERROR(88): Symbol 'y' is not defined. ERROR(88): Symbol 'y'
is not defined.
ERROR(88): Too many parameters passed for function 'chec ERROR(88): Too
many parameters passed for function 'chec
ERROR(88): Too few parameters passed for function 'check ERROR(88): Too
few parameters passed for function 'check
ERROR(89): Expecting array in parameter 2 of call to 'fu ERROR(89):
Expecting array in parameter 2 of call to 'fu
ERROR(90): Not expecting array in parameter 1 of call to ERROR(90): Not
expecting array in parameter 1 of call to
ERROR(92): '-' requires operands of type int but rhs is ERROR(92): '-'
requires operands of type int but rhs is
ERROR(92): Expecting array in parameter 2 of call to 'fu | ERROR(91):
Expecting array in parameter 2 of call to 'fu
ERROR(92): Too many parameters passed for function 'func | ERROR(91):
Too many parameters passed for function 'func
ERROR(94): Expecting type int in parameter 1 of call to ERROR(94):
Expecting type int in parameter 1 of call to
ERROR(94): Not expecting array in parameter 1 of call to ERROR(94): Not
expecting array in parameter 1 of call to
ERROR(94): Too few parameters passed for function 'func' ERROR(94): Too
few parameters passed for function 'func'
ERROR(99): Initializer for variable 'x' is not a constan ERROR(99):
Initializer for variable 'x' is not a constan
ERROR(99): Symbol 'x' is already defined at line 97. ERROR(99):
Symbol 'x' is already defined at line 97.
ERROR(100): Symbol 'x' is already defined at line 97. ERROR(100):
Symbol 'x' is already defined at line 97.
ERROR(101): Variable 'x' is of type char but is being in ERROR(101):
Variable 'x' is of type char but is being in
ERROR(101): Symbol 'x' is already defined at line 97. ERROR(101):
Symbol 'x' is already defined at line 97.
ERROR(102): Symbol 'x' is already defined at line 97. ERROR(102):
Symbol 'x' is already defined at line 97.
ERROR(104): Symbol 'z' is already defined at line 103. ERROR(104):
Symbol 'z' is already defined at line 103.
ERROR(105): Initializer for variable 'y' is not a consta ERROR(105):
Initializer for variable 'y' is not a consta
ERROR(106): Initializer for variable 'a' is not a consta ERROR(106):
Initializer for variable 'a' is not a consta
ERROR(106): Initializer for nonarray variable 'a' of typ ERROR(106):
Initializer for nonarray variable 'a' of typ
ERROR(107): Initializer for variable 'b' is not a consta ERROR(107):
Initializer for variable 'b' is not a consta
ERROR(108): Initializer for variable 'd' is not a consta ERROR(108):
Initializer for variable 'd' is not a consta
ERROR(109): Variable 'e' is of type int but is being ini ERROR(109):
Variable 'e' is of type int but is being ini
ERROR(109): Initializer for nonarray variable 'e' of typ ERROR(109):
Initializer for nonarray variable 'e' of typ
ERROR(110): Array 'f' must be of type char to be initial ERROR(110):
Array 'f' must be of type char to be initial
ERROR(111): Initializer for nonarray variable 'g' of typ ERROR(111):
Initializer for nonarray variable 'g' of typ
ERROR(113): Initializer for variable 'i' is not a consta ERROR(113):
Initializer for variable 'i' is not a consta
ERROR(114): Initializer for variable 'j' is not a consta ERROR(114):
Initializer for variable 'j' is not a consta
ERROR(115): Initializer for variable 'k' is not a consta ERROR(115):
Initializer for variable 'k' is not a consta
ERROR(115): Variable 'k' is of type int but is being ini ERROR(115):
Variable 'k' is of type int but is being ini
ERROR(116): Initializer for variable 'j' is not a consta ERROR(116):
Initializer for variable 'j' is not a consta
ERROR(116): Symbol 'j' is already defined at line 114. ERROR(116):
Symbol 'j' is already defined at line 114.
ERROR(118): Initializer for variable 'j2' is not a const ERROR(118):
Initializer for variable 'j2' is not a const
> ERROR(127): Function 'retCheck' at line
125 is expecting
ERROR(129): Expecting array in parameter 2 of call to 'r ERROR(129):
Expecting array in parameter 2 of call to 'r
ERROR(130): Cannot return an array. ERROR(130): Cannot return
an array.
ERROR(127): Function 'retCheck' at line 125 is expecting | Number of
warnings: 0
Number of warnings: 1 | Number of errors: 84
Number of errors: 83 <
RUN: c- tictactoe.c- RUN: c- tictactoe.c-
WARNING(276): Expecting to return type bool but function | Number of
warnings: 0
Number of warnings: 1 <
Number of errors: 0 Number of errors: 0
RUN: c- undef.c- RUN: c- undef.c-
WARNING(3): Expecting to return type int but function 'i WARNING(3):
Expecting to return type int but function 'i
ERROR(10): Symbol 'undef' is not defined. ERROR(10): Symbol '
undef' is not defined.
ERROR(10): Initializer for variable 'x' is not a constan ERROR(10):
Initializer for variable 'x' is not a constan
ERROR(10): Symbol 'x' is already defined at line 9. ERROR(10): Symbol
'x' is already defined at line 9.
ERROR(14): Symbol 'undef' is not defined. ERROR(14): Symbol '
undef' is not defined.
ERROR(15): '+' requires operands of type int but rhs is ERROR(15): '+'
requires operands of type int but rhs is
ERROR(16): Symbol 'undef' is not defined. ERROR(16): Symbol '
undef' is not defined.
ERROR(17): '+' requires operands of type int but lhs is ERROR(17): '+'
requires operands of type int but lhs is
ERROR(18): Symbol 'undef' is not defined. ERROR(18): Symbol '
undef' is not defined.
ERROR(18): Symbol 'undef' is not defined. ERROR(18): Symbol '
undef' is not defined.
ERROR(19): '+' requires operands of type int but lhs is ERROR(19): '+'
requires operands of type int but lhs is
ERROR(19): '+' requires operands of type int but rhs is ERROR(19): '+'
requires operands of type int but rhs is
ERROR(22): Symbol 'undef' is not defined. ERROR(22): Symbol '
undef' is not defined.
ERROR(23): '+' requires operands of type int but rhs is ERROR(23): '+'
requires operands of type int but rhs is
ERROR(24): Symbol 'undef' is not defined. ERROR(24): Symbol '
undef' is not defined.
ERROR(25): '+' requires operands of type int but lhs is ERROR(25): '+'
requires operands of type int but lhs is
ERROR(26): Symbol 'undef' is not defined. ERROR(26): Symbol '
undef' is not defined.
ERROR(26): Symbol 'undef' is not defined. ERROR(26): Symbol '
undef' is not defined.
ERROR(27): '+' requires operands of type int but lhs is ERROR(27): '+'
requires operands of type int but lhs is
ERROR(27): '+' requires operands of type int but rhs is ERROR(27): '+'
requires operands of type int but rhs is
ERROR(29): Symbol 'undef' is not defined. ERROR(29): Symbol '
undef' is not defined.
ERROR(30): Symbol 'undef' is not defined. ERROR(30): Symbol '
undef' is not defined.
ERROR(31): Symbol 'undef' is not defined. ERROR(31): Symbol '
undef' is not defined.
ERROR(32): Symbol 'undef' is not defined. ERROR(32): Symbol '
undef' is not defined.
ERROR(34): Symbol 'undef' is not defined. ERROR(34): Symbol '
undef' is not defined.
ERROR(34): '+' requires operands of type int but rhs is ERROR(34): '+'
requires operands of type int but rhs is
ERROR(34): '==' requires operands of the same type but l ERROR(34): '=='
requires operands of the same type but l
ERROR(34): The operation '*' only works with arrays. ERROR(34): The
operation '*' only works with arrays.
ERROR(35): 'x' is a simple variable and cannot be called ERROR(35): 'x'
is a simple variable and cannot be called
ERROR(35): '+' requires operands of type int but rhs is ERROR(35): '+'
requires operands of type int but rhs is
ERROR(35): '==' requires operands of the same type but l ERROR(35): '=='
requires operands of the same type but l
ERROR(35): The operation '*' only works with arrays. ERROR(35): The
operation '*' only works with arrays.
ERROR(37): Cannot use function 'novalue' as a simple var ERROR(37):
Cannot use function 'novalue' as a simple var
ERROR(37): '=' requires operands of the same type but lh ERROR(37): '='
requires operands of the same type but lh
ERROR(38): Cannot use function 'intvalue' as a simple va ERROR(38):
Cannot use function 'intvalue' as a simple va
ERROR(40): Expecting type int in parameter 1 of call to ERROR(40):
Expecting type int in parameter 1 of call to
ERROR(41): Cannot use function 'novalue' as a simple var ERROR(41):
Cannot use function 'novalue' as a simple var
ERROR(41): Expecting type int in parameter 1 of call to ERROR(41):
Expecting type int in parameter 1 of call to
ERROR(42): Symbol 'undef' is not defined. ERROR(42): Symbol '
undef' is not defined.
ERROR(43): Symbol 'undef' is not defined. ERROR(43): Symbol '
undef' is not defined.
ERROR(45): Cannot use function 'intvalue' as a simple va ERROR(45):
Cannot use function 'intvalue' as a simple va
Number of warnings: 1 Number of warnings: 1
Number of errors: 40 Number of errors: 40
RUN: c- while03.c- RUN: c- while03.c-
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
/* End of testing * End of testing
d**********o
发帖数: 1321
315
hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax tree root node之前,这样整
个是一个linked list of nodes;当然hw5里这几个IO function的处理又会再一次地
成为考点。)(这里面我也有很多幼稚的地方,今天我也就不再多作评价,明天再接着
写*_^)
\begin{lstlisting}[language=c++]
%{
#include
#include
#include
#include
#include
#include
#include "scanType.h"
#include "c-.tab.h"
#include "symtab.h"
extern int yylex();
extern int yyparse();
extern FILE * yyin;
char *yyfilename;
extern char *yytext;
extern int linnum;
extern char tokenString[];
#define MAXCHILDREN 3
typedef int TokenType;
typedef enum {DeclK, StmtK, ExpK} NodeKind;
typedef enum {VarK, FuncK, ParamK} DeclKind;
typedef enum {IfK, WhileK, ForEachK, CompoundK, ReturnK, BreakK}
StmtKind;
typedef enum {OpK, ConstantK, IdK, AssignK, CallK} ExpKind;
typedef struct treeNode {
struct treeNode *child[MAXCHILDREN]; // children of the node
struct treeNode *sibling; // siblings for the node
int linnum; // linenum relevant to this
node
NodeKind nodekind; // type of node
union { // subtype of type
DeclKind decl; // used when DeclK
StmtKind stmt; // used when StmtK
ExpKind exp; // used when ExpK
} kind;
union { // relevant data to type ->
attr
TokenType op; // type of token (same as in
bison)
int val; // used when an integer
constant
char *name; // used when IdK
} attr;
char* string; // used when a string constant
ExpType expType; // used when ExpK for type
checking
bool isStatic; // is staticly allocated?
bool isArray; // is this an array
bool isConstant; // can this expression be
precomputed?
} TreeNode;
static TreeNode* savedTree; // stores syntax tree for later return
using namespace std;
//#define YY_DECL extern "C" int yylex()
#define YYDEBUG 1
TreeNode * newStmtNode( StmtKind );
TreeNode * newDeclNode(DeclKind kind);
TreeNode * newExpNode( ExpKind );
//void FreeTree(Node *p);
static TokenData token; /* holds current token */
void yyerror(const char* s);
char* getType(int x);
char * copyString( char * s);
static int indentno = 0;
#define INDENT indentno += 3
#define UNINDENT indentno -= 3
void printTree( TreeNode * tree);
static void printSpaces(void);
static void insertCheckNode( TreeNode * t);
TreeNode* siblingNode(TreeNode* t, ExpType expType, char* string,
ExpType argType, char*);
char str[64];
//string mark[8] = {"+=", "-=", "++", "--", "==", "!=", "<=", ">="}
%}
%union {
ExpType type;
int number;
TokenData * tokenData;
struct treeNode * nodeptr;
}
%token PASSIGN MASSIGN INC DEC EQ NEQ LEQ GEQ
%token ID CHARCONST NUMCONST STRINGCONST
%token IF ELSE WHILE FOREACH IN
%token STATIC INT BOOL CHAR
%token TRUE FALSE RETURN BREAK
%token ',' ';' ':'
%token '{' '(' '[' '}' ')' ']'
%token AND OR NOT '<' '=' '>' '*' '%' '/' '-' // '+' EQ
%token '+'
%type scoped_type_specifier type_specifier //type_specifier_func
%type and_expression arg_list call compound_stmt declaration
declaration_list expression
%type expression_stmt factor fun_declaration ifmatched ifunmatched
immutable local_declarations
%type mulop mutable param_id param_id_list param_list rel_
expression
%type scoped_var_declaration simple_expression statement statement
_list sum_expression term
%type unary_expression unary_rel_expression unaryop var_decl_
initialize var_decl_list
%type var_declaration params args

%%
program : declaration_list { savedTree = $1; }
;
declaration_list : declaration_list declaration
{
TreeNode* t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $2;
$$ = $1;
} else
$$ = $2;
}
| declaration { $$ = $1; }
;
declaration : var_declaration { $$ = $1; }
| fun_declaration { $$ = $1; }
;
var_declaration : type_specifier var_decl_list ';'
{
// attach type in $1 to everybody in list $2
// $1 is of type TokenData*
// tagTypeInList($1, $2);
TreeNode* t = $2;
if (t != NULL){
t->expType = $1;
while (t->sibling != NULL) {
t = t->sibling;
t->expType = $1;
}
$$ = $2;
}
//$$ = $2;
}
;
scoped_var_declaration : scoped_type_specifier var_decl_list ';'
{
// attach type and scope in $1 to everybody in list $2
TreeNode* t = $2;
if (t != NULL){
t->expType = $1;
t->isStatic = true;
while (t->sibling != NULL) {
t = t->sibling;
t->expType = $1;
t->isStatic = true;
}
}
$$ = $2;
}
;
var_decl_list : var_decl_list ',' var_decl_initialize
{
TreeNode* t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $3;
$$ = $1;
} else
$$ = $3;
}
| var_decl_initialize { $$ = $1; }
;
var_decl_initialize : ID
{
$$ = newDeclNode(VarK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
}
| ID '[' NUMCONST ']'
{
$$ = newDeclNode(VarK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
//$$->child[0] = $3;
$$->isArray = true;
}
| ID ':' simple_expression
{
$$ = newDeclNode(VarK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->child[0] = $3;
}
| ID '[' NUMCONST ']' ':' simple_expression
{
$$ = newDeclNode(VarK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->child[0] = $6;
$$->isArray = true;
}
;
scoped_type_specifier : STATIC type_specifier { $$ = $2; }
| type_specifier { $$ = $1; }
;
type_specifier : INT { $$ = Integer; }
| BOOL { $$ = Boolean; }
| CHAR { $$ = Character; }
;
fun_declaration : type_specifier ID '(' params ')' statement
{
TreeNode* t = newDeclNode(FuncK);
t->string = $2->tokenstr;
t->linnum = $2->linnum;
t->expType = $1;
$$ = t;
$$->child[0] = $4;
$$->child[1] = $6;
//$$->child[1]->string = $2->tokenstr;
}
| ID '(' params ')' statement
{
TreeNode* t = newDeclNode(FuncK);
t->string = $1->tokenstr;
t->linnum = $1->linnum;
t->expType = Void; // 0
$$ = t;
$$->child[0] = $3;
$$->child[1] = $5;
//$$->child[1]->string = $2->tokenstr;
}
;
params : param_list { $$ = $1; }
| /* empty*/ { $$ = NULL; }
;
param_list : param_list ';' type_specifier param_id_list
{
TreeNode* t = $1;
TreeNode* v = $4;
if (v != NULL){
v->expType = $3;
while (v->sibling != NULL) {
v = v->sibling;
v->expType = $3;
}
}
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $4;
$$ = $1;
} else
$$ = $4;
}
| type_specifier param_id_list
{
TreeNode* v = $2;
if (v != NULL){
v->expType = $1;
while (v->sibling != NULL) {
v = v->sibling;
v->expType = $1;
}
}
$$ = $2;
}
;
param_id_list : param_id_list ',' param_id
{
TreeNode* t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $3;
$$ = $1;
} else
$$ = $3;
}
| param_id { $$ = $1; }
;
param_id : ID
{
$$ = newDeclNode(ParamK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
}
| ID '[' ']'
{
$$ = newDeclNode(ParamK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->isArray = true;
}
;
statement : ifmatched { $$ = $1; }
| ifunmatched { $$ = $1; }
;
ifmatched : IF '(' simple_expression ')' ifmatched ELSE ifmatched
{
$$ = newStmtNode(IfK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
$$->child[1] = $5;
$$->child[1]->expType = Boolean;
$$->child[2] = $7;
}
| WHILE '(' simple_expression ')' ifmatched
{
$$ = newStmtNode(WhileK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->child[0] = $3;
$$->child[1] = $5;
//$$->child[1]->expType = Boolean;
}
| FOREACH '(' mutable IN simple_expression ')' ifmatched
{
$$ = newStmtNode(ForEachK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
$$->child[1] = $5;
$$->child[2] = $7;
}
| expression_stmt { $$ = $1; }
;
ifunmatched : IF '(' simple_expression ')' ifmatched ELSE ifunmatched
{
$$ = newStmtNode(IfK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->child[0] = $3;
$$->child[1] = $5;
$$->child[1]->expType = Boolean;
$$->child[2] = $7;
}
| IF '(' simple_expression ')' statement
{
$$ = newStmtNode(IfK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
$$->child[1] = $5;
//$$->child[1]->expType = Boolean;
}
| WHILE '(' simple_expression ')' ifunmatched
{
$$ = newStmtNode(WhileK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
$$->child[1] = $5;
//$$->child[1]->expType = Boolean;
}
| FOREACH '(' mutable IN simple_expression ')' ifunmatched
{
$$ = newStmtNode(ForEachK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
$$->child[1] = $5;
$$->child[2] = $7;
}
;
expression_stmt: compound_stmt { $$ = $1; }
| RETURN ';'
{
$$ = newStmtNode(ReturnK);
$$->linnum = $1->linnum;
$$->expType = Void;
}
| RETURN expression ';'
{
$$ = newStmtNode(ReturnK);
$$->linnum = $1->linnum;
$$->child[0] = $2;
$$->expType = $2->expType;
}
| BREAK ';'
{
$$ = newStmtNode(BreakK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
| expression ';' { $$ = $1; }
| ';' { $$ = NULL; }
; /*
expression_stmt : expression ';' { $$ = $1; }
| ';' { $$ = NULL; }
;
*/
compound_stmt : '{' local_declarations statement_list '}'
{
$$ = newStmtNode(CompoundK);
$$->linnum = $1->linnum;
$$->child[0] = $2;
$$->child[1] = $3;
}
;
local_declarations : local_declarations scoped_var_declaration
{
TreeNode* t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $2;
$$ = $1;
} else
$$ = $2;
}
| { $$ = NULL; }
;
statement_list : statement_list statement
{
TreeNode* t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $2;
$$ = $1;
} else
$$ = $2;
}
| { $$ = NULL; }
;
expression : mutable '=' expression // this grammar may have problems
{
$$ = newExpNode(AssignK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->expType = $1->expType; // modified here
$$->child[0] = $1;
$$->child[1] = $3;
}
| mutable PASSIGN expression
{
$$ = newExpNode(AssignK);
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->attr.op = $2->tokenClass;
$$->child[0] = $1;
$$->child[1] = $3;
}
| mutable MASSIGN expression
{
$$ = newExpNode(AssignK);
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->attr.op = $2->tokenClass;
$$->child[0] = $1;
$$->child[1] = $3;
}
| mutable INC
{
$$ = newExpNode(AssignK);
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->attr.op = $2->tokenClass;
$$->child[0] = $1;
}
| mutable DEC
{
$$ = newExpNode(AssignK);
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->attr.op = $2->tokenClass;
$$->child[0] = $1;
}
| simple_expression { $$ = $1; }
;
simple_expression : simple_expression OR and_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| and_expression { $$ = $1; }
;
and_expression : and_expression AND unary_rel_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| unary_rel_expression { $$ = $1; }
;
unary_rel_expression : NOT unary_rel_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $2;
}
| rel_expression { $$ = $1; }
;
rel_expression : sum_expression '<' sum_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression '>' sum_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression LEQ sum_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression GEQ sum_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression EQ sum_expression
{
$$ = newExpNode(OpK); // '=='
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression NEQ sum_expression
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression { $$ = $1; }
;
sum_expression : sum_expression '+' term
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| sum_expression '-' term
{
$$ = newExpNode(OpK);
$$->attr.op = $2->tokenClass;
$$->string = $2->tokenstr;
$$->linnum = $2->linnum;
$$->child[0] = $1;
$$->child[1] = $3;
}
| term { $$ = $1; }
;
term : term mulop unary_expression
{
$$ = $2;
$$->child[0] = $1;
$$->child[1] = $3;
}
| unary_expression { $$ = $1; }
;
mulop : '*'
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
| '/'
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
| '%'
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
;
unary_expression : unaryop unary_expression
{
$$ = $1;
$$->child[0] = $2;
}
| factor { $$ = $1; }
;
unaryop : '-'
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
| '*'
{
$$ = newExpNode(OpK);
$$->attr.op = $1->tokenClass;
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
;
factor : immutable { $$ = $1; }
| mutable { $$ = $1; }
;
mutable : ID
{
$$ = newExpNode(IdK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
}
| ID '[' expression ']'
{
$$ = newExpNode(IdK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->isArray = true; // or false???
$$->child[0] = $3;
}
;
immutable : '(' expression ')' { $$ = $2; }
| call { $$ = $1; }
| NUMCONST
{
$$ = newExpNode(ConstantK);
//sprintf($$->string, "%d", $1->iValue);
$$->attr.val = $1->iValue;
$$->linnum = $1->linnum;
$$->expType = Integer;
$$->isConstant = true;
}
| CHARCONST
{
$$ = newExpNode(ConstantK);
$$->linnum = $1->linnum;
$$->string = $1->tokenstr;
$$->expType = Character;
$$->isConstant = true;
}
| STRINGCONST
{
$$ = newExpNode(ConstantK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->expType = Character;
$$->isArray = true;
$$->isConstant = true;
}
| TRUE
{
$$ = newExpNode(ConstantK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->expType = Boolean;
$$->isConstant = true;
}
| FALSE
{
$$ = newExpNode(ConstantK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->expType = Boolean;
$$->isConstant = true;
}
;
call : ID '(' args ')'
{
$$ = newExpNode(CallK);
$$->string = $1->tokenstr;
$$->linnum = $1->linnum;
$$->child[0] = $3;
}
;
args : arg_list { $$ = $1; }
| { $$ = NULL; }
;
arg_list : arg_list ',' expression
{
TreeNode * t = $1;
if (t != NULL){
while (t->sibling != NULL) t = t->sibling;
t->sibling = $3;
$$ = $1;
} else
$$ = $3;
}
| expression { $$ = $1; }
;
%%
void nodePrint(void * p){
// TreeNode * t = (TreeNode*)p;
}
SymTab * st = new SymTab(nodePrint);
int numError = 0;
int numWarnings = 0;
char nameCompoundStat[64];
char nameParam[32];
int depth = 1;
int depcp = 0;
main(int argc, char* argv[]){
int d_flag = 0;
int s_flag = 0;
char *d_value = NULL;
int c;
if (argc == 1)
yyin = stdin;
else if (argc == 2) {
yyin = fopen(argv[1], "r");
} else if (argc > 2) {
while ((c = getopt (argc, argv, "ps")) != -1)
switch (c) {
case 'p': // yydebug
d_flag = 1;
break;
case 's': // debug_table
s_flag = 1;
break;
default:
abort ();
break;
}
if (d_flag == 1)
yydebug = 1;
//printTree(savedTree);
if (s_flag == 1)
st->debug(0x2);
yyin = fopen(argv[2], "r");
} else {
printf("Usage:./c- TestFileName\nUsage:./c- < TestFileName\nUsage:
cat TestFileName | ./c-\n");
exit(-1);
}
if (yyin == NULL){
printf("Can't open/read '%s'\n", argv[2]);
exit(-1);
}
yyfilename = argv[1];
linnum = 1;
yyparse();
savedTree = siblingNode(savedTree, Void, (char*)("outnl"), Void, (char*)
(" "));
savedTree = siblingNode(savedTree, Character, (char*)("inputc"), Void, (
char*)(" "));
savedTree = siblingNode(savedTree, Boolean, (char*)("inputb"), Void, (
char*)(" "));
savedTree = siblingNode(savedTree, Integer, (char*)("input"), Void, (
char*)(" "));
savedTree = siblingNode(savedTree, Void, (char*)("outputc"), Character,
(char*)("xyz"));
savedTree = siblingNode(savedTree, Void, (char*)("outputb"), Boolean, (
char*)("xyz"));
savedTree = siblingNode(savedTree, Void, (char*)("output"), Integer, (
char*)("xyz"));
insertCheckNode(savedTree);
printf("Number of warnings: %d\n", numWarnings);
printf("Number of errors: %d\n", numError);
if (argc != 1)
fclose(yyin);
}
TreeNode* siblingNode(TreeNode* t, ExpType expType, char* string, ExpType
argType, char* id) {
TreeNode* newTree;
newTree = newDeclNode(FuncK);
newTree->string = string;
newTree->linnum = -1;
newTree->expType = expType;
if (argType != Void) {
newTree->child[0] = newDeclNode(ParamK);
newTree->child[0]->string = id;
newTree->child[0]->expType = argType;
}
newTree->sibling = t;
return newTree;
}
int i = 0;
int cmpi = 0;
int funci = 0;
int ifi = 0;
int whilei = 0;
int opi = 0;
int assigni = 0;
bool ReturnFlag = false;
bool LoopFlag = false;
//int pcnt = 0;
bool WhileFlag = false;
bool ForEachFlag = false;
bool cpflag = false;
int depthcnt = 0;
int callcnt = 0;
int bkcnt = 0;
static void insertCheckNode( TreeNode * t) {
switch (t->nodekind) {
case DeclK:
switch(t->kind.decl){
case VarK:
if (t->child[0] != NULL) {
insertCheckNode(t->child[0]);
if (t->child[0]->isConstant == false) {
printf("ERROR(%d): Initializer for variable '%s' is not
a constant expression.\n",
t->child[0]->linnum, t->string);
++numError;
}
// initialize array variable
if ( (t->isArray == true) && (t->child[0] != NULL) ) {
//if ( (t->child[0]->isArray) && (t->child[0]->expType !
= Character) ) { // Character
//if (t->child[0]->expType != Character) { // Character

if (t->expType != Character) { // Character
printf("ERROR(%d): Array '%s' must be of type char
to be initialized, but is of type %s.\n",
t->linnum, t->string, getType(t->expType));
++numError;
}
if ( t->child[0]->isArray == false ) {
printf("ERROR(%d): Initializer for array variable '%
s' must be a string, but is of nonarray type %s.\n",
t->child[0]->linnum, t->string, getType(t->
child[0]->expType));
++numError;
}
if ( (t->child[0]->isArray) && (t->child[0]->expType !=
Character) ) {
printf("ERROR(%d): Array '%s' must be of type char
to be initialized, but is of type %s.\n",
t->linnum, t->string, getType(t->expType));
++numError;
}
}
}
if ( (t->isArray == false) && (t->child[0] != NULL) ) {
if ( (t->expType != t->child[0]->expType) && (t->child[0]->
expType != Undefined) ){
printf("ERROR(%d): Variable '%s' is of type %s but is
being initialized with an expression of type %s.\n",
t->linnum, t->string, getType(t->expType),
getType(t->child[0]->expType));
++numError;
}
}
//st->print();
if ((st->lookup(t->string) == NULL) || //(depcp) ||
( ((st->lookupSymTabEntry(t->string))->depth != st->depth()-
1 ) //ParamK
//&& (st->lookupSymTabEntry(t->string))->depth != st->
depth()-2)
&& (st->lookupSymTabEntry(t->string))->depth != st->depth(
)) ) {
//|| ((cpflag == true) && depcp)) {

st->insert(t->string, (void*)t );
if (t->child[0] != NULL) {
/* if ( (t->isArray == false) && (t->expType != t->
child[0]->expType) ) {
printf("ERROR(%d): Variable '%s' is of type %s but
is being initialized with an expression of type %s.\n",
t->linnum, t->string, getType(t->expType), getType
(t->child[0]->expType));
++numError;
} */
if ( (t->isArray == false) && (t->child[0]->isArray ==
true) ) {
printf("ERROR(%d): Initializer for nonarray variable
'%s' of type %s cannot be initialized with an array.\n",
t->child[0]->linnum, t->string, getType(t->
expType));
++numError;
}
} // child[0] != NULL
} else { // exist in symtab
//cout << "st->depth: " << st->depth() << endl;
//sprintf(str, "Compound Statement:%d", st->depth());
//if (st->lookupSymTabEntry(t->string)->scope != str) { //
logic is not correct
//st->print();
//cout << "st->depth: " << st->depth() << endl;
//if ( (depcp && ((st->lookupSymTabEntry(t->string))->depth
== st->depth()-1)) || (!depcp) ) {
printf("ERROR(%d): Symbol '%s' is already defined at line %d
.\n",
t->linnum, t->string, ((TreeNode*)(st->lookup(t->
string)))->linnum);
++numError;
//}
}
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case FuncK:
if (st->lookup(t->string) == NULL) {
st->insert(t->string, (void*)t );
} else {
printf("ERROR(%d): Symbol '%s' is already defined at line %d
.\n", t->linnum, t->string,
((TreeNode*)(st->lookup(t->string)))->linnum);
++numError;
}
st->enter(t->string);
for (funci = 0; funci < 2; funci++) {
if (t->child[funci] != NULL) {
insertCheckNode(t->child[funci]);
}
}
if (t->child[1] != NULL){
if ( (t->expType == 0) && (t->child[1]->expType != 0) ) {
printf("ERROR(%d): Function '%s' at line %d is expecting
no return value, but return has return value.\n",
t->child[1]->linnum, t->string, t->linnum);
++numError;
} else if ( (t->expType == 0) && (ReturnFlag == true) && (t-
>child[1]->expType != 0) ) {
//} else if ( (t->expType == 0) && (ReturnFlag == true)
) {
printf("ERROR(%d): Function '%s' at line %d is expecting
no return value, but return has return value.\n",
t->child[1]->linnum, t->string, t->linnum);
++numError;
} else if (t->expType != 0) {
if ( (t->child[1]->expType == 0) && (ReturnFlag == true)
) {
printf("ERROR(%d): Function '%s' at line %d is
expecting to return type %s but return has no return value.\n",
t->child[1]->linnum, t->string, t->linnum,
getType(t->expType));
++numError;
} else if ((t->child[1]->expType != 0) && (t->expType !
= t->child[1]->expType)) {
printf("ERROR(%d): Function '%s' at line %d is
expecting to return type %s but got type %s.\n",
t->child[1]->linnum, t->string, t->linnum,
getType(t->expType), getType(t->child[1]->expType));
++numError;
} else if ( (t->child[1]->expType == 0) && (ReturnFlag =
= false) ){
printf("WARNING(%d): Expecting to return type %s but
function '%s' has no return statement.\n",
t->linnum, getType(t->expType), t->string);
++numWarnings;
}
}
ReturnFlag = false; // set back to default
} // child1
st->leave();
if ( (t->child[1] == NULL) && (t->expType != Void)
&& ((t->string != (char*)"input") && (t->string != (char*)"
inputb") && (t->string != (char*)"inputc"))) {
printf("WARNING(%d): Expecting to return type %s but
function '%s' has no return statement.\n",
t->linnum, getType(t->expType), t->string);
++numWarnings;
}
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case ParamK:
st->insert(t->string, (void*)t );
/* for (int i = 0; i < MAXCHILDREN; i++) {
if (t->child[i])
insertCheckNode(t->child[i]);
} */
if (t->sibling != NULL) {
insertCheckNode(t->sibling);
}
break;
}
break;
case StmtK:
switch (t->kind.stmt) {
case WhileK:
++depthcnt;
LoopFlag = true;
if (st->lookup(t->string) == NULL)
st->insert(t->string, (void*)t );
for (ifi = 0; ifi < MAXCHILDREN; ifi++) {
if (t->child[ifi] != NULL)
insertCheckNode(t->child[ifi]);
}
if (t->child[0] != NULL) {
if (t->child[0]->expType != 2) {
printf("ERROR(%d): Expecting Boolean test condition in %
s statement but got type %s.\n",
t->child[0]->linnum, t->string, getType(t->child[
0]->expType));
++numError;
} //else if ( (t->child[0]->expType == 2) && (t->child[0]->
isArray == true) ) {
if (t->child[0]->isArray == true) {
printf("ERROR(%d): Cannot use array as test condition in
%s statement.\n", t->child[0]->linnum, t->string);
++numError;
}
}
if (t->child[1]) {
sprintf(str, "Return:%d", st->depth());
if (st->lookup(str) == NULL) {
t->expType = Void;
ReturnFlag = false;
} else {
ReturnFlag = true;
t->expType = ((TreeNode*)(st->lookup(str)))->expType;
//t->linnum = ((TreeNode*)(st->lookup(str)))->linnum;
}
}
--depthcnt;
LoopFlag = false;
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case IfK:
if (st->lookup(t->string) == NULL)
st->insert(t->string, (void*)t );
for (ifi = 0; ifi < MAXCHILDREN; ifi++) {
if (t->child[ifi] != NULL)
insertCheckNode(t->child[ifi]);
}
if (t->child[0]->expType != 2) {
printf("ERROR(%d): Expecting Boolean test condition in %s
statement but got type %s.\n",
t->child[0]->linnum, t->string, getType(t->child[0]->
expType));
++numError;
} //else if ( (t->child[0]->expType == 2) && (t->child[0]->
isArray == true) ) {
if (t->child[0]->isArray == true) {
printf("ERROR(%d): Cannot use array as test condition in %s
statement.\n", t->child[0]->linnum, t->string);
++numError;
}
if (t->child[1]) {
sprintf(str, "Return:%d", st->depth());
if (st->lookup(str) == NULL) {
t->expType = Void;
ReturnFlag = false;
} else {
ReturnFlag = true;
t->expType = ((TreeNode*)(st->lookup(str)))->expType;
//t->linnum = ((TreeNode*)(st->lookup(str)))->linnum;
}
}
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;

case ForEachK:
++depthcnt;
LoopFlag = true;
for (i = 0; i < MAXCHILDREN; i++) {
if (t->child[i] != NULL)
insertCheckNode(t->child[i]);
}
if (t->child[0] != NULL) {
//if ( ((TreeNode*)(t->child[0]->string))->isArray == true )
{ //need work here
if ( t->child[0]->isArray == true ) {
printf("ERROR(%d): In foreach statement the variable to
the left of 'in' must not be an array.\n", t->linnum);
++numError;
}
if (t->child[1] != NULL) {
if (t->child[1]->isArray == true) {
if (t->child[0]->expType != t->child[1]->expType) {
printf("ERROR(%d): Foreach requires operands of
'in' be the same type but lhs is type %s and rhs array is type %s.\n",
t->linnum, getType(t->child[0]->expType),
getType(t->child[1]->expType));
++numError;
}
} else { //t->child[1]->isArray == false
if ( t->child[0]->expType != Integer ) {
printf("ERROR(%d): If not an array, foreach
requires lhs of 'in' be of type int but it is type %s.\n",
t->linnum, getType(t->child[0]->expType))
;
++numError;
t->child[0]->expType = Integer;
}
if (t->child[1]->expType != Integer) {
printf("ERROR(%d): If not an array, foreach
requires rhs of 'in' be of type int but it is type %s.\n",
t->linnum, getType(t->child[1]->expType))
;
++numError;
t->child[1]->expType = Integer;
}
}
} //t->child[1] != NULL
if (t->child[2]) {
sprintf(str, "Return:%d", st->depth());
if (st->lookup(str) == NULL) {
t->expType = Void;
ReturnFlag = false;
} else {
ReturnFlag = true;
t->expType = ((TreeNode*)(st->lookup(str)))->expType;
//t->linnum = ((TreeNode*)(st->lookup(str)))->linnum;
}
}
}
--depthcnt;
LoopFlag = false;
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case BreakK:
if ( (LoopFlag == false) && (!depthcnt) ) { // potential
problems with nested loops
//if ( LoopFlag == false ) {
printf("ERROR(%d): Cannot have a break statement outside of
loop.\n", t->linnum);
++numError;
}
if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case ReturnK:
if (t->child[0] == NULL)
t->expType = Void;

if (t->child[0] != NULL) {
insertCheckNode(t->child[0]);
if (t->child[0]->expType == Void)
t->expType = Undefined;
else
t->expType = t->child[0]->expType;
if ( (t->child[0]->kind.exp == IdK) && (t->child[0]->isArray
) ) {
printf("ERROR(%d): Cannot return an array.\n", t->linnum
);
++numError;
t->child[0]->isArray = false;
}
}
sprintf(str, "Return:%d", st->depth());
st->insert(str, (void*)t );
if (t->sibling != NULL) // just added
insertCheckNode(t->sibling);
break;
case CompoundK:
//depth = st->depth() + 1;
sprintf(nameCompoundStat, "Compound Statement:%d", st->depth()+1
);
st->enter(nameCompoundStat);
cpflag = true;
depcp++;
for (cmpi = 0; cmpi < MAXCHILDREN; cmpi++) {
if (t->child[cmpi] != NULL)
insertCheckNode(t->child[cmpi]);
}
if (t->sibling != NULL)
insertCheckNode(t->sibling);
sprintf(str, "Return:%d", st->depth());
if (st->lookup(str) == NULL) {
t->expType = Void;
ReturnFlag = false;
/* } else if (t->child[1]) {
t->expType = t->child[1]->expType;
if (t->expType)
ReturnFlag = true;
cout << "t->expType: A " << t->expType << endl; */
} else {
ReturnFlag = true;
t->expType = ((TreeNode*)(st->lookup(str)))->expType;
t->linnum = ((TreeNode*)(st->lookup(str)))->linnum;
}
st->leave();
cpflag = false;
if (ReturnFlag && t->expType) {
sprintf(str, "Return:%d", st->depth());
st->insert(str, (void*)t );
}
depcp--;
//depth--;
if (t->sibling != NULL) // just added
insertCheckNode(t->sibling);
break;
}
break;
case ExpK:
switch (t->kind.exp){
case ConstantK:
break;
case AssignK:
if (st->lookup(t->string) == NULL)
st->insert(t->string, (void*)t );
for (assigni = 0; assigni < MAXCHILDREN; assigni++) {
if (t->child[assigni] != NULL)
insertCheckNode(t->child[assigni]);
}
if ( (t->child[0] != NULL) && (t->child[1] != NULL)
&& (t->child[0]->expType != t->child[1]->expType) ) {
if ( (t->attr.op == PASSIGN) || (t->attr.op == MASSIGN) ) {
if (t->child[0]->expType != Integer) {
printf("ERROR(%d): '%s' requires operands of type
int but lhs is of type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
} else {
printf("ERROR(%d): '%s' requires operands of type
int but rhs is of type %s.\n",
t->linnum, t->string, getType(t->child[1]->
expType));
++numError;
}
} else if (t->attr.op == '=') {
/*if ( t->child[0]->isArray != t->child[1]->isArray ){
printf("ERROR(%d): '%s' requires that if one operand
is an array so must the other operand.\n",
t->linnum, t->string);
++numError;
} */
if ( (t->child[0]->expType != Undefined) && (t->child[1]
->expType != Undefined) ) {
printf("ERROR(%d): '%s' requires operands of the
same type but lhs is type %s and rhs is type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType), getType(t->child[1]->expType));
++numError;
t->expType = t->child[0]->expType;
}
if (t->child[1]->expType == Undefined)
t->expType = t->child[0]->expType;
//else if ( (t->child[0]->expType == Undefined) && (t->
child[1]->expType != Undefined) )
else if (t->child[0]->expType == Undefined)
t->expType = Undefined;
} else {
printf("ERROR(%d): '%s' requires operands of the same
type but lhs is type %s and rhs is type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType), getType(t->child[1]->expType));
++numError;
}
}
if ( ((t->attr.op == INC) || (t->attr.op == DEC))
&& (t->child[0] != NULL) && (t->child[1] == NULL) ) {
if (t->child[0]->expType != Integer) {
printf("ERROR(%d): Unary '%s' requires an operand of
type int but was given type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
}
if (t->child[0]->isArray == true) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
}
t->expType = Integer;
}
if ( (t->attr.op == '=') && t->child[0] && t->child[1] ) {
if ( (t->child[0]->isArray != t->child[1]->isArray)
&& ((t->child[0]->expType != Undefined) && (t->child[1]
->expType != Undefined)) ) {
//&& ((t->child[0]->expType != Character) && (t->child[1
]->expType != Character)) ) {
//cout << "t->child[0]->isArray: " << t->child[0]->
isArray << endl;
//cout << "t->child[1]->isArray: " << t->child[1]->
isArray << endl;
printf("ERROR(%d): '%s' requires that if one operand is
an array so must the other operand.\n",
t->linnum, t->string);
++numError;
}
if (t->child[0]->expType == t->child[1]->expType)
t->expType = t->child[0]->expType;
}
if ( ((t->attr.op == PASSIGN) || (t->attr.op == MASSIGN)) && (t-
>child[0]) && (t->child[1]) ) {
if (t->child[0]->expType == t->child[1]->expType)
t->expType = t->child[0]->expType;
}
if ( (t->sibling != NULL) && (callcnt == 0))
//if (t->sibling != NULL)
insertCheckNode(t->sibling);
break;
case CallK:
callcnt++;
if (st->lookup(t->string) == NULL) {
printf("ERROR(%d): Symbol '%s' is not defined.\n", t->linnum
, t->string);
++numError;
if (t->child[0]) {
TreeNode* tmpt = t->child[0];
insertCheckNode(tmpt);
while (tmpt->sibling != NULL) {
tmpt = tmpt->sibling;
insertCheckNode(tmpt);
}
}
t->expType = Undefined;
/* } else if (((TreeNode*)(st->lookup(t->string)))->
kind.decl == VarK) {
printf("ERROR(%d): '%s' is a simple variable and
cannot be called.\n", t->linnum, t->string);
++numError;
if (t->child[0]) {
TreeNode* tmpt = t->child[0];
insertCheckNode(tmpt);
while (tmpt->sibling != NULL) {
tmpt = tmpt->sibling;
insertCheckNode(tmpt);
}
}
t->expType = Undefined; */
} else {
if ( (((TreeNode*)(st->lookup(t->string)))->kind.decl ==
VarK)
|| (((TreeNode*)(st->lookup(t->string)))->kind.decl ==
ParamK) ) {
printf("ERROR(%d): '%s' is a simple variable and cannot
be called.\n", t->linnum, t->string);
++numError;
t->expType = Undefined;
if ( t->child[0] ) {
TreeNode* tmpt = t->child[0];
insertCheckNode(tmpt);
while (tmpt->sibling != NULL) {
tmpt = tmpt->sibling;
insertCheckNode(tmpt);
}
}
t->expType = Undefined;
} else { //FuncK
TreeNode* tmp = t;
TreeNode* p = (TreeNode*)(st->lookup(t->string));
if ( (tmp->child[0] == NULL) && (p->child[0] != NULL) ) {
printf("ERROR(%d): Too few parameters passed for
function '%s' defined on line %d.\n",
tmp->linnum, tmp->string, p->linnum);
++numError;
}
if (tmp->child[0]) {
insertCheckNode(tmp->child[0]); // process whole
list, order: before or after?
if (p->child[0] == NULL) {
printf("ERROR(%d): Too many parameters passed
for function '%s' defined on line %d.\n",
tmp->child[0]->linnum, tmp->string, p->
linnum);
++numError;
} else {
int pcnt = 0;
TreeNode* tmp_p = p->child[0];
TreeNode* tmp_t = tmp->child[0];
if ((tmp->child[0]->expType != p->child[0]->
expType) && (tmp->child[0]->expType != Undefined) ) {
printf("ERROR(%d): Expecting type %s in
parameter %i of call to '%s' defined on line %d but got type %s.\n",
t->linnum, getType(p->child[0]->
expType), pcnt+1, t->string, p->linnum, getType(tmp->child[0]->expType));
++numError;
}
if ( (tmp->child[0]->isArray == true) && (p->
child[0]->isArray == false) ) {
printf("ERROR(%d): Not expecting array in
parameter %i of call to '%s' defined on line %d.\n",
t->linnum, pcnt+1, t->string, p->
linnum);
++numError;
}
if ( (tmp->child[0]->isArray == false) && (p->
child[0]->isArray == true) ) {
printf("ERROR(%d): Expecting array in
parameter %i of call to '%s' defined on line %d.\n",
t->linnum, pcnt+1, t->string, p->
linnum);
++numError;
}
while (tmp_t->sibling && tmp_p->sibling) {
pcnt++;
tmp_t = tmp_t->sibling;
tmp_p = tmp_p->sibling;
insertCheckNode(tmp_t);
if ((tmp_t->expType != tmp_p->expType) && (
tmp_t->expType != Undefined) ) {
printf("ERROR(%d): Expecting type %s in
parameter %i of call to '%s' defined on line %d but got type %s.\n",
t->linnum, getType(tmp_p->expType
), pcnt+1, t->string, p->linnum, getType(tmp_t->expType));
++numError;
}
if ( (tmp_t->isArray == true) && (tmp_p->
isArray == false) ) {
printf("ERROR(%d): Not expecting array
in parameter %i of call to '%s' defined on line %d.\n",
t->linnum, pcnt+1, t->string, p->
linnum);
++numError;
}
if ( (tmp_t->isArray == false) && (tmp_p->
isArray == true) ) {
printf("ERROR(%d): Expecting array in
parameter %i of call to '%s' defined on line %d.\n",
t->linnum, pcnt+1, t->string, p->
linnum);
++numError;
}
tmp_t->expType = tmp_p->expType;
tmp_t->isArray = tmp_p->isArray;
} //while
if ( (tmp_t->sibling == NULL) && (tmp_p->
sibling != NULL) ) {
printf("ERROR(%d): Too few parameters passed
for function '%s' defined on line %d.\n",
t->linnum, t->string, p->linnum);
++numError;
}
if ( (tmp_t->sibling != NULL) && (tmp_p->sibling
== NULL) ) {
printf("ERROR(%d): Too many parameters
passed for function '%s' defined on line %d.\n",
t->linnum, t->string, p->linnum);
++numError;
while (tmp_t->sibling!=NULL) {
tmp_t = tmp_t->sibling;
insertCheckNode(tmp_t);
}
}
} // end p->child[0]
} // if
t->expType = p->expType;
} // end t->child[0]
}
callcnt--;
if ( (t->sibling != NULL) && (!callcnt) )
insertCheckNode(t->sibling);
break;
case IdK:
if (st->lookup(t->string) == NULL) {
printf("ERROR(%d): Symbol '%s' is not defined.\n", t->linnum
, t->string);
++numError;
t->expType = Undefined; //4 Undefined
t->isArray = false;
t->isConstant = false;
t->isStatic = false;
if (t->child[0] != NULL) {
insertCheckNode(t->child[0]);
t->isArray = false; } //double check
} else { // symtab != NULL
if ( ((TreeNode*)(st->lookup(t->string)))->kind.decl ==
FuncK ) {
printf("ERROR(%d): Cannot use function '%s' as a simple
variable.\n", t->linnum, t->string);
++numError;
t->expType = ((TreeNode*)(st->lookup(t->string)))->
expType;
//t->expType = Undefined;
if (t->child[0] != NULL) {
insertCheckNode(t->child[0]);
t->isArray = false; } //double check
} else { //if ( ((TreeNode*)(st->lookup(t->string)))->kind.
decl == VarK ) {
// Dealing Array or Not
if (((TreeNode*)(st->lookup(t->string)))->isArray ==
false) {
t->isArray = false;
t->expType = ((TreeNode*)(st->lookup(t->string)))->
expType;
if (t->child[0] != NULL) {
printf("ERROR(%d): Cannot index nonarray '%s'.\n
", t->linnum, t->string);
++numError;
}
} else { //isArray == true
if (t->child[0] != NULL) {
insertCheckNode(t->child[0]);
if ( (t->child[0]->expType != Integer) && (t->
child[0]->expType != Undefined) ) { //t->child[0]->expType: int
printf("ERROR(%d): Array '%s' should be
indexed by type int but got type %s.\n",
t->linnum, t->string, getType(t->
child[0]->expType));
++numError;
t->child[0]->expType == Integer;
t->isArray = false;
}
if (t->child[0]->isArray == true) {
printf("ERROR(%d): Array index is the
unindexed array '%s'.\n",
t->child[0]->linnum, t->child[0]->
string);
++numError;
}
t->isArray = false;
} else // child[0] != NULL
t->isArray = true;
}
t->expType = ((TreeNode*)(st->lookup(t->string)))->
expType;
} // VarK
t->isConstant = ((TreeNode*)(st->lookup(t->string)))->
isConstant; // double check when array beco nonarr
}
//if (t->sibling != NULL)
if ( (t->sibling != NULL) && (callcnt ==0))
insertCheckNode(t->sibling);
break;
case OpK: // + - * / % < > == != <= >= or not and
int opi;
for (opi = 0; opi < MAXCHILDREN; opi++) {
if (t->child[opi] != NULL)
insertCheckNode(t->child[opi]);
}
if ( ((t->attr.op == '+') || (t->attr.op == '-') || (t->attr.op
== '*')
|| (t->attr.op == '/') || (t->attr.op == '%'))
&& ((t->child[0] != NULL) && (t->child[1] != NULL)) ) {
if ( (t->child[0]->expType != Integer) && (t->child[0]->
expType != Undefined) ) {
printf("ERROR(%d): '%s' requires operands of type %s but
lhs is of type %s.\n", t->linnum, t->string,
getType(1), getType(t->child[0]->expType));
++numError;
t->child[0]->expType = Integer;
}
if ( (t->child[1]->expType != Integer) && (t->child[1]->
expType != Undefined) ) {
printf("ERROR(%d): '%s' requires operands of type %s but
rhs is of type %s.\n", t->linnum, t->string,
getType(1), getType(t->child[1]->expType));
++numError;
t->child[1]->expType = Integer;
}
t->expType = Integer;
if ( (t->child[0]->isConstant == true) && (t->child[1]->
isConstant == true) )
t->isConstant = true;
}
if ((t->attr.op == '-') && (t->child[0] != NULL) && (t->child[1]
== NULL)) {
if (t->child[0]->expType != Integer) {
printf("ERROR(%d): Unary '%s' requires an operand of
type int but was given type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
t->child[0]->expType = Integer;
}
if ( t->child[0]->isConstant == true ) {
t->isConstant = true;
}
t->expType = Integer;
}
if ( (t->attr.op == '+') || (t->attr.op == '-') || (t->attr.op =
= '*') ) {
if ( (t->child[0] != NULL) && (t->child[1] != NULL) && //
both sides
((t->child[0]->isArray == true) || (t->child[1]->
isArray == true)) ) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
}
}
if ( (t->attr.op == '*') && (t->child[0] != NULL) && (t->child[1
] == NULL) ) {
if (t->child[0]->isArray == false) {
printf("ERROR(%d): The operation '%s' only works with
arrays.\n", t->linnum, t->string);
++numError;
}
//if ( (t->child[0]->isArray == true) && (t->child[0]->
expType == Character) ) {
if ( (t->child[0]->isArray == true) && (t->child[0]->
isConstant == true) ) {
t->isConstant = true;
}
t->expType = Integer;
}
if ( ((t->attr.op == EQ) || (t->attr.op == NEQ))
&& (t->child[0] != NULL) && (t->child[1] != NULL) ) {
if (t->child[0]->expType != t->child[1]->expType) {
printf("ERROR(%d): '%s' requires operands of the same
type but lhs is type %s and rhs is type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType), getType(t->child[1]->expType));
++numError;
}
t->expType = Boolean;
if (t->child[0]->isArray != t->child[1]->isArray) {
printf("ERROR(%d): '%s' requires that if one operand is
an array so must the other operand.\n",
t->linnum, t->string);
++numError;
}
}
if ( (t->attr.op == AND) && t->child[0] && t->child[1] ) {
if ( (t->child[0]->expType != Boolean) && (t->child[0]->
expType != Undefined) ) { //Undefined
printf("ERROR(%d): '%s' requires operands of type bool
but lhs is of type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
t->child[0]->expType = Boolean;
}
if ( (t->child[1]->expType != Boolean) && (t->child[1]->
expType != Undefined) ) {
printf("ERROR(%d): '%s' requires operands of type bool
but rhs is of type %s.\n",
t->linnum, t->string, getType(t->child[1]->
expType));
++numError;
t->child[1]->expType = Boolean;
}
//t->expType = Boolean;
if ((t->child[0]->isArray == true) || (t->child[1]->isArray
== true)) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
}
t->expType = Boolean;
}
if ( (t->attr.op == '>') || (t->attr.op == '<') || (t->attr.op =
= GEQ) || (t->attr.op == LEQ) ) {
if ( (t->child[0] != NULL) && (t->child[0]->expType !=
Integer) && (t->child[0]->expType != Character) ) {
printf("ERROR(%d): '%s' requires operands of type char
or type int but lhs is of type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
t->expType = Boolean;
}
if ( (t->child[1] != NULL) && (t->child[1]->expType !=
Integer) && (t->child[1]->expType != Character) ) {
printf("ERROR(%d): '%s' requires operands of type char
or type int but rhs is of type %s.\n",
t->linnum, t->string, getType(t->child[1]->
expType));
++numError;
t->expType = Boolean;
}
if ( ((t->child[0] != NULL) && (t->child[1] != NULL))
&& ((t->child[0]->isArray == true) || (t->child[1]->
isArray == true)) ) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
}
}
if ( ((t->child[0] != NULL) && (t->child[1] != NULL)) &&
((t->child[0]->expType == 1) && (t->child[1]->expType == 1)
) ) {
if ( (t->attr.op == EQ) || (t->attr.op == NEQ) || (t->attr.
op == LEQ) || (t->attr.op == GEQ)
|| (t->attr.op == '<') || (t->attr.op == '>') )
t->expType = Boolean;
else
t->expType = Integer;
}
if (t->attr.op == OR) {
if ( (t->child[0] != NULL) && (t->child[0]->expType != 2) )
{ //Undefined
printf("ERROR(%d): '%s' requires operands of type bool
but lhs is of type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
t->child[0]->expType = Boolean;
}
if ( (t->child[1] != NULL) && (t->child[1]->expType != 2) ) {
printf("ERROR(%d): '%s' requires operands of type bool
but rhs is of type %s.\n",
t->linnum, t->string, getType(t->child[1]->
expType));
++numError;
t->child[1]->expType = Boolean;
}
t->expType = Boolean;
}
if (t->attr.op == NOT) {
if ( (t->child[0] != NULL) && (t->child[1] == NULL) && (t->
child[0]->expType != 2) ) {
printf("ERROR(%d): Unary '%s' requires an operand of
type bool but was given type %s.\n",
t->linnum, t->string, getType(t->child[0]->
expType));
++numError;
t->child[0]->expType = Boolean;
}
if ( (t->child[0]) && (!t->child[1]) && (t->child[0]->
isConstant == true) )
t->isConstant = true;
if ( (t->child[0] != NULL) && (t->child[0]->isArray == true)
) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
t->child[0]->expType = Boolean;
}
t->expType = Boolean;
}
if ( (t->attr.op == '+') || (t->attr.op == '-') ) {
if ( (((t->child[0] != NULL) && (t->child[0]->isArray == 1))
&& (t->child[1] == NULL)) ||
(((t->child[1] != NULL) && (t->child[1]->isArray == 1))
&& (t->child[0] == NULL)) ) {
printf("ERROR(%d): The operation '%s' does not work with
arrays.\n", t->linnum, t->string);
++numError;
}
}

if ( ((t->child[0] != NULL) && (t->child[1] != NULL)) &&
((t->child[0]->isConstant == true) && (t->child[1]->
isConstant == true)) )
t->isConstant = true;
//else
//t->isConstant = false;

if ( ((t->child[0] != NULL) && (t->child[1] != NULL)) &&
((t->child[0]->expType != Integer) || (t->child[1]->expType
!= Integer)) ) {
if ( (t->attr.op == '<') || (t->attr.op == '>') || (t->attr.
op == AND) || (t->attr.op == OR)
|| (t->attr.op == EQ) || (t->attr.op == NEQ) || (t->
attr.op == LEQ) || (t->attr.op == GEQ) )
t->expType = Boolean;
else
t->expType = Integer;
}
//if (t->sibling != NULL)
if ( (t->sibling != NULL) && (callcnt == 0))
insertCheckNode(t->sibling);
break; // OpK
}
break; // exp
}
}
static void printSpaces(void){
for ( int i = 0; i < indentno; i++){
printf("| ");
}
}
void printTree( TreeNode * tree){
int i;
int counter = 1;
while (tree != NULL){
INDENT;
//printSpaces();
if (tree->nodekind == DeclK){
switch(tree->kind.decl){
case VarK:
printf("Var %s ", tree->string);
switch (tree->isArray){
case true:
printf(" is array of type %s [line: %d]\n", getType(tree
->expType), tree->linnum);
break;
default:
printf(" of type %s [line: %d]\n", getType(tree->expType
), tree->linnum);
break;
}
break;
case FuncK:
printf("Func %s returns type %s [line: %d]\n", tree->string,
getType(tree->expType), tree->linnum);
break;
case ParamK:
printf("Param %s ", tree->string);
switch (tree->isArray){
case true:
printf(" is array of type %s [line: %d]\n", getType(tree
->expType), tree->linnum);
break;
default:
printf(" of type %s [line: %d]\n", getType(tree->expType
), tree->linnum);
break;
}
break;
default:
printf("Unknown DeclNode kind. ");
break;
}
} else if (tree->nodekind == StmtK){
switch (tree->kind.stmt){
case IfK:
printf("If [line: %d]\n", tree->linnum);
break;
case WhileK:
printf("While [line: %d]\n", tree->linnum);
break;
case ForEachK:
printf("Foreach [line: %d]\n", tree->linnum);
break;
case CompoundK:
printf("Compound [line: %d]\n", tree->linnum);
break;
case ReturnK:
printf("Return [line: %d]\n", tree->linnum);
break;
case BreakK:
printf("Break [line: %d]\n", tree->linnum);
break;
default:
printf("Unknown DeclNode kind. ");
break;
}
} else if (tree->nodekind == ExpK){
switch (tree->kind.exp){
case OpK:
printf("Op: %s [line: %d]\n", tree->string, tree->linnum);
break;
case ConstantK:
printf("Const: ");
switch ( tree->expType ){
case Integer:
printf("%d [line: %d]\n", tree->attr.val, tree->linnum);
break;
case Boolean:
printf("%s [line: %d]\n", tree->string, tree->linnum);
break;
case Character:
printf("%s [line: %d]\n", tree->string, tree->linnum);
break;
}
break;
case IdK:
printf("Id: %s [line: %d]\n", tree->string, tree->linnum);
break;
case AssignK:
printf("Assign: %s [line: %d]\n", tree->string, tree->linnum
);
break;
case CallK:
printf("Call: %s [line: %d]\n", tree->string, tree->linnum);
break;
default:
printf("Unknown ExpNode kind: %s [line: %d]\n", tree->string
, tree->linnum);
break;
}
} else
printf("Unknown DeclNode kind. ");
int childcnt = 0;
for (int i = 0; i < MAXCHILDREN; i++){
if (tree->child[i] == NULL)
continue;
else {
printf("Child: %d\n", childcnt+1);
childcnt++;
printTree(tree->child[i]);
}
}
if ( (tree->nodekind == DeclK) && (tree->kind.decl == FuncK) )
counter = 0;
tree = tree->sibling;
if (tree != NULL){
if ( counter >= 1 ){
printf("Sibling: %d\n", counter);
}
counter++;
}
}
UNINDENT;
}
char* getType(int x){
char* typeString;
switch (x){
case 0:
typeString = (char*)"void";
break;
case 1:
typeString = (char*)"int";
break;
case 2:
typeString = (char*)"bool";
break;
case 3:
typeString = (char*)"char";
break;
}
return typeString;
}
TreeNode * newStmtNode( StmtKind kind){
TreeNode * t = (TreeNode*) malloc(sizeof(TreeNode));
int i;
if (t==NULL)
printf("Out of memory error at line %d\n", linnum);
else {
for (i = 0; i < MAXCHILDREN; i++)
t->child[i] = NULL;
t->sibling = NULL;
t->nodekind = StmtK;
t->kind.stmt = kind;
t->linnum = linnum;
t->isArray = false;
t->isConstant = false;
t->isStatic = false;
}
return t;
}
TreeNode * newDeclNode(DeclKind kind){
TreeNode * t = (TreeNode*) malloc(sizeof(TreeNode));
int i;
if (t==NULL)
printf("Out of memory error at line %d\n", linnum);
else {
for (i = 0; i < MAXCHILDREN; i++)
t->child[i] = NULL;
t->sibling = NULL;
t->nodekind = DeclK;
t->kind.decl = kind;
t->linnum = linnum;
t->isArray = false;
t->isConstant = false;
t->isStatic = false;
}
return t;
}
TreeNode * newExpNode( ExpKind kind){
TreeNode * t = (TreeNode*) malloc(sizeof(TreeNode));
int i;
if (t==NULL)
printf("Out of memory error at line %d\n", linnum);
else {
for (i = 0; i < MAXCHILDREN; i++)
t->child[i] = NULL;
t->sibling = NULL;
t->nodekind = ExpK;
t->kind.exp = kind;
t->linnum = linnum;
t->expType = Void; // added type here compared with
newStmtNode
t->isArray = false;
t->isConstant = false;
t->isStatic = false;
}
return t;
}
// allocates and makes a new copy of an existing string
char * copyString( char * s){
int n;
if (s==NULL) return NULL;
n = strlen(s) + 1;
char * t = (char*)malloc(n);
if (t==NULL)
printf("Out of memory error at line %d\n", linnum);
else strcpy(t, s);
return t;
}
void yyerror(const char* s){
fprintf(stderr, "%s in line %d in token %s\n", s, linnum, yytext);
//printf("ERROR linnum(%d):%s. I got: %s\n", linnum, s, yytext);
exit(-1);
}
\end{lstlisting}
d**********o
发帖数: 1321
316
无言的结局(1)
信任来得太容易,被背叛时就难免会痛苦!我是那个被背叛的人,所以我先疯了~~*_^
从得知自己那得了C的成绩以后,那是考完后接下来的一周。到那时,我已经决定从此
不再去理会这个老师了;后来28号收到他的邮件,他是嫌我不知道考试成绩,要来提醒
我注意么?可惜我还是不想再去理他,邮件也没有回。
前面还是写漏了,那天在老师的office里大哭,某种情境下,大概是说是他在压着我的
成绩、不允许我正常毕业时吧,老师说,他就不明白为什么我就不能同其它任何人一样
把这门课坚持下来!愤特,我有想要从这门课withdraw么?这可是我从来就没有想过的
问题啊,干嘛按到我头上?这可是在开学前选课时,这代课老师说这门课很难,要我选
research fundamental那会儿,我已经不再去理会这个老师的建议了、自已心甘情愿想
要来选这门课、学习这些原理的。所以,我也就在哭的那天,当时就反问过老师,谁说
我不选这门课了,我当然会跟同学们一起把这门课上完上好的呀~~!
回想起来,从11月上旬期中考试以后,期末考试前的三四个周时间,我过得实在是太安
逸了。我太单纯地去相信,在面对人类共同的苦难面前,人的感情是相通的;我太单纯
地去相信,系里会遵从之前与cs210代课老师的君子协议会放过我的,允许我两年顺利
地毕业;我太单纯地去相信,代课老师在知道了我的病情苦难后,不会再继续压我的成
绩、不会再继续为难我。但是,我错了~~
d**********o
发帖数: 1321
317
无言的结局(2)
我的第一次作业基本就是满分(因为第一次作业交作业的当天下午还去找过他,他好像
也确实给了我满分,但第一次作业比重分最少,大概只有150分),第二次作业只是一
个变量、行前空格的问题;第三次作业hw3 traverse的架构都搭好了,只是error
message因为时间有限生成得还比较少;hw3b也完成了85% ~ 90%的工作量,他自己还要
给我的邮件里说过“Good job”的话,office里也表扬过我说我是班上最聪明的学生;
第四次作业因为简单、是他自己要放水让我们过的,所以虽然时间短,完成得也还不错
(应该至少写完match了90%~95%的message);最后一次作业对我来说是最惨的,因为
虽然我的架构搭起来了,但因为时间有限,在deadline之前,我并没能完成他所给的所
有的测试,只概只过了50%~60%的测试文件。可问题也在于,这个老师最后一次给的测
试文件太多了,呆会儿再跑去数了一下,记忆里应该至少有400多个测试文件(记错了,
*.c-文件有128+148=276个,output还有这么多个,生成代码的.tm文件还有这么多)
,我又不
是机器人,我怎么可能测得完?
我是班上仅有的两个国际学生,ph.d的板砖同学是有奖学金的,他不需要每个周花去十
六七个小时去打工,他呆在CSAC帮低年级的学生回答问题或者自己学习就可了;我其它
所有的美国同学们也都不需要出去打工,但是我需要!
d**********o
发帖数: 1321
318
无言的结局(3)
其实仔细回想起来,从第二次作业开始,他已经开始变态地压分(课堂上他的夸大了的
建议,那时我的语法已经完全做好了,他还在施加影响力,直接导致我的第二次课堂提
问征求他的意见)。尽管课堂上我已经开始反搏,但在他的高压手段下(方式多样,比
如第三次问framework,他的“偏爱”完全在意料之外,却影响力深远),我的力量毕
竟微弱;期中考试后一天我的问题他变相地施加影响力;hw3b后邮件里、office里他自
己主动称赞表扬我,来消除我的戒备心理;我失去了hw2、hw3的知情权,失去了好好准
备期中考试的机会;同样,因为期中考试安排得那么晚,我也失去了及时把这门课drop
掉without成绩单上留下“W”印迹的机会(虽然我自己从来没有真正想过要drop掉这门
课),他逼迫着我没有路可退;期中考试的后一天在他办公室里,他要我把这门课坚持
下去选完,在人类苦难、巨大灾难的心理安慰下,我本能地以为只要我坚持下去,我就
一定可以拿到B!奈何,这个老师从一开始就在“镇压”,他的目的是给我C呀!
他给我C的目的是什么呢?答案前面已经说过了,与春天学期的奖学金紧密相关。虽然
早在一个月之前我就收到了系里给的奖学金的邮件,但是我不敢大意,毕竟第一个学期
cs336的那个C还在那里摆着呢!虽然之前这个学校其它科目的成绩(比如统计专业的)
可以帮我平衡GPA在3.0以上,但谁知道系里会怎么去评估成绩呢?万一后来到头来他们
找个理由把我的奖学金废掉了呢?为此,我不敢大意,心里清楚地知道学校食堂里,
manager说,如果下学期不需要再到这里工作,需要给出两个周的notice period,但我
只是间接地对一个manager稍微提了一下下学期的可能性一一我春天可能会有奖学金,
但我心里发虚,我不敢确定相信,硬生生地从来不敢对manager明确地说明。
d**********o
发帖数: 1321
319
无言的结局(4)
前面已经感觉到了、提到过了,这门课的课堂、学校里的活动与食堂里的活动是紧密相
连的,目的应该就是春天的奖学金了。在他们眼里,如果我与表哥已经分手的影响力能
打得开、扩展开来,那系里对自己就没什么好客气的,春天就以cs445 得C为由,废掉
我的奖学金,我只能注册两个学分将就着毕业;那么,接下来我就只能是,要么滚回国
,要么读博士。大概小学校里科研力量不够强大吧,读博士他们倒是非常喜欢和欢迎的
!他们似乎最大限度地欢迎国际学生晚毕业、读博士以壮大他们的科研力量吧。但是如
果我与表哥没有分手,他们想要得到的影响力没能扩散,他们也就还是有所顾虑的,让
我这样一个中途转专业的学生第四个学期只注册两个学分,那么做会他们也会觉得太难
看,所以到时候,即使得了C,他们也还只能看情况办事~~!!
所以,现在的自己就能想得明白,除了自己自己本身最后一次作业没写完外,还有下面
两方面的原因导致自己不能不得C:
第一,与代课老师绯闻的传开,就像代课老师已经人为设局来抹黑我的人格,虽然这件
事情的发生有它的必然性,但代课老师在这件事情上是一定不会错、不可以错的,他根
本就不会、不可能看得上学习成绩不好、得C的学生!我的出现、绯闻出现在我头上是
随机的(谁知道这样的事情在之前他的女学生里有没有发生过、发生过多少次呢),但
是,我必须得为自己的随机性出现、为自己那次“意外的”绯闻买单!
第二,闺密没有选这门课;板块选了这门课,但他是规规矩矩听话用了一年时间学基础
课(cs121、cs150、cs210、cs240、cs270)的人,别人代课老师可以大胆“假定”他
基础很扎实,加上他擅长讨好代课老师(也加点儿细节吧。我从来没有与他同学过,仅
有一次碰巧听他们提起汇报、就同他们一起去听他们game theory的项目汇报,他们小
组有7个人。报告时任何班上同学、组里的同学在台上都是面向教室里所有的同学,仅
且只有轮到板块作报告时,自始自终,他都只望向代课老师一个人,仿佛仅有代课老师
才是他care的人!),他当然可以选;板砖是根本苗红的计算机专业人士,一定可以选
,并且代课老师还会提拔他(有一个test file是以他的名字命名、应该是由他贡献给
老师的);板砖没有选过EC(Evolutionary Computation)课,他给我解释的理由是他
没兴趣;系里另一个中国女博士学生没有选过AI课,她说过她不需要选那门课。他们真
的是没必要、没兴趣么?另外,绝大部分印度学生因为主攻java(他们国家的本科好像
是以学java为主,C++相对较弱),他们没人敢选去选编译课。加上回想硬件课老师曾
经说过的提拔过我的话,这也就是说,我这个转专业、没有基础、仅学了一年的学生,
他们给了我选择、学习这门编译课的机会,但一定得给我C(虽然我学了一年共计8个学
分的C++编程课, cs120 & cs121),旨意就在于杀鸡警猴一一控制选课,印度学生和
其它国际学生岂敢、胆敢冒进选课?
至此,我死也得死,不死也得死,只是看我死得难不难看而已~~!!
d**********o
发帖数: 1321
320
今天时间不够,写得很乱
呆会儿更新那些文件名
就不再更新了
明天再一起作大量更新~~
相关主题
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香offer选择,请支招
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
进入WebRadio版参与讨论
d**********o
发帖数: 1321
321
所有测试文件
aamain2.c-
aamain2.expected
aamain2.in
aamain2.out
aamain2.tm
aamain3.c-
aamain3.expected
aamain3.out
aamain4.c-
aamain4.expected
aamain4.out
aamain4.tm
aamain5.c-
aamain5.expected
aamain5.out
aamain.c-
aamain.expected
aamain.out
aamain.tm
aasmaller.c-
aasmaller.expected
aasmaller.out
all.c-
allErrors2.c-
allErrors2.expected
allErrors2.in
allErrors2.out
allErrors.c-
allErrors.expected
allErrors.in
allErrors.out
all.expected
all.in
all.out
arglist2.c-
arglist2.expected
arglist2.out
arglist3.c-
arglist3.expected
arglist3.out
arglist.c-
arglist.expected
arglist.out
array0.c-
array0.expected
array0.out
array0.tm
array1.c-
array1.expected
array1.out
array1.tm
array2.c-
array2.expected
array2.out
array2.tm
array.c-
array.expected
array.out
arraysize.c-
arraysize.expected
arraysizeold.c-
arraysizeold.expected
arraysizeold.out
arraysizeold.tm
arraysize.out
arraysize.tm
array.tm
assign1.c-
assign1.expected
assign1.out
assign1.tm
assign2.c-
assign2.expected
assign2.out
assign2.tm
assign3.c-
assign3.expected
assign3.out
assign3.tm
assign4.c-
assign4.expected
assign4.out
assign4.tm
assign5.c-
assign5.expected
assign5.out
assign5.tm
assign6.c-
assign6.expected
assign6.out
assign6.tm
assigna.c-
assigna.expected
assigna.out
assigna.tm
assign.c-
assign.expected
assign.out
basicAll.c-
basicAll.expected
basicAll.out
battleship.c-
battleship.expected
battleship.in
battleship.out
battleship.tm
break2.c-
break2.expected
break2.out
break2.tm
break.c-
break.expected
break.out
call2.c-
call2.expected
call2.out
call2.tm
call5.c-
call5.expected
call5.out
call5.tm
call.c-
call.expected
call.out
call.tm
charout.c-
charout.expected
charout.in
charout.out
charout.tm
comb.c-
comb.expected
comb.in
comb.out
combslow.c-
combslow.expected
combslow.in
combslow.out
combslow.tm
comb.tm
compare.c-
compare.expected
compare.out
compare.tm
compound.c-
compound.expected
compound.out
control2.c-
control2.expected
control2.out
control2.tm
control.c-
control.expected
control.out
control.tm
e.c-
e.expected
e.out
errors2.c-
errors2.expected
errors2.in
errors2.out
errors3.c-
errors3.expected
errors3.in
errors3.out
errors4.c-
errors4.expected
errors4.in
errors4.out
errors.c-
errors.expected
errors.in
errors.out
e.tm
everything.c-
everything.expected
everything.out
everything.tm
everythingUndef.c-
everythingUndef.expected
everythingUndef.in
everythingUndef.out
examplearray2.c-
examplearray2.expected
examplearray2.out
examplearray2.tm
examplearray3.c-
examplearray3.expected
examplearray3.out
examplearray3.tm
examplearray.c-
examplearray.expected
examplearray.out
examplearray.tm
example.c-
example.expected
exampleif.c-
exampleif.expected
exampleif.out
exampleif.tm
exampleinit.c-
exampleinit.expected
exampleinit.out
exampleinit.tm
example.out
exampleScope.c-
exampleScope.expected
exampleScope.out
exampleScope.tm
examplestatic.c-
examplestatic.expected
examplestatic.out
examplestatic.tm
example.tm
examplewhile.c-
examplewhile.expected
examplewhile.out
examplewhile.tm
exp2.c-
exp2.expected
exp2.out
exp3.c-
exp3.expected
exp3.out
exp3.tm
exp.c-
exp.expected
exp.out
factor.c-
factor.expected
factorial2.c-
factorial2.expected
factorial2.in
factorial2.out
factorial2.tm
factorial.c-
factorial.expected
factorial.in
factorial.out
factorialr.c-
factorialr.expected
factorialr.in
factorialr.out
factorialr.tm
factorial.tm
factor.in
factor.out
factor.tm
fractal.c-
fractal.expected
fractal.in
fractal.out
fractal.tm
funcaa.c-
funcaa.expected
funcaa.out
funcaa.tm
func.c-
funcdef.c-
funcdef.expected
funcdef.out
func.expected
func.out
gcd.c-
gcd.expected
gcd.in
gcd.out
gcdsm.c-
gcdsm.expected
gcdsm.in
gcdsm.out
gcdsm.tm
gcd.tm
globalArray.c-
globalArray.expected
globalArray.out
globalArray.tm
global.c-
global.expected
global.out
globals.c-
globals.expected
globals.out
global.tm
if.c-
if.expected
if.out
if.tm
init.c-
init.expected
init.out
init.tm
io.c-
io.expected
io.in
io.out
io.tm
localArray.c-
localArray.expected
localArray.out
localArray.tm
local.c-
local.expected
local.out
local.tm
logic2.c-
logic2.expected
logic2.out
logic.c-
logic.expected
logic.out
logic.tm
loop.c-
loop.expected
loop.out
loop.tm
main2.c-
main2.expected
main2.in
main2.out
main2.tm
main3.c-
main3.expected
main3.out
main4.c-
main4.expected
main4.out
main4.tm
main5.c-
main5.expected
main5.out
main.c-
main.expected
main.out
main.tm
massign.c-
massign.expected
massign.out
massign.tm
mastermind.c-
mastermind.expected
mastermind.in
mastermind.out
mastermind.tm
mem.c-
mem.expected
mem.out
mem.tm
miller.c-
miller.expected
miller.out
miller.tm
minesweeper.c-
minesweeper.expected
minesweeper.in
minesweeper.out
minesweeper.tm
mod.c-
mod.expected
mod.out
mod.tm
negTest.c-
negTest.expected
negTest.in
negTest.out
nest.c-
nest.expected
nest.out
nest.tm
op1.c-
op1.expected
op1.out
op1.tm
ops.c-
ops.expected
ops.out
ops.tm
overlayArray.c-
overlayArray.expected
overlayArray.out
overlayArray.tm
overlay.c-
overlayCall.c-
overlayCall.expected
overlayCall.out
overlayCall.tm
overlay.expected
overlay.out
overlay.tm
overlayTmp2.c-
overlayTmp2.expected
overlayTmp2.out
overlayTmp2.tm
overlayTmp3.c-
overlayTmp3.expected
overlayTmp3.out
overlayTmp3.tm
overlayTmp.c-
overlayTmp.expected
overlayTmp.out
overlayTmp.tm
permlist.c-
permlist.expected
permlist.in
permlist.out
permlist.tm
pi.c-
pi.expected
pi.in
pi.out
pi.tm
poker.c-
poker.expected
poker.in
poker.out
poker.tm
polynum.c-
polynum.expected
polynum.out
polynum.tm
proc.c-
proc.expected
proc.out
proc.tm
procUndef.c-
procUndef.expected
procUndef.in
procUndef.out
ptriangle.c-
ptriangle.expected
ptriangle.in
ptriangle.out
ptriangle.tm
queens.c-
queens.expected
queens.in
queens.out
queens.tm
recur.c-
recur.expected
recur.in
recur.out
relop.c-
relop.expected
relop.in
relop.out
relop.tm
return2.c-
return2.expected
return2.out
return.c-
return.expected
return.out
righttri.c-
righttri.expected
righttri.in
righttri.out
righttri.tm
runExamples.in
s00.c-
s00.expected
s00.out
s00.tm
s01.c-
s01.expected
s01.out
s01.tm
s02.c-
s02e.c-
s02e.expected
s02e.out
s02.expected
s02.out
s02.tm
s03.c-
s03.expected
s03.out
s03.tm
s04.c-
s04.expected
s04.out
s04.tm
s05.c-
s05.expected
s05.out
s05.tm
s06.c-
s06.expected
s06.out
s06.tm
scope2.c-
scope2.expected
scope2.out
scope2.tm
scope.c-
scope.expected
scope.out
sieve.c-
sieve.expected
sieve.in
sieve.out
sieve.tm
sort.c-
sort.expected
sort.in
sort.out
sort.tm
sudoku.c-
sudoku.expected
sudoku.in
sudoku.out
sudoku.tm
tests.txt
tictactoe.c-
tictactoe.expected
tictactoe.in
tictactoe.out
tictactoe.tm
tiny2.c-
tiny2.expected
tiny2.out
tiny2.tm
tiny3.c-
tiny3.expected
tiny3.out
tiny3.tm
tiny4.c-
tiny4.expected
tiny4.out
tiny4.tm
tiny5.c-
tiny5.expected
tiny5.out
tiny5.tm
tiny.c-
tiny.expected
tiny.out
tiny.tm
types2.c-
types2.expected
types2.out
types3.c-
types3.expected
types3.out
types.c-
types.expected
types.out
typesUndef.c-
typesUndef.expected
typesUndef.in
typesUndef.out
unary.c-
unary.expected
unary.out
unarystar.c-
unarystar.expected
unarystar.out
unary.tm
var2.c-
var2.expected
var2.out
var2.tm
vararray.c-
vararray.expected
vararray.out
vararray.tm
var.c-
var.expected
varnovoid.c-
varnovoid.expected
varnovoid.out
varnovoid.tm
var.out
var.tm
walsh.c-
walsh.expected
walsh.in
walsh.out
walsh.tm
while.c-
while.expected
while.out
whiletest.c-
whiletest.expected
whiletest.in
whiletest.out
whiletest.tm
while.tm
a001.c-
a001.expected
a001.out
a001.tm
a002.c-
a002.expected
a002.out
a002.tm
a009.c-
a009.expected
a009.out
a009.tm
a00.c-
a00.expected
a00.out
a00.tm
a01.c-
a01.expected
a01.out
a01.tm
a02.c-
a02.expected
a02.out
a02.tm
a03.c-
a03.expected
a03.out
a03.tm
a045.c-
a045.expected
a045.out
a045.tm
a04.c-
a04.expected
a04.out
a04.tm
a05.c-
a05.expected
a05.out
a05.tm
a06.c-
a06.expected
a06.out
a06.tm
a07.c-
a07.expected
a07.out
a07.tm
a08.c-
a08.expected
a08.out
a08.tm
a09.c-
a09.expected
a09.out
a09.tm
b01.c-
b01.expected
b01.out
b01.tm
b02.c-
b02.expected
b02.out
b02.tm
b03.c-
b03.expected
b03.out
b03.tm
b04.c-
b04.expected
b04.out
b04.tm
b05.c-
b05.expected
b05.out
b05.tm
b06.c-
b06.expected
b06.out
b06.tm
b07.c-
b07.expected
b07.out
b07.tm
b08.c-
b08.expected
b08.out
b08.tm
b09.c-
b09.expected
b09.out
b09.tm
b0a.c-
b0a.expected
b0a.out
b0a.tm
b0b.c-
b0b.expected
b0b.out
b0b.tm
c01.c-
c01.expected
c01.out
c01.tm
c02.c-
c02.expected
c02.out
c02.tm
c03.c-
c03.expected
c03.out
c03.tm
c04.c-
c04.expected
c04.out
c04.tm
c05.c-
c05.expected
c05.out
c05.tm
c06.c-
c06.expected
c06.out
c06.tm
c07.c-
c07.expected
c07.out
c07.tm
c08.c-
c08.expected
c08.out
c08.tm
c09.c-
c09.expected
c09.out
c09.tm
c0a.c-
c0a.expected
c0a.out
c0a.tm
c0b.c-
c0b.expected
c0b.out
c0b.tm
c0c2.c-
c0c2.expected
c0c2.out
c0c2.tm
c0c.c-
c0c.expected
c0c.out
c0c.tm
c0d.c-
c0d.expected
c0d.out
c0d.tm
c0e.c-
c0e.expected
c0e.out
c0e.tm
c0f.c-
c0f.expected
c0f.out
c0f.tm
c0g.c-
c0g.expected
c0g.out
c0g.tm
c0h.c-
c0h.expected
c0h.out
c0h.tm
c13.c-
c13.expected
c13.out
c13.tm
c14.c-
c14.expected
c14.out
c14.tm
c15.c-
c15.expected
c15.out
c15.tm
c16.c-
c16.expected
c16.out
c16.tm
c17.c-
c17.expected
c17.out
c17.tm
c18.c-
c18.expected
c18.out
c18.tm
d015.c-
d015.expected
d015.out
d015.tm
d01.c-
d01.expected
d01.out
d01.tm
d02.c-
d02.expected
d02.out
d02.tm
d03.c-
d03.expected
d03.out
d03.tm
d045.c-
d045.expected
d045.out
d045.tm
d04.c-
d04.expected
d04.out
d04.tm
d05.c-
d05.expected
d05.out
d05.tm
e01.c-
e01.expected
e01.out
e01.tm
e02.c-
e02.expected
e02.out
e02.tm
e03.c-
e03.expected
e03.out
e03.tm
e04.c-
e04.expected
e04.out
e04.tm
e05.c-
e05.expected
e05.out
e05.tm
e06.c-
e06.expected
e06.out
e06.tm
e07.c-
e07.expected
e07.out
e07.tm
e08.c-
e08.expected
e08.out
e08.tm
e09.c-
e09.expected
e09.out
e09.tm
e0a.c-
e0a.expected
e0a.out
e0a.tm
e0b.c-
e0b.expected
e0b.out
e0b.tm
e0c.c-
e0c.expected
e0c.out
e0c.tm
e0d.c-
e0d.expected
e0d.out
e0d.tm
f01.c-
f01.expected
f01.out
f01.tm
f02.c-
f02.expected
f02.out
f02.tm
f03.c-
f03.expected
f03.out
f03.tm
f04.c-
f04.expected
f04.out
f04.tm
f05.c-
f05.expected
f05.out
f05.tm
f06.c-
f06.expected
f06.out
f06.tm
f07.c-
f07.expected
f07.out
f07.tm
f08.c-
f08.expected
f08.out
f08.tm
f09.c-
f09.expected
f09.out
f09.tm
f0a.c-
f0a.expected
f0a.out
f0a.tm
f0b.c-
f0b.expected
f0b.out
f0b.tm
f0c.c-
f0c.expected
f0c.out
f0c.tm
f0d.c-
f0d.expected
f0d.out
f0d.tm
g00.c-
g00.expected
g00.out
g00.tm
g01.c-
g01.expected
g01.out
g01.tm
g02.c-
g02.expected
g02.out
g02.tm
g03.c-
g03.expected
g03.out
g03.tm
g04.c-
g04.expected
g04.out
g04.tm
g05.c-
g05.expected
g05.out
g05.tm
g06.c-
g06.expected
g06.out
g06.tm
g07.c-
g07.expected
g07.out
g07.tm
g08.c-
g08.expected
g08.out
g08.tm
g09.c-
g09.expected
g09.out
g09.tm
g0a.c-
g0a.expected
g0a.out
g0a.tm
g0b.c-
g0b.expected
g0b.out
g0b.tm
g0c.c-
g0c.expected
g0c.out
g0c.tm
g0d.c-
g0d.expected
g0d.out
g0d.tm
g0e.c-
g0e.expected
g0e.out
g0e.tm
g0f.c-
g0f.expected
g0f.out
g0f.tm
h01.c-
h01.expected
h01.out
h01.tm
h02.c-
h02.expected
h02.out
h02.tm
h03.c-
h03.expected
h03.out
h03.tm
h04.c-
h04.expected
h04.out
h04.tm
h05.c-
h05.expected
h05.out
h05.tm
h06.c-
h06.expected
h06.out
h06.tm
h07.c-
h07.expected
h07.out
h07.tm
i00.c-
i00.expected
i00.out
i00.tm
i01.c-
i01.expected
i01.out
i01.tm
i02.c-
i02.expected
i02.out
i02.tm
i03.c-
i03.expected
i03.out
i03.tm
i04.c-
i04.expected
i04.out
i04.tm
i05.c-
i05.expected
i05.out
i05.tm
i06.c-
i06.expected
i06.out
i06.tm
i07.c-
i07.expected
i07.out
i07.tm
i08.c-
i08.expected
i08.out
i08.tm
i09.c-
i09.expected
i09.out
i09.tm
i0a.c-
i0a.expected
i0a.out
i0a.tm
i0b.c-
i0b.expected
i0b.out
i0b.tm
i0c.c-
i0c.expected
i0c.out
i0c.tm
init.expected
init.tm
j00.c-
j00.expected
j00.out
j00.tm
runExamples*
runExamples.in
s00.c-
s00.expected
s00.out
s00.tm
s01.c-
s01.expected
s01.out
s01.tm
s025.c-
s025.expected
s025.out
s025.tm
s02.c-
s02e.c-
s02e.expected
s02e.out
s02.expected
s02.out
s02.tm
s03.c-
s03.expected
s03.out
s03.tm
s04.c-
s04.expected
s04.out
s04.tm
s05.c-
s05.expected
s05.out
s05.tm
d**********o
发帖数: 1321
322
最终版本的compiler测试结果
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
scanType.h
makefile
symtab.h
symtab.cpp
emitCode.h
emitCode.cpp
20131214164956-huang-CS445-F13-A5.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
emitCode.cpp: ASCII C++ program text
emitCode.h: ASCII C++ program text
makefile: ASCII make commands text
scanType.h: ASCII C program text
symtab.cpp: ASCII C program text
symtab.h: ASCII C program text
Making compiler
bison -v -t -d c-.y
flex c-.l
g++ -DCPLUSPLUS -g -c -o lex.yy.o lex.yy.c
g++ -DCPLUSPLUS -g -c -o c-.tab.o c-.tab.c
c-.y: In function 'int main(int, char**)':
c-.y:848: warning: deprecated conversion from string constant to 'char*'
c-.y:869: warning: deprecated conversion from string constant to 'char*'
c-.y:870: warning: deprecated conversion from string constant to 'char*'
c-.y:871: warning: deprecated conversion from string constant to 'char*'
c-.y:872: warning: deprecated conversion from string constant to 'char*'
c-.y:873: warning: deprecated conversion from string constant to 'char*'
c-.y:876: warning: deprecated conversion from string constant to 'char*'
c-.y:877: warning: deprecated conversion from string constant to 'char*'
c-.y:878: warning: deprecated conversion from string constant to 'char*'
c-.y:879: warning: deprecated conversion from string constant to 'char*'
c-.y:880: warning: deprecated conversion from string constant to 'char*'
c-.y:882: warning: deprecated conversion from string constant to 'char*'
c-.y:886: warning: deprecated conversion from string constant to 'char*'
c-.y:887: warning: deprecated conversion from string constant to 'char*'
c-.y:888: warning: deprecated conversion from string constant to 'char*'
c-.y:888: warning: deprecated conversion from string constant to 'char*'
c-.y:892: warning: deprecated conversion from string constant to 'char*'
c-.y:892: warning: deprecated conversion from string constant to 'char*'
c-.y:893: warning: deprecated conversion from string constant to 'char*'
c-.y:893: warning: deprecated conversion from string constant to 'char*'
c-.y:894: warning: deprecated conversion from string constant to 'char*'
c-.y:894: warning: deprecated conversion from string constant to 'char*'
c-.y:895: warning: deprecated conversion from string constant to 'char*'
c-.y:895: warning: deprecated conversion from string constant to 'char*'
c-.y:895: warning: deprecated conversion from string constant to 'char*'
c-.y:896: warning: deprecated conversion from string constant to 'char*'
c-.y:896: warning: deprecated conversion from string constant to 'char*'
c-.y:897: warning: deprecated conversion from string constant to 'char*'
c-.y: In function 'void cgen(TreeNode*)':
c-.y:922: warning: deprecated conversion from string constant to 'char*'
c-.y:922: warning: deprecated conversion from string constant to 'char*'
c-.y:923: warning: deprecated conversion from string constant to 'char*'
c-.y:923: warning: deprecated conversion from string constant to 'char*'
c-.y:929: warning: deprecated conversion from string constant to 'char*'
c-.y:929: warning: deprecated conversion from string constant to 'char*'
c-.y:931: warning: deprecated conversion from string constant to 'char*'
c-.y:931: warning: deprecated conversion from string constant to 'char*'
c-.y:972: warning: deprecated conversion from string constant to 'char*'
c-.y:972: warning: deprecated conversion from string constant to 'char*'
c-.y:978: warning: deprecated conversion from string constant to 'char*'
c-.y:979: warning: deprecated conversion from string constant to 'char*'
c-.y:979: warning: deprecated conversion from string constant to 'char*'
c-.y:980: warning: deprecated conversion from string constant to 'char*'
c-.y:980: warning: deprecated conversion from string constant to 'char*'
c-.y:981: warning: deprecated conversion from string constant to 'char*'
c-.y:981: warning: deprecated conversion from string constant to 'char*'
c-.y:982: warning: deprecated conversion from string constant to 'char*'
c-.y:982: warning: deprecated conversion from string constant to 'char*'
c-.y:1005: warning: deprecated conversion from string constant to 'char*'
c-.y:1011: warning: deprecated conversion from string constant to 'char*'
c-.y:1016: warning: deprecated conversion from string constant to 'char*'
c-.y:1021: warning: deprecated conversion from string constant to 'char*'
c-.y:1021: warning: deprecated conversion from string constant to 'char*'
c-.y:1025: warning: deprecated conversion from string constant to 'char*'
c-.y:1030: warning: deprecated conversion from string constant to 'char*'
c-.y:1030: warning: deprecated conversion from string constant to 'char*'
c-.y:1032: warning: deprecated conversion from string constant to 'char*'
c-.y:1040: warning: deprecated conversion from string constant to 'char*'
c-.y:1043: warning: deprecated conversion from string constant to 'char*'
c-.y:1043: warning: deprecated conversion from string constant to 'char*'
c-.y:1044: warning: deprecated conversion from string constant to 'char*'
c-.y:1053: warning: deprecated conversion from string constant to 'char*'
c-.y:1053: warning: deprecated conversion from string constant to 'char*'
c-.y:1054: warning: deprecated conversion from string constant to 'char*'
c-.y:1057: warning: deprecated conversion from string constant to 'char*'
c-.y:1070: warning: deprecated conversion from string constant to 'char*'
c-.y:1074: warning: deprecated conversion from string constant to 'char*'
c-.y:1080: warning: deprecated conversion from string constant to 'char*'
c-.y:1084: warning: deprecated conversion from string constant to 'char*'
c-.y:1084: warning: deprecated conversion from string constant to 'char*'
c-.y:1086: warning: deprecated conversion from string constant to 'char*'
c-.y:1086: warning: deprecated conversion from string constant to 'char*'
c-.y:1088: warning: deprecated conversion from string constant to 'char*'
c-.y:1088: warning: deprecated conversion from string constant to 'char*'
c-.y:1089: warning: deprecated conversion from string constant to 'char*'
c-.y:1089: warning: deprecated conversion from string constant to 'char*'
c-.y:1108: warning: deprecated conversion from string constant to 'char*'
c-.y:1108: warning: deprecated conversion from string constant to 'char*'
c-.y:1118: warning: deprecated conversion from string constant to 'char*'
c-.y:1118: warning: deprecated conversion from string constant to 'char*'
c-.y:1120: warning: deprecated conversion from string constant to 'char*'
c-.y:1120: warning: deprecated conversion from string constant to 'char*'
c-.y:1123: warning: deprecated conversion from string constant to 'char*'
c-.y:1123: warning: deprecated conversion from string constant to 'char*'
c-.y:1125: warning: deprecated conversion from string constant to 'char*'
c-.y:1125: warning: deprecated conversion from string constant to 'char*'
c-.y:1131: warning: deprecated conversion from string constant to 'char*'
c-.y:1131: warning: deprecated conversion from string constant to 'char*'
c-.y:1136: warning: deprecated conversion from string constant to 'char*'
c-.y:1136: warning: deprecated conversion from string constant to 'char*'
c-.y:1138: warning: deprecated conversion from string constant to 'char*'
c-.y:1138: warning: deprecated conversion from string constant to 'char*'
c-.y:1140: warning: deprecated conversion from string constant to 'char*'
c-.y:1140: warning: deprecated conversion from string constant to 'char*'
c-.y:1141: warning: deprecated conversion from string constant to 'char*'
c-.y:1141: warning: deprecated conversion from string constant to 'char*'
c-.y:1142: warning: deprecated conversion from string constant to 'char*'
c-.y:1142: warning: deprecated conversion from string constant to 'char*'
c-.y:1153: warning: deprecated conversion from string constant to 'char*'
c-.y:1154: warning: deprecated conversion from string constant to 'char*'
c-.y:1154: warning: deprecated conversion from string constant to 'char*'
c-.y:1161: warning: deprecated conversion from string constant to 'char*'
c-.y:1161: warning: deprecated conversion from string constant to 'char*'
c-.y:1165: warning: deprecated conversion from string constant to 'char*'
c-.y:1165: warning: deprecated conversion from string constant to 'char*'
c-.y:1168: warning: deprecated conversion from string constant to 'char*'
c-.y:1168: warning: deprecated conversion from string constant to 'char*'
c-.y:1169: warning: deprecated conversion from string constant to 'char*'
c-.y:1169: warning: deprecated conversion from string constant to 'char*'
c-.y:1170: warning: deprecated conversion from string constant to 'char*'
c-.y:1170: warning: deprecated conversion from string constant to 'char*'
c-.y:1171: warning: deprecated conversion from string constant to 'char*'
c-.y:1171: warning: deprecated conversion from string constant to 'char*'
c-.y:1182: warning: deprecated conversion from string constant to 'char*'
c-.y:1197: warning: deprecated conversion from string constant to 'char*'
c-.y:1197: warning: deprecated conversion from string constant to 'char*'
c-.y:1199: warning: deprecated conversion from string constant to 'char*'
c-.y:1199: warning: deprecated conversion from string constant to 'char*'
c-.y:1201: warning: deprecated conversion from string constant to 'char*'
c-.y:1201: warning: deprecated conversion from string constant to 'char*'
c-.y:1203: warning: deprecated conversion from string constant to 'char*'
c-.y:1203: warning: deprecated conversion from string constant to 'char*'
c-.y:1204: warning: deprecated conversion from string constant to 'char*'
c-.y:1204: warning: deprecated conversion from string constant to 'char*'
c-.y:1208: warning: deprecated conversion from string constant to 'char*'
c-.y:1208: warning: deprecated conversion from string constant to 'char*'
c-.y:1211: warning: deprecated conversion from string constant to 'char*'
c-.y:1211: warning: deprecated conversion from string constant to 'char*'
c-.y:1212: warning: deprecated conversion from string constant to 'char*'
c-.y:1212: warning: deprecated conversion from string constant to 'char*'
c-.y:1213: warning: deprecated conversion from string constant to 'char*'
c-.y:1213: warning: deprecated conversion from string constant to 'char*'
c-.y:1216: warning: deprecated conversion from string constant to 'char*'
c-.y:1216: warning: deprecated conversion from string constant to 'char*'
c-.y:1217: warning: deprecated conversion from string constant to 'char*'
c-.y:1217: warning: deprecated conversion from string constant to 'char*'
c-.y:1218: warning: deprecated conversion from string constant to 'char*'
c-.y:1218: warning: deprecated conversion from string constant to 'char*'
c-.y:1225: warning: deprecated conversion from string constant to 'char*'
c-.y:1225: warning: deprecated conversion from string constant to 'char*'
c-.y:1227: warning: deprecated conversion from string constant to 'char*'
c-.y:1227: warning: deprecated conversion from string constant to 'char*'
c-.y:1231: warning: deprecated conversion from string constant to 'char*'
c-.y:1231: warning: deprecated conversion from string constant to 'char*'
c-.y:1233: warning: deprecated conversion from string constant to 'char*'
c-.y:1233: warning: deprecated conversion from string constant to 'char*'
c-.y:1234: warning: deprecated conversion from string constant to 'char*'
c-.y:1234: warning: deprecated conversion from string constant to 'char*'
c-.y:1236: warning: deprecated conversion from string constant to 'char*'
c-.y:1236: warning: deprecated conversion from string constant to 'char*'
c-.y:1238: warning: deprecated conversion from string constant to 'char*'
c-.y:1238: warning: deprecated conversion from string constant to 'char*'
c-.y:1242: warning: deprecated conversion from string constant to 'char*'
c-.y:1242: warning: deprecated conversion from string constant to 'char*'
c-.y:1244: warning: deprecated conversion from string constant to 'char*'
c-.y:1244: warning: deprecated conversion from string constant to 'char*'
c-.y:1245: warning: deprecated conversion from string constant to 'char*'
c-.y:1245: warning: deprecated conversion from string constant to 'char*'
c-.y:1247: warning: deprecated conversion from string constant to 'char*'
c-.y:1247: warning: deprecated conversion from string constant to 'char*'
c-.y:1249: warning: deprecated conversion from string constant to 'char*'
c-.y:1249: warning: deprecated conversion from string constant to 'char*'
c-.y:1260: warning: deprecated conversion from string constant to 'char*'
c-.y:1260: warning: deprecated conversion from string constant to 'char*'
c-.y:1261: warning: deprecated conversion from string constant to 'char*'
c-.y:1261: warning: deprecated conversion from string constant to 'char*'
c-.y:1262: warning: deprecated conversion from string constant to 'char*'
c-.y:1262: warning: deprecated conversion from string constant to 'char*'
c-.y:1263: warning: deprecated conversion from string constant to 'char*'
c-.y:1263: warning: deprecated conversion from string constant to 'char*'
c-.y:1266: warning: deprecated conversion from string constant to 'char*'
c-.y:1266: warning: deprecated conversion from string constant to 'char*'
c-.y:1267: warning: deprecated conversion from string constant to 'char*'
c-.y:1267: warning: deprecated conversion from string constant to 'char*'
c-.y:1268: warning: deprecated conversion from string constant to 'char*'
c-.y:1268: warning: deprecated conversion from string constant to 'char*'
c-.y:1269: warning: deprecated conversion from string constant to 'char*'
c-.y:1269: warning: deprecated conversion from string constant to 'char*'
c-.y:1274: warning: deprecated conversion from string constant to 'char*'
c-.y:1274: warning: deprecated conversion from string constant to 'char*'
c-.y:1275: warning: deprecated conversion from string constant to 'char*'
c-.y:1275: warning: deprecated conversion from string constant to 'char*'
c-.y:1276: warning: deprecated conversion from string constant to 'char*'
c-.y:1276: warning: deprecated conversion from string constant to 'char*'
c-.y:1279: warning: deprecated conversion from string constant to 'char*'
c-.y:1279: warning: deprecated conversion from string constant to 'char*'
c-.y:1280: warning: deprecated conversion from string constant to 'char*'
c-.y:1280: warning: deprecated conversion from string constant to 'char*'
c-.y:1281: warning: deprecated conversion from string constant to 'char*'
c-.y:1281: warning: deprecated conversion from string constant to 'char*'
c-.y:1301: warning: deprecated conversion from string constant to 'char*'
c-.y:1301: warning: deprecated conversion from string constant to 'char*'
c-.y:1303: warning: deprecated conversion from string constant to 'char*'
c-.y:1303: warning: deprecated conversion from string constant to 'char*'
c-.y:1308: warning: deprecated conversion from string constant to 'char*'
c-.y:1308: warning: deprecated conversion from string constant to 'char*'
c-.y:1312: warning: deprecated conversion from string constant to 'char*'
c-.y:1312: warning: deprecated conversion from string constant to 'char*'
c-.y:1313: warning: deprecated conversion from string constant to 'char*'
c-.y:1313: warning: deprecated conversion from string constant to 'char*'
c-.y:1315: warning: deprecated conversion from string constant to 'char*'
c-.y:1315: warning: deprecated conversion from string constant to 'char*'
c-.y:1320: warning: deprecated conversion from string constant to 'char*'
c-.y:1320: warning: deprecated conversion from string constant to 'char*'
c-.y:1322: warning: deprecated conversion from string constant to 'char*'
c-.y:1322: warning: deprecated conversion from string constant to 'char*'
c-.y:1324: warning: deprecated conversion from string constant to 'char*'
c-.y:1324: warning: deprecated conversion from string constant to 'char*'
c-.y:1327: warning: deprecated conversion from string constant to 'char*'
c-.y:1327: warning: deprecated conversion from string constant to 'char*'
c-.y:1330: warning: deprecated conversion from string constant to 'char*'
c-.y:1330: warning: deprecated conversion from string constant to 'char*'
c-.y:1331: warning: deprecated conversion from string constant to 'char*'
c-.y:1331: warning: deprecated conversion from string constant to 'char*'
c-.y:1332: warning: deprecated conversion from string constant to 'char*'
c-.y:1332: warning: deprecated conversion from string constant to 'char*'
c-.y:1333: warning: deprecated conversion from string constant to 'char*'
c-.y:1333: warning: deprecated conversion from string constant to 'char*'
c-.y:1334: warning: deprecated conversion from string constant to 'char*'
c-.y:1334: warning: deprecated conversion from string constant to 'char*'
c-.y:1338: warning: deprecated conversion from string constant to 'char*'
c-.y:1338: warning: deprecated conversion from string constant to 'char*'
c-.y:1339: warning: deprecated conversion from string constant to 'char*'
c-.y:1339: warning: deprecated conversion from string constant to 'char*'
c-.y:1340: warning: deprecated conversion from string constant to 'char*'
c-.y:1340: warning: deprecated conversion from string constant to 'char*'
c-.y:1341: warning: deprecated conversion from string constant to 'char*'
c-.y:1341: warning: deprecated conversion from string constant to 'char*'
c-.y:1342: warning: deprecated conversion from string constant to 'char*'
c-.y:1342: warning: deprecated conversion from string constant to 'char*'
c-.y:1346: warning: deprecated conversion from string constant to 'char*'
c-.y:1346: warning: deprecated conversion from string constant to 'char*'
c-.y:1347: warning: deprecated conversion from string constant to 'char*'
c-.y:1347: warning: deprecated conversion from string constant to 'char*'
c-.y:1348: warning: deprecated conversion from string constant to 'char*'
c-.y:1348: warning: deprecated conversion from string constant to 'char*'
c-.y:1349: warning: deprecated conversion from string constant to 'char*'
c-.y:1349: warning: deprecated conversion from string constant to 'char*'
c-.y:1350: warning: deprecated conversion from string constant to 'char*'
c-.y:1350: warning: deprecated conversion from string constant to 'char*'
c-.y:1354: warning: deprecated conversion from string constant to 'char*'
c-.y:1354: warning: deprecated conversion from string constant to 'char*'
c-.y:1355: warning: deprecated conversion from string constant to 'char*'
c-.y:1355: warning: deprecated conversion from string constant to 'char*'
c-.y: In function 'void codeGen(TreeNode*, char*)':
c-.y:1371: warning: deprecated conversion from string constant to 'char*'
c-.y:1371: warning: deprecated conversion from string constant to 'char*'
c-.y:1373: warning: deprecated conversion from string constant to 'char*'
c-.y:1373: warning: deprecated conversion from string constant to 'char*'
c-.y:1375: warning: deprecated conversion from string constant to 'char*'
c-.y:1375: warning: deprecated conversion from string constant to 'char*'
c-.y: In function 'void genGlobal()':
c-.y:1382: warning: deprecated conversion from string constant to 'char*'
c-.y:1383: warning: deprecated conversion from string constant to 'char*'
c-.y:1383: warning: deprecated conversion from string constant to 'char*'
c-.y:1384: warning: deprecated conversion from string constant to 'char*'
c-.y:1384: warning: deprecated conversion from string constant to 'char*'
c-.y:1386: warning: deprecated conversion from string constant to 'char*'
c-.y: In function 'int backPatchJumpToHere(int, char*)':
c-.y:1413: warning: deprecated conversion from string constant to 'char*'
c-.y: In function 'int backPatchJumpToHere2(int, char*, char*)':
c-.y:1421: warning: deprecated conversion from string constant to 'char*'
g++ -c -o symtab.o symtab.cpp
g++ -c -o emitCode.o emitCode.cpp
emitCode.cpp: In function 'void emitRO(char*, int, int, int, char*)':
emitCode.cpp:86: warning: deprecated conversion from string constant to '
char*'
emitCode.cpp: In function 'void emitRM(char*, int, int, int, char*)':
emitCode.cpp:108: warning: deprecated conversion from string constant to '
char*'
emitCode.cpp: In function 'void emitRMAbs(char*, int, int, char*)':
emitCode.cpp:136: warning: deprecated conversion from string constant to '
char*'
emitCode.cpp: In function 'void emitBackup(int)':
emitCode.cpp:163: warning: deprecated conversion from string constant to '
char*'
g++ -Wno-Wwrite-strings -DCPLUSPLUS -g lex.yy.o c-.tab.o symtab.o
emitCode.o -lfl -lm -o c-
Extracting test files
AllTests/
AllTests/.lastedit
AllTests/a00.c-
AllTests/a00.expected
AllTests/a001.c-
AllTests/a001.expected
AllTests/a002.c-
AllTests/a002.expected
AllTests/a009.c-
AllTests/a009.expected
AllTests/a01.c-
AllTests/a01.expected
AllTests/a02.c-
AllTests/a02.expected
AllTests/a03.c-
AllTests/a03.expected
AllTests/a04.c-
AllTests/a04.expected
AllTests/a045.c-
AllTests/a045.expected
AllTests/a05.c-
AllTests/a05.expected
AllTests/a06.c-
AllTests/a06.expected
AllTests/a07.c-
AllTests/a07.expected
AllTests/a08.c-
AllTests/a08.expected
AllTests/a09.c-
AllTests/a09.expected
AllTests/aamain.c-
AllTests/aamain.expected
AllTests/aamain2.c-
AllTests/aamain2.expected
AllTests/aamain2.in
AllTests/aamain3.c-
AllTests/aamain3.expected
AllTests/aamain4.c-
AllTests/aamain4.expected
AllTests/aamain5.c-
AllTests/aamain5.expected
AllTests/aasmaller.c-
AllTests/aasmaller.expected
AllTests/all.c-
AllTests/all.expected
AllTests/all.in
AllTests/allErrors.c-
AllTests/allErrors.expected
AllTests/allErrors.in
AllTests/allErrors2.c-
AllTests/allErrors2.expected
AllTests/allErrors2.in
AllTests/arglist.c-
AllTests/arglist.expected
AllTests/arglist2.c-
AllTests/arglist2.expected
AllTests/arglist3.c-
AllTests/arglist3.expected
AllTests/array.c-
AllTests/array.expected
AllTests/array0.c-
AllTests/array0.expected
AllTests/array1.c-
AllTests/array1.expected
AllTests/array2.c-
AllTests/array2.expected
AllTests/arraysize.c-
AllTests/arraysize.expected
AllTests/arraysizeold.c-
AllTests/arraysizeold.expected
AllTests/assign.c-
AllTests/assign.expected
AllTests/assign1.c-
AllTests/assign1.expected
AllTests/assign2.c-
AllTests/assign2.expected
AllTests/assign3.c-
AllTests/assign3.expected
AllTests/assign4.c-
AllTests/assign4.expected
AllTests/assign5.c-
AllTests/assign5.expected
AllTests/assign6.c-
AllTests/assign6.expected
AllTests/assigna.c-
AllTests/assigna.expected
AllTests/b01.c-
AllTests/b01.expected
AllTests/b02.c-
AllTests/b02.expected
AllTests/b03.c-
AllTests/b03.expected
AllTests/b04.c-
AllTests/b04.expected
AllTests/b05.c-
AllTests/b05.expected
AllTests/b06.c-
AllTests/b06.expected
AllTests/b07.c-
AllTests/b07.expected
AllTests/b08.c-
AllTests/b08.expected
AllTests/b09.c-
AllTests/b09.expected
AllTests/b0a.c-
AllTests/b0a.expected
AllTests/b0b.c-
AllTests/b0b.expected
AllTests/basicAll.c-
AllTests/basicAll.expected
AllTests/battleship.c-
AllTests/battleship.expected
AllTests/battleship.in
AllTests/break.c-
AllTests/break.expected
AllTests/break2.c-
AllTests/break2.expected
AllTests/c01.c-
AllTests/c01.expected
AllTests/c02.c-
AllTests/c02.expected
AllTests/c03.c-
AllTests/c03.expected
AllTests/c04.c-
AllTests/c04.expected
AllTests/c05.c-
AllTests/c05.expected
AllTests/c06.c-
AllTests/c06.expected
AllTests/c07.c-
AllTests/c07.expected
AllTests/c08.c-
AllTests/c08.expected
AllTests/c09.c-
AllTests/c09.expected
AllTests/c0a.c-
AllTests/c0a.expected
AllTests/c0b.c-
AllTests/c0b.expected
AllTests/c0c.c-
AllTests/c0c.expected
AllTests/c0c2.c-
AllTests/c0c2.expected
AllTests/c0d.c-
AllTests/c0d.expected
AllTests/c0e.c-
AllTests/c0e.expected
AllTests/c0f.c-
AllTests/c0f.expected
AllTests/c0g.c-
AllTests/c0g.expected
AllTests/c0h.c-
AllTests/c0h.expected
AllTests/c13.c-
AllTests/c13.expected
AllTests/c14.c-
AllTests/c14.expected
AllTests/c15.c-
AllTests/c15.expected
AllTests/c16.c-
AllTests/c16.expected
AllTests/c17.c-
AllTests/c17.expected
AllTests/c18.c-
AllTests/c18.expected
AllTests/call.c-
AllTests/call.expected
AllTests/call2.c-
AllTests/call2.expected
AllTests/call5.c-
AllTests/call5.expected
AllTests/charout.c-
AllTests/charout.expected
AllTests/charout.in
AllTests/comb.c-
AllTests/comb.expected
AllTests/comb.in
AllTests/combslow.c-
AllTests/combslow.expected
AllTests/combslow.in
AllTests/compare.c-
AllTests/compare.expected
AllTests/compound.c-
AllTests/compound.expected
AllTests/control.c-
AllTests/control.expected
AllTests/control2.c-
AllTests/control2.expected
AllTests/d01.c-
AllTests/d01.expected
AllTests/d015.c-
AllTests/d015.expected
AllTests/d02.c-
AllTests/d02.expected
AllTests/d03.c-
AllTests/d03.expected
AllTests/d04.c-
AllTests/d04.expected
AllTests/d045.c-
AllTests/d045.expected
AllTests/d05.c-
AllTests/d05.expected
AllTests/e.c-
AllTests/e.expected
AllTests/e01.c-
AllTests/e01.expected
AllTests/e02.c-
AllTests/e02.expected
AllTests/e03.c-
AllTests/e03.expected
AllTests/e04.c-
AllTests/e04.expected
AllTests/e05.c-
AllTests/e05.expected
AllTests/e06.c-
AllTests/e06.expected
AllTests/e07.c-
AllTests/e07.expected
AllTests/e08.c-
AllTests/e08.expected
AllTests/e09.c-
AllTests/e09.expected
AllTests/e0a.c-
AllTests/e0a.expected
AllTests/e0b.c-
AllTests/e0b.expected
AllTests/e0c.c-
AllTests/e0c.expected
AllTests/e0d.c-
AllTests/e0d.expected
AllTests/errors.c-
AllTests/errors.expected
AllTests/errors.in
AllTests/errors2.c-
AllTests/errors2.expected
AllTests/errors2.in
AllTests/errors3.c-
AllTests/errors3.expected
AllTests/errors3.in
AllTests/errors4.c-
AllTests/errors4.expected
AllTests/errors4.in
AllTests/everything.c-
AllTests/everything.expected
AllTests/everythingUndef.c-
AllTests/everythingUndef.expected
AllTests/everythingUndef.in
AllTests/example.c-
AllTests/example.expected
AllTests/examplearray.c-
AllTests/examplearray.expected
AllTests/examplearray2.c-
AllTests/examplearray2.expected
AllTests/examplearray3.c-
AllTests/examplearray3.expected
AllTests/exampleif.c-
AllTests/exampleif.expected
AllTests/exampleinit.c-
AllTests/exampleinit.expected
AllTests/exampleScope.c-
AllTests/exampleScope.expected
AllTests/examplestatic.c-
AllTests/examplestatic.expected
AllTests/examplewhile.c-
AllTests/examplewhile.expected
AllTests/exp.c-
AllTests/exp.expected
AllTests/exp2.c-
AllTests/exp2.expected
AllTests/exp3.c-
AllTests/exp3.expected
AllTests/f01.c-
AllTests/f01.expected
AllTests/f02.c-
AllTests/f02.expected
AllTests/f03.c-
AllTests/f03.expected
AllTests/f04.c-
AllTests/f04.expected
AllTests/f05.c-
AllTests/f05.expected
AllTests/f06.c-
AllTests/f06.expected
AllTests/f07.c-
AllTests/f07.expected
AllTests/f08.c-
AllTests/f08.expected
AllTests/f09.c-
AllTests/f09.expected
AllTests/f0a.c-
AllTests/f0a.expected
AllTests/f0b.c-
AllTests/f0b.expected
AllTests/f0c.c-
AllTests/f0c.expected
AllTests/f0d.c-
AllTests/f0d.expected
AllTests/factor.c-
AllTests/factor.expected
AllTests/factor.in
AllTests/factorial.c-
AllTests/factorial.expected
AllTests/factorial.in
AllTests/factorial2.c-
AllTests/factorial2.expected
AllTests/factorial2.in
AllTests/factorialr.c-
AllTests/factorialr.expected
AllTests/factorialr.in
AllTests/fractal.c-
AllTests/fractal.expected
AllTests/fractal.in
AllTests/func.c-
AllTests/func.expected
AllTests/funcaa.c-
AllTests/funcaa.expected
AllTests/funcdef.c-
AllTests/funcdef.expected
AllTests/g00.c-
AllTests/g00.expected
AllTests/g01.c-
AllTests/g01.expected
AllTests/g02.c-
AllTests/g02.expected
AllTests/g03.c-
AllTests/g03.expected
AllTests/g04.c-
AllTests/g04.expected
AllTests/g05.c-
AllTests/g05.expected
AllTests/g06.c-
AllTests/g06.expected
AllTests/g07.c-
AllTests/g07.expected
AllTests/g08.c-
AllTests/g08.expected
AllTests/g09.c-
AllTests/g09.expected
AllTests/g0a.c-
AllTests/g0a.expected
AllTests/g0b.c-
AllTests/g0b.expected
AllTests/g0c.c-
AllTests/g0c.expected
AllTests/g0d.c-
AllTests/g0d.expected
AllTests/g0e.c-
AllTests/g0e.expected
AllTests/g0f.c-
AllTests/g0f.expected
AllTests/gcd.c-
AllTests/gcd.expected
AllTests/gcd.in
AllTests/gcdsm.c-
AllTests/gcdsm.expected
AllTests/gcdsm.in
AllTests/global.c-
AllTests/global.expected
AllTests/globalArray.c-
AllTests/globalArray.expected
AllTests/globals.c-
AllTests/globals.expected
AllTests/h01.c-
AllTests/h01.expected
AllTests/h02.c-
AllTests/h02.expected
AllTests/h03.c-
AllTests/h03.expected
AllTests/h04.c-
AllTests/h04.expected
AllTests/h05.c-
AllTests/h05.expected
AllTests/h06.c-
AllTests/h06.expected
AllTests/h07.c-
AllTests/h07.expected
AllTests/i00.c-
AllTests/i00.expected
AllTests/i01.c-
AllTests/i01.expected
AllTests/i02.c-
AllTests/i02.expected
AllTests/i03.c-
AllTests/i03.expected
AllTests/i04.c-
AllTests/i04.expected
AllTests/i05.c-
AllTests/i05.expected
AllTests/i06.c-
AllTests/i06.expected
AllTests/i07.c-
AllTests/i07.expected
AllTests/i08.c-
AllTests/i08.expected
AllTests/i09.c-
AllTests/i09.expected
AllTests/i0a.c-
AllTests/i0a.expected
AllTests/i0b.c-
AllTests/i0b.expected
AllTests/i0c.c-
AllTests/i0c.expected
AllTests/if.c-
AllTests/if.expected
AllTests/inc.c-
AllTests/inc.expected
AllTests/init.c-
AllTests/init.expected
AllTests/io.c-
AllTests/io.expected
AllTests/io.in
AllTests/j00.c-
AllTests/j00.expected
AllTests/local.c-
AllTests/local.expected
AllTests/localArray.c-
AllTests/localArray.expected
AllTests/logic.c-
AllTests/logic.expected
AllTests/logic2.c-
AllTests/logic2.expected
AllTests/loop.c-
AllTests/loop.expected
AllTests/main.c-
AllTests/main.expected
AllTests/main2.c-
AllTests/main2.expected
AllTests/main2.in
AllTests/main3.c-
AllTests/main3.expected
AllTests/main4.c-
AllTests/main4.expected
AllTests/main5.c-
AllTests/main5.expected
AllTests/massign.c-
AllTests/massign.expected
AllTests/mastermind.c-
AllTests/mastermind.expected
AllTests/mastermind.in
AllTests/mem.c-
AllTests/mem.expected
AllTests/miller.c-
AllTests/miller.expected
AllTests/minesweeper.c-
AllTests/minesweeper.expected
AllTests/minesweeper.in
AllTests/mod.c-
AllTests/mod.expected
AllTests/negTest.c-
AllTests/negTest.expected
AllTests/negTest.in
AllTests/nest.c-
AllTests/nest.expected
AllTests/op1.c-
AllTests/op1.expected
AllTests/ops.c-
AllTests/ops.expected
AllTests/permlist.c-
AllTests/permlist.expected
AllTests/permlist.in
AllTests/pi.c-
AllTests/pi.expected
AllTests/pi.in
AllTests/poker.c-
AllTests/poker.expected
AllTests/poker.in
AllTests/polynum.c-
AllTests/polynum.expected
AllTests/proc.c-
AllTests/proc.expected
AllTests/procUndef.c-
AllTests/procUndef.expected
AllTests/procUndef.in
AllTests/ptriangle.c-
AllTests/ptriangle.expected
AllTests/ptriangle.in
AllTests/queens.c-
AllTests/queens.expected
AllTests/queens.in
AllTests/README
AllTests/recur.c-
AllTests/recur.expected
AllTests/recur.in
AllTests/relop.c-
AllTests/relop.expected
AllTests/relop.in
AllTests/return.c-
AllTests/return.expected
AllTests/return2.c-
AllTests/return2.expected
AllTests/righttri.c-
AllTests/righttri.expected
AllTests/righttri.in
AllTests/runExamples
AllTests/runExamples.in
AllTests/runExamples~
AllTests/s00.c-
AllTests/s00.expected
AllTests/s01.c-
AllTests/s01.expected
AllTests/s02.c-
AllTests/s02.expected
AllTests/s025.c-
AllTests/s025.expected
AllTests/s02e.c-
AllTests/s02e.expected
AllTests/s03.c-
AllTests/s03.expected
AllTests/s04.c-
AllTests/s04.expected
AllTests/s05.c-
AllTests/s05.expected
AllTests/s06.c-
AllTests/s06.expected
AllTests/scope.c-
AllTests/scope.expected
AllTests/scope2.c-
AllTests/scope2.expected
AllTests/sieve.c-
AllTests/sieve.expected
AllTests/sieve.in
AllTests/sort.c-
AllTests/sort.expected
AllTests/sort.in
AllTests/sudoku.c-
AllTests/sudoku.expected
AllTests/sudoku.in
AllTests/tictactoe.c-
AllTests/tictactoe.expected
AllTests/tictactoe.in
AllTests/tiny.c-
AllTests/tiny.expected
AllTests/tiny2.c-
AllTests/tiny2.expected
AllTests/tiny3.c-
AllTests/tiny3.expected
AllTests/tiny4.c-
AllTests/tiny4.expected
AllTests/tiny5.c-
AllTests/tiny5.expected
AllTests/types.c-
AllTests/types.expected
AllTests/types2.c-
AllTests/types2.expected
AllTests/types3.c-
AllTests/types3.expected
AllTests/typesUndef.c-
AllTests/typesUndef.expected
AllTests/typesUndef.in
AllTests/unary.c-
AllTests/unary.expected
AllTests/unarystar.c-
AllTests/unarystar.expected
AllTests/var.c-
AllTests/var.expected
AllTests/var2.c-
AllTests/var2.expected
AllTests/vararray.c-
AllTests/vararray.expected
AllTests/varnovoid.c-
AllTests/varnovoid.expected
AllTests/walsh.c-
AllTests/walsh.expected
AllTests/walsh.in
AllTests/while.c-
AllTests/while.expected
AllTests/whiletest.c-
AllTests/whiletest.expected
AllTests/whiletest.in
=================================================
Output of Testing
Limited to 20 seconds total run time and 10000 lines of output
* ================================================ *
| Tests for CS445 Assignment 5 |
| Comparison with Expected Output |
* ================================================ *
/export/home/nibbler/TestWorld
/export/home/nibbler/TestWorld/AllTests
TM version 3.01 (enter h for help)...
Memory Configuration: Data Addresses: 0-9999 Instruction Addresses: 0-9999
Abort Limit: 50000
Enter command: Bye.
====================================
FILE: a00.c-
-rw-------. 1 nibbler nibbler 22 Dec 7 11:02 a00.c-
-rw-------. 1 nibbler nibbler 189 Dec 10 21:39 a00.expected
-rw-r--r--. 1 nibbler nibbler 189 Dec 14 16:52 a00.out
-rw-r--r--. 1 nibbler nibbler 2436 Dec 14 16:52 a00.tm
a00 (Output OK)
====================================
FILE: a001.c-
-rw-------. 1 nibbler nibbler 32 Dec 7 11:02 a001.c-
-rw-------. 1 nibbler nibbler 190 Dec 10 21:39 a001.expected
-rw-r--r--. 1 nibbler nibbler 190 Dec 14 16:52 a001.out
-rw-r--r--. 1 nibbler nibbler 2475 Dec 14 16:52 a001.tm
a001 (Output OK)
====================================
FILE: a002.c-
-rw-------. 1 nibbler nibbler 35 Dec 7 11:02 a002.c-
-rw-------. 1 nibbler nibbler 190 Dec 10 21:39 a002.expected
-rw-r--r--. 1 nibbler nibbler 190 Dec 14 16:52 a002.out
-rw-r--r--. 1 nibbler nibbler 2599 Dec 14 16:52 a002.tm
a002 (Output OK)
====================================
FILE: a009.c-
-rw-------. 1 nibbler nibbler 31 Dec 7 11:04 a009.c-
-rw-------. 1 nibbler nibbler 190 Dec 10 21:39 a009.expected
-rw-r--r--. 1 nibbler nibbler 190 Dec 14 16:52 a009.out
-rw-r--r--. 1 nibbler nibbler 2437 Dec 14 16:52 a009.tm
a009 (Output OK)
====================================
FILE: a01.c-
-rw-------. 1 nibbler nibbler 41 Dec 7 11:02 a01.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 a01.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 a01.out
-rw-r--r--. 1 nibbler nibbler 2756 Dec 14 16:52 a01.tm
a01 (Output OK)
====================================
FILE: a02.c-
-rw-------. 1 nibbler nibbler 55 Dec 7 11:02 a02.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:39 a02.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 a02.out
-rw-r--r--. 1 nibbler nibbler 2998 Dec 14 16:52 a02.tm
a02 (Output OK)
====================================
FILE: a03.c-
-rw-------. 1 nibbler nibbler 43 Dec 7 11:02 a03.c-
-rw-------. 1 nibbler nibbler 191 Dec 10 21:39 a03.expected
-rw-r--r--. 1 nibbler nibbler 191 Dec 14 16:52 a03.out
-rw-r--r--. 1 nibbler nibbler 2755 Dec 14 16:52 a03.tm
a03 (Output OK)
====================================
FILE: a04.c-
-rw-------. 1 nibbler nibbler 44 Dec 7 11:02 a04.c-
-rw-------. 1 nibbler nibbler 191 Dec 10 21:39 a04.expected
-rw-r--r--. 1 nibbler nibbler 191 Dec 14 16:52 a04.out
-rw-r--r--. 1 nibbler nibbler 2755 Dec 14 16:52 a04.tm
a04 (Output OK)
====================================
FILE: a045.c-
-rw-------. 1 nibbler nibbler 40 Dec 7 11:02 a045.c-
-rw-------. 1 nibbler nibbler 191 Dec 10 21:39 a045.expected
-rw-r--r--. 1 nibbler nibbler 191 Dec 14 16:52 a045.out
-rw-r--r--. 1 nibbler nibbler 2720 Dec 14 16:52 a045.tm
a045.out ztmp7922.txt differ: char 179, line 7
a045 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: a045.tm Loading file: a045.tm
5Halted | YHalted
Bye. Bye.
====================================
FILE: a05.c-
-rw-------. 1 nibbler nibbler 66 Dec 7 11:02 a05.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 a05.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 a05.out
-rw-r--r--. 1 nibbler nibbler 2871 Dec 14 16:52 a05.tm
a05 (Output OK)
====================================
FILE: a06.c-
-rw-------. 1 nibbler nibbler 61 Dec 7 11:02 a06.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 a06.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 a06.out
-rw-r--r--. 1 nibbler nibbler 3649 Dec 14 16:52 a06.tm
a06 (Output OK)
====================================
FILE: a07.c-
-rw-------. 1 nibbler nibbler 132 Dec 7 11:02 a07.c-
-rw-------. 1 nibbler nibbler 199 Dec 10 21:39 a07.expected
-rw-r--r--. 1 nibbler nibbler 199 Dec 14 16:52 a07.out
-rw-r--r--. 1 nibbler nibbler 5488 Dec 14 16:52 a07.tm
a07 (Output OK)
====================================
FILE: a08.c-
-rw-------. 1 nibbler nibbler 139 Dec 7 11:02 a08.c-
-rw-------. 1 nibbler nibbler 195 Dec 10 21:39 a08.expected
-rw-r--r--. 1 nibbler nibbler 195 Dec 14 16:52 a08.out
-rw-r--r--. 1 nibbler nibbler 5484 Dec 14 16:52 a08.tm
a08 (Output OK)
====================================
FILE: a09.c-
-rw-------. 1 nibbler nibbler 134 Dec 10 21:34 a09.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 a09.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 a09.out
-rw-r--r--. 1 nibbler nibbler 5339 Dec 14 16:52 a09.tm
a09.out ztmp7922.txt differ: char 178, line 7
a09 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: a09.tm Loading file: a09.tm
h | X
h | Y
Halted Halted
Bye. Bye.
====================================
FILE: aamain.c-
-rw-------. 1 nibbler nibbler 57 Nov 20 21:16 aamain.c-
-rw-------. 1 nibbler nibbler 278 Dec 10 18:12 aamain.expected
-rw-r--r--. 1 nibbler nibbler 278 Dec 14 16:52 aamain.out
-rw-r--r--. 1 nibbler nibbler 2698 Dec 14 16:52 aamain.tm
aamain (Output OK)
====================================
FILE: aamain2.c-
-rw-------. 1 nibbler nibbler 121 Nov 20 21:16 aamain2.c-
-rw-------. 1 nibbler nibbler 224 Dec 10 18:12 aamain2.expected
-rw-------. 1 nibbler nibbler 20 Nov 21 11:33 aamain2.in
-rw-r--r--. 1 nibbler nibbler 224 Dec 14 16:52 aamain2.out
-rw-r--r--. 1 nibbler nibbler 3968 Dec 14 16:52 aamain2.tm
aamain2 (Output OK)
====================================
FILE: aamain3.c-
-rw-------. 1 nibbler nibbler 94 Nov 20 21:16 aamain3.c-
-rw-------. 1 nibbler nibbler 284 Dec 10 18:12 aamain3.expected
-rw-r--r--. 1 nibbler nibbler 403 Dec 14 16:52 aamain3.out
-rw-r--r--. 1 nibbler nibbler 3483 Dec 14 16:52 aamain3.tm
cmp: EOF on ztmp7922.txt
aamain3 (Output DIFF)
ERROR(5): Expecting type int in parameter 1 of call to ' ERROR(5):
Expecting type int in parameter 1 of call to '
ERROR(6): Expecting type bool in parameter 1 of call to ERROR(6):
Expecting type bool in parameter 1 of call to
Number of warnings: 0 Number of warnings: 0
Number of errors: 2 Number of errors: 2
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: aamain3.tm <
1 T <
Halted <
Bye. <
====================================
FILE: aamain4.c-
-rw-------. 1 nibbler nibbler 33 Nov 20 21:16 aamain4.c-
-rw-------. 1 nibbler nibbler 279 Dec 10 18:12 aamain4.expected
-rw-r--r--. 1 nibbler nibbler 279 Dec 14 16:52 aamain4.out
-rw-r--r--. 1 nibbler nibbler 2440 Dec 14 16:52 aamain4.tm
aamain4 (Output OK)
====================================
FILE: aamain5.c-
./runExamples: line 11: 8073 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 87 Nov 20 21:16 aamain5.c-
-rw-------. 1 nibbler nibbler 125 Dec 10 18:12 aamain5.expected
-rw-r--r--. 1 nibbler nibbler 239 Dec 14 16:52 aamain5.out
-rw-r--r--. 1 nibbler nibbler 0 Dec 14 16:52 aamain5.tm
cmp: EOF on ztmp7922.txt
aamain5 (Output DIFF)
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 1 Number of errors: 1
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: aamain5.tm <
Halted <
Bye. <
====================================
FILE: aasmaller.c-
./runExamples: line 11: 8082 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 49 Dec 5 15:35 aasmaller.c-
-rw-------. 1 nibbler nibbler 125 Dec 10 18:12 aasmaller.expected
-rw-r--r--. 1 nibbler nibbler 241 Dec 14 16:52 aasmaller.out
-rw-r--r--. 1 nibbler nibbler 0 Dec 14 16:52 aasmaller.tm
cmp: EOF on ztmp7922.txt
aasmaller (Output DIFF)
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 1 Number of errors: 1
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: aasmaller.tm <
Halted <
Bye. <
====================================
FILE: all.c-
syntax error in line 5 in token ;
-rw-------. 1 nibbler nibbler 74 Nov 20 21:16 all.c-
-rw-------. 1 nibbler nibbler 322 Dec 10 18:12 all.expected
-rw-------. 1 nibbler nibbler 2 Nov 21 11:33 all.in
-rw-r--r--. 1 nibbler nibbler 37 Dec 14 16:52 all.out
all.out ztmp7922.txt differ: char 1, line 1
all (Output DIFF)
> ERROR(5): Syntax error. Unexpected ';'.
Expecting id.
> ERROR(6): Syntax error. Unexpected '='.
> ERROR(7): Syntax error. Unexpected int.
> ERROR(8): Syntax error. Unexpected
number: 10.
> ERROR(8): Syntax error. Unexpected ']'.
Expecting ';'.
> Number of warnings: 0
> Number of errors: 5
------------------------------------ ------------------------
------------
====================================
FILE: allErrors.c-
./runExamples: line 11: 8098 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 2556 Nov 20 21:16 allErrors.c-
-rw-------. 1 nibbler nibbler 2547 Dec 10 18:12 allErrors.expected
-rw-------. 1 nibbler nibbler 2 Nov 21 11:33 allErrors.in
-rw-r--r--. 1 nibbler nibbler 141 Dec 14 16:52 allErrors.out
-rw-r--r--. 1 nibbler nibbler 4096 Dec 14 16:52 allErrors.tm
allErrors.out ztmp7922.txt differ: char 1, line 1
allErrors (Output DIFF)
> ERROR(7): Function 'dog' at line 3 is
expecting to retur
> ERROR(14): Function 'cat' at line 10 is
expecting to ret
> ERROR(17): Symbol 'cat' is already
defined at line 10.
> ERROR(26): Function 'ox' at line 24 is
expecting no retu
> WARNING(29): Expecting to return type
int but function '
> ERROR(36): Symbol 'x' is already defined
at line 35.
> ERROR(44): Symbol 'v' is not defined.
> ERROR(46): Expecting Boolean test
condition in if statem
> ERROR(47): Expecting Boolean test
condition in while sta
> ERROR(49): Cannot use function 'cat' as
a simple variabl
> ERROR(50): '=' requires operands of the
same type but lh
> ERROR(51): '+=' requires operands of
type int but rhs is
> ERROR(52): '-=' requires operands of
type int but lhs is
> ERROR(54): Cannot use array as test
condition in if stat
> ERROR(55): Cannot use array as test
condition in while s
> ERROR(57): Cannot have a break statement
outside of loop
> ERROR(61): The operation '+' does not
work with arrays.
> ERROR(63): '==' requires operands of the
same type but l
> ERROR(65): '+' requires operands of type
int but lhs is
> ERROR(67): '*' requires operands of type
int but rhs is
> ERROR(69): Unary 'not' requires an
operand of type bool
> ERROR(71): Cannot index nonarray 'x'.
> ERROR(73): Array 'aa' should be indexed
by type int but
> ERROR(75): Symbol 'xyzzy' is not defined.
> ERROR(76): Symbol 'meerkat' is not
defined.
> ERROR(78): 'x' is a simple variable and
cannot be called
> ERROR(80): Too many parameters passed
for function 'dog'
> ERROR(81): Too few parameters passed for
function 'ibex'
> ERROR(83): Expecting type int in
parameter 1 of call to
> ERROR(85): Not expecting array in
parameter 1 of call to
> ERROR(87): Expecting array in parameter
1 of call to 'ib
> ERROR(88): Cannot use function 'ibex' as
a simple variab
> ERROR(90): Cannot use function 'ibex' as
a simple variab
> ERROR(90): '+' requires operands of type
int but lhs is
> ERROR(93): Array index is the unindexed
array 'zz'.
> ERROR(95): Cannot return an array.
> Number of warnings: 1
> Number of errors: 35
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: allErrors.tm <
====================================
FILE: allErrors2.c-
./runExamples: line 11: 8107 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 2996 Nov 21 12:43 allErrors2.c-
-rw-------. 1 nibbler nibbler 8389 Dec 10 18:12 allErrors2.expected
-rw-------. 1 nibbler nibbler 2 Nov 21 11:33 allErrors2.in
-rw-r--r--. 1 nibbler nibbler 8334 Dec 14 16:52 allErrors2.out
-rw-r--r--. 1 nibbler nibbler 8192 Dec 14 16:52 allErrors2.tm
allErrors2.out ztmp7922.txt differ: char 8193, line 109
allErrors2 (Output DIFF)
ERROR(6): Function 'dog' at line 2 is expecting to retur ERROR(6):
Function 'dog' at line 2 is expecting to retur
ERROR(13): Function 'cat' at line 9 is expecting to retu ERROR(13):
Function 'cat' at line 9 is expecting to retu
ERROR(16): Symbol 'cat' is already defined at line 9. ERROR(16):
Symbol 'cat' is already defined at line 9.
ERROR(25): Function 'ox' at line 23 is expecting no retu ERROR(25):
Function 'ox' at line 23 is expecting no retu
WARNING(28): Expecting to return type int but function ' WARNING(28):
Expecting to return type int but function '
ERROR(44): Expecting Boolean test condition in if statem ERROR(44):
Expecting Boolean test condition in if statem
ERROR(45): Expecting Boolean test condition in while sta ERROR(45):
Expecting Boolean test condition in while sta
ERROR(47): Cannot use function 'cat' as a simple variabl ERROR(47):
Cannot use function 'cat' as a simple variabl
ERROR(48): '=' requires operands of the same type but lh ERROR(48): '='
requires operands of the same type but lh
ERROR(49): '+=' requires operands of type int but rhs is ERROR(49): '+='
requires operands of type int but rhs is
ERROR(50): '-=' requires operands of type int but lhs is ERROR(50): '-='
requires operands of type int but lhs is
ERROR(52): Cannot use array as test condition in if stat ERROR(52):
Cannot use array as test condition in if stat
ERROR(53): Cannot use array as test condition in while s ERROR(53):
Cannot use array as test condition in while s
ERROR(58): Cannot have a break statement outside of loop ERROR(58):
Cannot have a break statement outside of loop
ERROR(61): The operation '+' does not work with arrays. ERROR(61):
The operation '+' does not work with arrays.
ERROR(62): The operation '-' does not work with arrays. ERROR(62):
The operation '-' does not work with arrays.
ERROR(63): Unary 'not' requires an operand of type bool ERROR(63): Unary
'not' requires an operand of type bool
ERROR(63): The operation 'not' does not work with arrays ERROR(63): The
operation 'not' does not work with arrays
ERROR(65): '==' requires operands of the same type but l ERROR(65): '=='
requires operands of the same type but l
ERROR(67): '+' requires operands of type int but lhs is ERROR(67): '+'
requires operands of type int but lhs is
ERROR(69): '*' requires operands of type int but rhs is ERROR(69): '*'
requires operands of type int but rhs is
ERROR(71): Unary 'not' requires an operand of type bool ERROR(71): Unary
'not' requires an operand of type bool
ERROR(73): Cannot index nonarray 'x'. ERROR(73): Cannot index
nonarray 'x'.
ERROR(75): Array 'aa' should be indexed by type int but ERROR(75): Array
'aa' should be indexed by type int but
ERROR(77): Array index is the unindexed array 'zz'. ERROR(77): Array
index is the unindexed array 'zz'.
ERROR(79): Symbol 'xyzzy' is not defined. ERROR(79): Symbol '
xyzzy' is not defined.
ERROR(80): Symbol 'meerkat' is not defined. ERROR(80): Symbol '
meerkat' is not defined.
ERROR(82): 'x' is a simple variable and cannot be called ERROR(82): 'x'
is a simple variable and cannot be called
ERROR(84): Too many parameters passed for function 'dog' ERROR(84): Too
many parameters passed for function 'dog'
ERROR(85): Too few parameters passed for function 'ibex' ERROR(85): Too
few parameters passed for function 'ibex'
ERROR(87): Expecting type int in parameter 1 of call to ERROR(87):
Expecting type int in parameter 1 of call to
ERROR(89): Not expecting array in parameter 1 of call to ERROR(89): Not
expecting array in parameter 1 of call to
ERROR(90): Expecting type int in parameter 1 of call to ERROR(90):
Expecting type int in parameter 1 of call to
ERROR(92): Expecting array in parameter 1 of call to 'ib ERROR(92):
Expecting array in parameter 1 of call to 'ib
ERROR(93): Cannot use function 'ibex' as a simple variab ERROR(93):
Cannot use function 'ibex' as a simple variab
ERROR(95): Cannot use function 'ibex' as a simple variab ERROR(95):
Cannot use function 'ibex' as a simple variab
ERROR(95): '+' requires operands of type int but lhs is ERROR(95): '+'
requires operands of type int but lhs is
ERROR(97): The operation '*' only works with arrays. ERROR(97): The
operation '*' only works with arrays.
ERROR(99): '*' requires operands of type int but lhs is ERROR(99): '*'
requires operands of type int but lhs is
ERROR(99): The operation '*' does not work with arrays. ERROR(99):
The operation '*' does not work with arrays.
ERROR(99): '+' requires operands of type int but lhs is ERROR(99): '+'
requires operands of type int but lhs is
ERROR(99): The operation '*' only works with arrays. ERROR(99): The
operation '*' only works with arrays.
ERROR(99): The operation 'not' does not work with arrays ERROR(99): The
operation 'not' does not work with arrays
ERROR(99): Unary 'not' requires an operand of type bool ERROR(99): Unary
'not' requires an operand of type bool
ERROR(99): 'or' requires operands of type bool but lhs i ERROR(99): 'or'
requires operands of type bool but lhs i
ERROR(99): Cannot have a break statement outside of loop ERROR(99):
Cannot have a break statement outside of loop
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): 'and' requires operands of type bool but rhs ERROR(100): 'and
' requires operands of type bool but rhs
ERROR(102): Cannot return an array. ERROR(102): Cannot return
an array.
ERROR(107): Symbol 'main' is already defined at line 32. ERROR(107):
Symbol 'main' is already defined at line 32.
ERROR(121): '==' requires operands of the same type but ERROR(121): '=='
requires operands of the same type but
ERROR(126): '=' requires operands of the same type but l ERROR(126): '='
requires operands of the same type but l
ERROR(130): '!=' requires operands of the same type but ERROR(130): '!='
requires operands of the same type but
ERROR(136): Symbol 'z' is already defined at line 105. ERROR(136):
Symbol 'z' is already defined at line 105.
ERROR(138): Variable 'a' is of type int but is being ini ERROR(138):
Variable 'a' is of type int but is being ini
ERROR(138): Variable 'b' is of type int but is being ini ERROR(138):
Variable 'b' is of type int but is being ini
ERROR(138): Variable 'zz' is of type int but is being in ERROR(138):
Variable 'zz' is of type int but is being in
ERROR(140): Initializer for variable 'd' is not a consta ERROR(140):
Initializer for variable 'd' is not a consta
ERROR(141): '*' requires operands of type int but rhs is ERROR(141): '*'
requires operands of type int but rhs is
ERROR(142): Initializer for variable 'e' is not a consta ERROR(142):
Initializer for variable 'e' is not a consta
ERROR(143): Initializer for variable 'f' is not a consta ERROR(143):
Initializer for variable 'f' is not a consta
ERROR(145): Symbol 'main' is already defined at line 32. ERROR(145):
Symbol 'main' is already defined at line 32.
ERROR(158): '==' requires operands of the same type but ERROR(158): '=='
requires operands of the same type but
ERROR(164): '=' requires operands of the same type but l ERROR(164): '='
requires operands of the same type but l
ERROR(182): In foreach statement the variable to the lef ERROR(182): In
foreach statement the variable to the lef
ERROR(183): In foreach statement the variable to the lef ERROR(183): In
foreach statement the variable to the lef
ERROR(183): Foreach requires operands of 'in' be the sam ERROR(183):
Foreach requires operands of 'in' be the sam
ERROR(186): Foreach requires operands of 'in' be the sam ERROR(186):
Foreach requires operands of 'in' be the sam
ERROR(188): If not an array, foreach requires rhs of 'in ERROR(188): If
not an array, foreach requires rhs of 'in
ERROR(189): If not an array, foreach requires lhs of 'in ERROR(189): If
not an array, foreach requires lhs of 'in
ERROR(195): Initializer for nonarray variable 'w' of typ ERROR(195):
Initializer for nonarray variable 'w' of typ
ERROR(196): Variable 'u' is of type int but is being ini ERROR(196):
Variable 'u' is of type int but is being ini
ERROR(196): Initializer for nonarray variable 'u' of typ ERROR(196):
Initializer for nonarray variable 'u' of typ
ERROR(197): Array 't' must be of type char to be initial ERROR(197):
Array 't' must be of type char to be initial
ERROR(197): Initializer for array variable 't' must be a ERROR(197):
Initializer for array variable 't' must be a
ERROR(198): Initializer for array variable 's' must be a ERROR(198):
Initializer for array variable 's' must be a
ERROR(204): Symbol 'main' is already defined at line 32. ERROR(204):
Symbol 'main' is already defined at line 32.
ERROR(206): Initializer for variable 'x' is not a consta ERROR(206):
Initializer for variable 'x' is not a consta
ERROR(207): Initializer for nonarray variable 'c' of typ ERROR(207):
Initializer for nonarray variable 'c' of typ
ERROR(208): Initializer for array variable 'd' must be a ERROR(208):
Initializer for array variable 'd' must be a
ERROR(209): Variable 'e' is of type char but is being in ERROR(209):
Variable 'e' is of type char but is being in
ERROR(210): Initializer for array variable 'f' must be a ERROR(210):
Initializer for array variable 'f' must be a
ERROR(211): Array 'z' must be of type char to be initial ERROR(211):
Array 'z' must be of type char to be initial
ERROR(213): '=' requires that if one operand is an array ERROR(213): '='
requires that if one operand is an array
ERROR(214): '=' requires that if one operand is an array ERROR(214): '='
requires that if one operand is an array
ERROR(215): '=' requires operands of the same type but l ERROR(215): '='
requires operands of the same type but l
ERROR(216): '=' requires operands of the same type but l ERROR(216): '='
requires operands of the same type but l
ERROR(216): '=' requires that if one operand is an array ERROR(216): '='
requires that if one operand is an array
ERROR(217): '=' requires operands of the same type but l ERROR(217): '='
requires operands of the same type but l
ERROR(219): '==' requires operands of the same type but ERROR(219): '=='
requires operands of the same type but
ERROR(220): '>' requires operands of type char or type i ERROR(220): '>'
requires operands of type char or type i
ERROR(221): '>' requires operands of type char or type i ERROR(221): '>'
requires operands of type char or type i
ERROR(222): The operation '>' does not work with arrays. ERROR(222): The
operation '>' does not work with arrays.
ERROR(223): The operation '>' does not work with arrays. ERROR(223): The
operation '>' does not work with arrays.
ERROR(224): The operation '>' does not work with arrays. ERROR(224): The
operation '>' does not work with arrays.
ERROR(226): Unary '-' requires an operand of type int bu ERROR(226):
Unary '-' requires an operand of type int bu
ERROR(227): The operation '*' only works with arrays. ERROR(227): The
operation '*' only works with arrays.
ERROR(228): The operation '-' does not work with arrays. ERROR(228): The
operation '-' does not work with arrays.
ERROR(231): Unary '++' requires an operand of type int b ERROR(231):
Unary '++' requires an operand of type int b
ERROR(231): The operation '++' does not work with arrays ERROR(231): The
operation '++' does not work with arrays
ERROR(232): The operation '++' does not work with arrays ERROR(232): The
operation '++' does not work with arrays
ERROR(233): Unary '--' requires an operand of type int b ERROR(233):
Unary '--' requires an operand of type int b
ERROR(233): The operation '--' does not work with arrays ERROR(233): The
operation '--' does not work with arrays
ERROR(234): The operation '--' does not work with arrays ERROR(234): The
operation '--' does not work with arrays
WARNING(204): Expecting to return type int but function WARNING(204):
Expecting to return type int but function
ERROR(238): Symbol 'fred' is already defined at line 237 ERROR(238):
Symbol 'fred' is already defined at line 237
ERROR(240): Symbol 'fred' is already defined at line 239 ERROR(240):
Symbol 'fred' is already defined at line 239
ERROR(241): Symbol 'fred' is already defined at line 239 ERROR(241):
Symbol 'fred' is already defined at line 239
ERROR(242): Symbol 'fred' is a-------------------------- | ERROR(242):
Symbol 'fred' is already defined at line 239
| WARNING(238): Expecting to return type
int but function
Memory Configuration: Data Addresses: 0-9999 Instructio | Number of
warnings: 3
Loading file: allErrors2.tm | Number of errors: 107
> ------------------------------------
====================================
FILE: arglist.c-
./runExamples: line 11: 8116 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 190 Nov 20 21:16 arglist.c-
-rw-------. 1 nibbler nibbler 125 Dec 10 18:12 arglist.expected
-rw-r--r--. 1 nibbler nibbler 239 Dec 14 16:52 arglist.out
-rw-r--r--. 1 nibbler nibbler 0 Dec 14 16:52 arglist.tm
cmp: EOF on ztmp7922.txt
arglist (Output DIFF)
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 1 Number of errors: 1
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: arglist.tm <
Halted <
Bye. <
====================================
FILE: arglist2.c-
./runExamples: line 11: 8125 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 787 Nov 20 21:16 arglist2.c-
-rw-------. 1 nibbler nibbler 2940 Dec 10 18:12 arglist2.expected
-rw-r--r--. 1 nibbler nibbler 3055 Dec 14 16:52 arglist2.out
-rw-r--r--. 1 nibbler nibbler 12288 Dec 14 16:52 arglist2.tm
arglist2.out ztmp7922.txt differ: char 2692, line 32
arglist2 (Output DIFF)
ERROR(13): Too few parameters passed for function 'kate' ERROR(13): Too
few parameters passed for function 'kate'
ERROR(14): Too few parameters passed for function 'kate' ERROR(14): Too
few parameters passed for function 'kate'
ERROR(15): Too few parameters passed for function 'kate' ERROR(15): Too
few parameters passed for function 'kate'
ERROR(17): Too many parameters passed for function 'kate ERROR(17): Too
many parameters passed for function 'kate
ERROR(18): Too many parameters passed for function 'kate ERROR(18): Too
many parameters passed for function 'kate
ERROR(20): Expecting type int in parameter 1 of call to ERROR(20):
Expecting type int in parameter 1 of call to
ERROR(20): Expecting type bool in parameter 2 of call to ERROR(20):
Expecting type bool in parameter 2 of call to
ERROR(20): Not expecting array in parameter 2 of call to ERROR(20): Not
expecting array in parameter 2 of call to
ERROR(20): Expecting type int in parameter 3 of call to ERROR(20):
Expecting type int in parameter 3 of call to
ERROR(20): Expecting type bool in parameter 4 of call to ERROR(20):
Expecting type bool in parameter 4 of call to
ERROR(20): Expecting array in parameter 4 of call to 'ka ERROR(20):
Expecting array in parameter 4 of call to 'ka
ERROR(21): Not expecting array in parameter 1 of call to ERROR(21): Not
expecting array in parameter 1 of call to
ERROR(21): Not expecting array in parameter 2 of call to ERROR(21): Not
expecting array in parameter 2 of call to
ERROR(21): Expecting array in parameter 3 of call to 'ka ERROR(21):
Expecting array in parameter 3 of call to 'ka
ERROR(21): Expecting array in parameter 4 of call to 'ka ERROR(21):
Expecting array in parameter 4 of call to 'ka
ERROR(22): Expecting type int in parameter 1 of call to ERROR(22):
Expecting type int in parameter 1 of call to
ERROR(22): Not expecting array in parameter 1 of call to ERROR(22): Not
expecting array in parameter 1 of call to
ERROR(22): Expecting type bool in parameter 2 of call to ERROR(22):
Expecting type bool in parameter 2 of call to
ERROR(22): Expecting type int in parameter 3 of call to ERROR(22):
Expecting type int in parameter 3 of call to
ERROR(22): Expecting array in parameter 3 of call to 'ka ERROR(22):
Expecting array in parameter 3 of call to 'ka
ERROR(22): Expecting type bool in parameter 4 of call to ERROR(22):
Expecting type bool in parameter 4 of call to
ERROR(25): '+' requires operands of type int but rhs is ERROR(25): '+'
requires operands of type int but rhs is
ERROR(32): Function 'abbey' at line 30 is expecting to r ERROR(32):
Function 'abbey' at line 30 is expecting to r
ERROR(35): Symbol 'abbey' is already defined at line 30. ERROR(35):
Symbol 'abbey' is already defined at line 30.
ERROR(37): Function 'abbey' at line 35 is expecting to r ERROR(37):
Function 'abbey' at line 35 is expecting to r
ERROR(42): Function 'zena' at line 40 is expecting to re ERROR(42):
Function 'zena' at line 40 is expecting to re
ERROR(47): Function 'zeus' at line 45 is expecting to re ERROR(47):
Function 'zeus' at line 45 is expecting to re
ERROR(52): Function 'blackdog' at line 50 is expecting t ERROR(52):
Function 'blackdog' at line 50 is expecting t
ERROR(59): Cannot return an array. ERROR(59): Cannot return
an array.
ERROR(64): Function 'quaoar' at line 62 is expecting no ERROR(64):
Function 'quaoar' at line 62 is expecting no
ERROR(69): Function 'ixion' at line 67 is expecting no r ERROR(69):
Function 'ixion' at line 67 is expecting no r
ERROR(75): Cannot return an array. <
ERROR(75): Function 'varuna' at line 72 is expecting no ERROR(75):
Function 'varuna' at line 72 is expecting no
> ERROR(75): Cannot return an array.
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 34 Number of errors: 34
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: arglist2.tm <
Halted <
Bye. <
====================================
FILE: arglist3.c-
./runExamples: line 11: 8134 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 133 Nov 20 21:16 arglist3.c-
-rw-------. 1 nibbler nibbler 125 Dec 10 18:12 arglist3.expected
-rw-r--r--. 1 nibbler nibbler 240 Dec 14 16:52 arglist3.out
-rw-r--r--. 1 nibbler nibbler 0 Dec 14 16:52 arglist3.tm
cmp: EOF on ztmp7922.txt
arglist3 (Output DIFF)
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 1 Number of errors: 1
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: arglist3.tm <
Halted <
Bye. <
====================================
FILE: array.c-
-rw-------. 1 nibbler nibbler 534 Nov 20 21:16 array.c-
-rw-------. 1 nibbler nibbler 232 Dec 10 18:12 array.expected
-rw-r--r--. 1 nibbler nibbler 232 Dec 14 16:52 array.out
-rw-r--r--. 1 nibbler nibbler 27070 Dec 14 16:52 array.tm
array (Output OK)
====================================
FILE: array0.c-
-rw-------. 1 nibbler nibbler 545 Nov 20 21:16 array0.c-
-rw-------. 1 nibbler nibbler 245 Dec 10 18:12 array0.expected
-rw-r--r--. 1 nibbler nibbler 245 Dec 14 16:52 array0.out
-rw-r--r--. 1 nibbler nibbler 21519 Dec 14 16:52 array0.tm
array0 (Output OK)
====================================
FILE: array1.c-
-rw-------. 1 nibbler nibbler 173 Nov 20 21:16 array1.c-
-rw-------. 1 nibbler nibbler 197 Dec 10 18:12 array1.expected
-rw-r--r--. 1 nibbler nibbler 197 Dec 14 16:52 array1.out
-rw-r--r--. 1 nibbler nibbler 5303 Dec 14 16:52 array1.tm
array1 (Output OK)
====================================
FILE: array2.c-
-rw-------. 1 nibbler nibbler 154 Nov 20 21:16 array2.c-
-rw-------. 1 nibbler nibbler 200 Dec 10 18:12 array2.expected
-rw-r--r--. 1 nibbler nibbler 200 Dec 14 16:52 array2.out
-rw-r--r--. 1 nibbler nibbler 5058 Dec 14 16:52 array2.tm
array2 (Output OK)
====================================
FILE: arraysize.c-
-rw-------. 1 nibbler nibbler 509 Nov 20 21:16 arraysize.c-
-rw-------. 1 nibbler nibbler 259 Dec 10 18:12 arraysize.expected
-rw-r--r--. 1 nibbler nibbler 261 Dec 14 16:52 arraysize.out
-rw-r--r--. 1 nibbler nibbler 27579 Dec 14 16:52 arraysize.tm
arraysize.out ztmp7922.txt differ: char 201, line 8
arraysize (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: arraysize.tm Loading file: arraysize.tm
777 11 0 12 777 11 0 12
777 533 888 12 | 777 11 888 12
666 13 666 13
888 540 888 12 | 888 12 888 12
666 13 666 13
132 132
Halted Halted
Bye. Bye.
====================================
FILE: arraysizeold.c-
-rw-------. 1 nibbler nibbler 192 Nov 20 21:16 arraysizeold.c-
-rw-------. 1 nibbler nibbler 198 Dec 10 18:12 arraysizeold.expected
-rw-r--r--. 1 nibbler nibbler 198 Dec 14 16:52 arraysizeold.out
-rw-r--r--. 1 nibbler nibbler 7265 Dec 14 16:52 arraysizeold.tm
arraysizeold (Output OK)
====================================
FILE: assign.c-
./runExamples: line 11: 8192 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 608 Nov 21 12:38 assign.c-
-rw-------. 1 nibbler nibbler 1979 Dec 10 18:12 assign.expected
-rw-r--r--. 1 nibbler nibbler 150 Dec 14 16:52 assign.out
-rw-r--r--. 1 nibbler nibbler 4096 Dec 14 16:52 assign.tm
assign.out ztmp7922.txt differ: char 1, line 1
assign (Output DIFF)
> ERROR(19): '=' requires operands of the
same type but lh
> ERROR(19): '=' requires operands of the
same type but lh
> ERROR(20): '=' requires operands of the
same type but lh
> ERROR(20): '=' requires operands of the
same type but lh
> ERROR(21): Symbol 'p' is not defined.
> ERROR(21): Symbol 'q' is not defined.
> ERROR(21): Symbol 'r' is not defined.
> ERROR(22): '+=' requires operands of
type int but rhs is
> ERROR(25): Too many parameters passed
for function 'fred
> ERROR(25): '+' requires operands of type
int but rhs is
> ERROR(26): Symbol 'linda' is not defined.
> ERROR(27): Symbol 'linda' is not defined.
> ERROR(27): '+' requires operands of type
int but rhs is
> ERROR(31): The operation '+' does not
work with arrays.
> ERROR(32): The operation '+' does not
work with arrays.
> ERROR(32): '=' requires operands of the
same type but lh
> ERROR(33): 'and' requires operands of
type bool but lhs
> ERROR(33): 'and' requires operands of
type bool but rhs
> ERROR(33): The operation 'and' does not
work with arrays
> ERROR(33): '=' requires operands of the
same type but lh
> ERROR(34): The operation '+' does not
work with arrays.
> ERROR(34): Symbol 'xylophone' is not
defined.
> ERROR(37): '+' requires operands of type
int but lhs is
> ERROR(38): '+' requires operands of type
int but rhs is
> ERROR(39): '+' requires operands of type
int but rhs is
> ERROR(41): '+' requires operands of type
int but rhs is
> ERROR(42): Too many parameters passed
for function 'anni
> WARNING(12): Expecting to return type
int but function '
> Number of warnings: 1
> Number of errors: 27
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: assign.tm <
Halted <
Bye. <
====================================
FILE: assign1.c-
-rw-------. 1 nibbler nibbler 519 Nov 20 21:16 assign1.c-
-rw-------. 1 nibbler nibbler 233 Dec 10 18:12 assign1.expected
-rw-r--r--. 1 nibbler nibbler 233 Dec 14 16:52 assign1.out
-rw-r--r--. 1 nibbler nibbler 8807 Dec 14 16:52 assign1.tm
assign1 (Output OK)
====================================
FILE: assign2.c-
-rw-------. 1 nibbler nibbler 627 Nov 20 21:16 assign2.c-
-rw-------. 1 nibbler nibbler 233 Dec 10 18:12 assign2.expected
-rw-r--r--. 1 nibbler nibbler 233 Dec 14 16:52 assign2.out
-rw-r--r--. 1 nibbler nibbler 14748 Dec 14 16:52 assign2.tm
assign2 (Output OK)
====================================
FILE: assign3.c-
-rw-------. 1 nibbler nibbler 648 Nov 20 21:16 assign3.c-
-rw-------. 1 nibbler nibbler 245 Dec 10 18:12 assign3.expected
-rw-r--r--. 1 nibbler nibbler 245 Dec 14 16:52 assign3.out
-rw-r--r--. 1 nibbler nibbler 16031 Dec 14 16:52 assign3.tm
assign3 (Output OK)
====================================
FILE: assign4.c-
-rw-------. 1 nibbler nibbler 552 Nov 20 21:16 assign4.c-
-rw-------. 1 nibbler nibbler 245 Dec 10 18:12 assign4.expected
-rw-r--r--. 1 nibbler nibbler 245 Dec 14 16:52 assign4.out
-rw-r--r--. 1 nibbler nibbler 10758 Dec 14 16:52 assign4.tm
assign4 (Output OK)
====================================
FILE: assign5.c-
-rw-------. 1 nibbler nibbler 598 Nov 20 21:16 assign5.c-
-rw-------. 1 nibbler nibbler 297 Dec 10 18:12 assign5.expected
-rw-r--r--. 1 nibbler nibbler 297 Dec 14 16:52 assign5.out
-rw-r--r--. 1 nibbler nibbler 14781 Dec 14 16:52 assign5.tm
assign5 (Output OK)
====================================
FILE: assign6.c-
-rw-------. 1 nibbler nibbler 1624 Nov 21 11:59 assign6.c-
-rw-------. 1 nibbler nibbler 421 Dec 10 18:12 assign6.expected
-rw-r--r--. 1 nibbler nibbler 414 Dec 14 16:52 assign6.out
-rw-r--r--. 1 nibbler nibbler 29829 Dec 14 16:52 assign6.tm
assign6.out ztmp7922.txt differ: char 351, line 14
assign6 (Output DIFF)
WARNING(4): Expecting to return type int but function 'd WARNING(4):
Expecting to return type int but function 'd
Number of warnings: 1 Number of warnings: 1
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: assign6.tm Loading file: assign6.tm
777 1443 777 777 1443 777
777 1443 777 777 1443 777
777 1443 777 777 1443 777
777 1443 777 777 1443 777
777 1443 777 777 1443 777
777 1443 777 777 1443 777
0 0 0 | 777 1443 777
777 1443 777 777 1443 777
777 1443 777 777 1443 777
604506 604506
888 777 888 777
Halted Halted
Bye. Bye.
====================================
FILE: assigna.c-
-rw-------. 1 nibbler nibbler 443 Nov 20 21:16 assigna.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 18:12 assigna.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 assigna.out
-rw-r--r--. 1 nibbler nibbler 6614 Dec 14 16:52 assigna.tm
assigna (Output OK)
====================================
FILE: b01.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b01.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:39 b01.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 b01.out
-rw-r--r--. 1 nibbler nibbler 3140 Dec 14 16:52 b01.tm
b01 (Output OK)
====================================
FILE: b02.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b02.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 b02.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 b02.out
-rw-r--r--. 1 nibbler nibbler 3140 Dec 14 16:52 b02.tm
b02 (Output OK)
====================================
FILE: b03.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b03.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 b03.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 b03.out
-rw-r--r--. 1 nibbler nibbler 3114 Dec 14 16:52 b03.tm
b03.out ztmp7922.txt differ: char 179, line 7
b03 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: b03.tm Loading file: b03.tm
13 | 11
Halted Halted
Bye. Bye.
====================================
FILE: b04.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b04.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:39 b04.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 b04.out
-rw-r--r--. 1 nibbler nibbler 3140 Dec 14 16:52 b04.tm
b04 (Output OK)
====================================
FILE: b05.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b05.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 b05.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 b05.out
-rw-r--r--. 1 nibbler nibbler 3140 Dec 14 16:52 b05.tm
b05 (Output OK)
====================================
FILE: b06.c-
-rw-------. 1 nibbler nibbler 56 Dec 7 11:02 b06.c-
-rw-------. 1 nibbler nibbler 193 Dec 10 21:39 b06.expected
-rw-r--r--. 1 nibbler nibbler 193 Dec 14 16:52 b06.out
-rw-r--r--. 1 nibbler nibbler 3140 Dec 14 16:52 b06.tm
b06 (Output OK)
====================================
FILE: b07.c-
-rw-------. 1 nibbler nibbler 55 Dec 7 11:02 b07.c-
-rw-------. 1 nibbler nibbler 195 Dec 10 21:39 b07.expected
-rw-r--r--. 1 nibbler nibbler 195 Dec 14 16:52 b07.out
-rw-r--r--. 1 nibbler nibbler 3059 Dec 14 16:52 b07.tm
b07 (Output OK)
====================================
FILE: b08.c-
-rw-------. 1 nibbler nibbler 58 Dec 7 14:48 b08.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:39 b08.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 b08.out
-rw-r--r--. 1 nibbler nibbler 2997 Dec 14 16:52 b08.tm
b08.out ztmp7922.txt differ: char 178, line 7
b08 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: b08.tm Loading file: b08.tm
T | F
Halted Halted
Bye. Bye.
====================================
FILE: b09.c-
-rw-------. 1 nibbler nibbler 65 Dec 10 21:34 b09.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 b09.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 b09.out
-rw-r--r--. 1 nibbler nibbler 3165 Dec 14 16:52 b09.tm
b09 (Output OK)
====================================
FILE: b0a.c-
-rw-------. 1 nibbler nibbler 62 Dec 10 21:35 b0a.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 b0a.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 b0a.out
-rw-r--r--. 1 nibbler nibbler 3113 Dec 14 16:52 b0a.tm
b0a (Output OK)
====================================
FILE: b0b.c-
-rw-------. 1 nibbler nibbler 324 Dec 7 11:02 b0b.c-
-rw-------. 1 nibbler nibbler 210 Dec 10 21:40 b0b.expected
-rw-r--r--. 1 nibbler nibbler 210 Dec 14 16:52 b0b.out
-rw-r--r--. 1 nibbler nibbler 7010 Dec 14 16:52 b0b.tm
b0b.out ztmp7922.txt differ: char 182, line 7
b0b (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: b0b.tm Loading file: b0b.tm
F T F T F F F T F T | F T T T F F F T T F
Halted Halted
Bye. Bye.
====================================
FILE: basicAll.c-
./runExamples: line 11: 8349 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 5183 Nov 21 12:41 basicAll.c-
-rw-------. 1 nibbler nibbler 7386 Dec 10 18:12 basicAll.expected
-rw-r--r--. 1 nibbler nibbler 4248 Dec 14 16:52 basicAll.out
-rw-r--r--. 1 nibbler nibbler 12288 Dec 14 16:52 basicAll.tm
basicAll.out ztmp7922.txt differ: char 4097, line 62
basicAll (Output DIFF)
ERROR(16): Symbol 'cat' is not defined. ERROR(16): Symbol '
cat' is not defined.
ERROR(18): Function 'dog' at line 12 is expecting to ret ERROR(18):
Function 'dog' at line 12 is expecting to ret
ERROR(25): Function 'cat' at line 21 is expecting to ret ERROR(25):
Function 'cat' at line 21 is expecting to ret
ERROR(28): Symbol 'cat' is already defined at line 21. ERROR(28):
Symbol 'cat' is already defined at line 21.
ERROR(39): Function 'ox' at line 37 is expecting no retu ERROR(39):
Function 'ox' at line 37 is expecting no retu
WARNING(42): Expecting to return type int but function ' WARNING(42):
Expecting to return type int but function '
ERROR(53): Symbol 'x' is already defined at line 52. ERROR(53):
Symbol 'x' is already defined at line 52.
ERROR(54): Symbol 'x' is already defined at line 52. ERROR(54):
Symbol 'x' is already defined at line 52.
ERROR(62): Symbol 'v' is not defined. ERROR(62): Symbol 'v'
is not defined.
ERROR(64): Expecting Boolean test condition in if statem ERROR(64):
Expecting Boolean test condition in if statem
ERROR(65): Expecting Boolean test condition in while sta ERROR(65):
Expecting Boolean test condition in while sta
ERROR(66): Expecting Boolean test condition in while sta ERROR(66):
Expecting Boolean test condition in while sta
ERROR(68): Cannot use function 'cat' as a simple variabl ERROR(68):
Cannot use function 'cat' as a simple variabl
ERROR(69): '=' requires operands of the same type but lh ERROR(69): '='
requires operands of the same type but lh
ERROR(70): '+=' requires operands of type int but rhs is ERROR(70): '+='
requires operands of type int but rhs is
ERROR(71): '-=' requires operands of type int but lhs is ERROR(71): '-='
requires operands of type int but lhs is
ERROR(72): '>' requires operands of type char or type in ERROR(72): '>'
requires operands of type char or type in
ERROR(73): Unary '++' requires an operand of type int bu ERROR(73): Unary
'++' requires an operand of type int bu
ERROR(75): Cannot use array as test condition in if stat ERROR(75):
Cannot use array as test condition in if stat
ERROR(76): Cannot use array as test condition in while s ERROR(76):
Cannot use array as test condition in while s
ERROR(78): Cannot have a break statement outside of loop ERROR(78):
Cannot have a break statement outside of loop
ERROR(82): The operation '+' does not work with arrays. ERROR(82):
The operation '+' does not work with arrays.
ERROR(83): The operation '<' does not work with arrays. ERROR(83):
The operation '<' does not work with arrays.
ERROR(84): '<' requires operands of type char or type in ERROR(84): '<'
requires operands of type char or type in
ERROR(84): '<' requires operands of type char or type in ERROR(84): '<'
requires operands of type char or type in
ERROR(84): The operation '<' does not work with arrays. ERROR(84):
The operation '<' does not work with arrays.
ERROR(86): '==' requires operands of the same type but l ERROR(86): '=='
requires operands of the same type but l
ERROR(90): '+' requires operands of type int but lhs is ERROR(90): '+'
requires operands of type int but lhs is
ERROR(92): '*' requires operands of type int but rhs is ERROR(92): '*'
requires operands of type int but rhs is
ERROR(94): Unary 'not' requires an operand of type bool ERROR(94): Unary
'not' requires an operand of type bool
ERROR(95): '+' requires operands of type int but rhs is ERROR(95): '+'
requires operands of type int but rhs is
ERROR(95): Unary 'not' requires an operand of type bool ERROR(95): Unary
'not' requires an operand of type bool
ERROR(96): Unary '-' requires an operand of type int but ERROR(96): Unary
'-' requires an operand of type int but
ERROR(98): Cannot index nonarray 'x'. ERROR(98): Cannot index
nonarray 'x'.
ERROR(99): 'and' requires operands of type bool but lhs ERROR(99): 'and'
requires operands of type bool but lhs
ERROR(99): 'and' requires operands of type bool but rhs ERROR(99): 'and'
requires operands of type bool but rhs
ERROR(99): '*' requires operands of type int but rhs is ERROR(99): '*'
requires operands of type int but rhs is
ERROR(100): Symbol 'y' is not defined. ERROR(100): Symbol 'y'
is not defined.
ERROR(100): 'and' requires operands of type bool but lhs ERROR(100): 'and
' requires operands of type bool but lhs
ERROR(100): '*' requires operands of type int but rhs is ERROR(100): '*'
requires operands of type int but rhs is
ERROR(101): 'and' requires operands of type bool but lhs ERROR(101): 'and
' requires operands of type bool but lhs
ERROR(101): 'and' requires operands of type bool but rhs ERROR(101): 'and
' requires operands of type bool but rhs
ERROR(101): '*' requires operands of type int but rhs is ERROR(101): '*'
requires operands of type int but rhs is
ERROR(101): 'or' requires operands of type bool but rhs ERROR(101): 'or'
requires operands of type bool but rhs
ERROR(103): The operation '*' only works with arrays. ERROR(103): The
operation '*' only works with arrays.
ERROR(104): 'and' requires operands of type bool but lhs ERROR(104): 'and
' requires operands of type bool but lhs
ERROR(108): Array 'aa' should be indexed by type int but ERROR(108):
Array 'aa' should be indexed by type int but
ERROR(110): Cannot use function 'cat' as a simple variab ERROR(110):
Cannot use function 'cat' as a simple variab
ERROR(112): Array index is the unindexed array 'aa'. ERROR(112):
Array index is the unindexed array 'aa'.
ERROR(113): Symbol 'AA' is not defined. ERROR(113): Symbol '
AA' is not defined.
ERROR(115): Symbol 'meerkat' is not defined. ERROR(115): Symbol '
meerkat' is not defined.
ERROR(117): Symbol 'xyzzy' is not defined. ERROR(117): Symbol '
xyzzy' is not defined.
ERROR(118): Symbol 'meerkat' is not defined. ERROR(118): Symbol '
meerkat' is not defined.
ERROR(119): Symbol 'xyzzy' is not defined. ERROR(119): Symbol '
xyzzy' is not defined.
ERROR(119): 'and' requires operands of type bool but rhs ERROR(119): 'and
' requires operands of type bool but rhs
ERROR(121): Symbol 'flight' is not defined. ERROR(121): Symbol '
flight' is not defined.
ERROR(121): Unary 'not' requires an operand of type bool ERROR(121):
Unary 'not' requires an operand of type bool
ERROR(121): Unary '-' requires an operand of type int bu ERROR(121):
Unary '-' requires an operand of type int bu
ERROR(121): Symbol 'uu' is not defined. ERROR(121): Symbol '
uu' is not defined.
ERROR(121): Symbol 'y' is not defined. ERROR(121): Symbol 'y'
is not defined.
ERROR(121): '*' requires operands of type int but rhs is ERROR(121): '*'
requires operands of type int but rhs is
ERROR(123): 'x' is a simple variable and cannot be------ | ERROR(123):
'x' is a simple variable and cannot be calle
| ERROR(125): Too many parameters passed
for function 'dog
Memory Configuration: Data Addresses: 0-9999 Instructio | ERROR(126):
Too few parameters passed for function 'ibex
Loading file: basicAll.tm | ERROR(128): Expecting type
int in parameter 1 of call to
Halted | ERROR(130): Not expecting array in
parameter 1 of call t
Bye. | ERROR(132): Expecting array in
parameter 1 of call to 'i
> ERROR(133): Expecting type int in
parameter 1 of call to
> ERROR(134): Cannot use function 'ibex'
as a simple varia
> ERROR(136): Cannot use function 'ibex'
as a simple varia
> ERROR(136): '+' requires operands of
type int but lhs is
> ERROR(139): Array index is the unindexed
array 'zz'.
> ERROR(140): Expecting type int in
parameter 1 of call to
> ERROR(140): Array 'aa' should be indexed
by type int but
> ERROR(142): '=' requires operands of the
same type but l
> ERROR(143): '+' requires operands of
type int but rhs is
> ERROR(144): Expecting type int in
parameter 1 of call to
> ERROR(145): Expecting type int in
parameter 1 of call to
> ERROR(148): '=' requires operands of the
same type but l
> ERROR(149): '=' requires operands of the
same type but l
> ERROR(150): '=' requires operands of the
same type but l
> ERROR(150): '=' requires operands of the
same type but l
> ERROR(150): '=' requires operands of the
same type but l
> ERROR(152): '*' requires operands of
type int but rhs is
> ERROR(152): '*' requires operands of
type int but lhs is
> ERROR(152): 'and' requires operands of
type bool but lhs
> ERROR(152): 'and' requires operands of
type bool but rhs
> ERROR(154): '+' requires operands of
type int but rhs is
> ERROR(154): Symbol 'parrot' is not
defined.
> ERROR(154): 'and' requires operands of
type bool but rhs
> ERROR(154): Expecting type int in
parameter 3 of call to
> ERROR(155): Expecting type int in
parameter 1 of call to
> ERROR(155): '+' requires operands of
type int but rhs is
> ERROR(155): Symbol 'parrot' is not
defined.
> ERROR(155): 'and' requires operands of
type bool but rhs
> ERROR(155): Expecting type int in
parameter 3 of call to
> ERROR(155): 'and' requires operands of
type bool but rhs
> ERROR(155): Expecting type int in
parameter 2 of call to
> ERROR(155): Expecting type int in
parameter 3 of call to
> ERROR(155): Too many parameters passed
for function 'emu
> ERROR(155): '*' requires operands of
type int but rhs is
> ERROR(157): Cannot return an array.
> Number of warnings: 1
> Number of errors: 101
> ------------------------------------
====================================
FILE: battleship.c-
-rw-------. 1 nibbler nibbler 4582 Nov 20 21:16 battleship.c-
-rw-------. 1 nibbler nibbler 2735 Dec 10 18:12 battleship.expected
-rw-------. 1 nibbler nibbler 51 Nov 21 11:33 battleship.in
-rw-r--r--. 1 nibbler nibbler 11732 Dec 14 16:52 battleship.out
-rw-r--r--. 1 nibbler nibbler 36973 Dec 14 16:52 battleship.tm
battleship.out ztmp7922.txt differ: char 199, line 9
battleship (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: battleship.tm Loading file: battleship.tm
entered: 311 entered: 311
| 10
| 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 34
>
>
> 9
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 0 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 45
>
>
> 8
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 0 4 4 4 4 4
> 4 4 4 4 4 0 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 56
>
>
> 7
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 0 4 4 4 4 4
> 4 4 4 4 4 0 4 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 11
>
>
> 6
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 0 4 4 4 4 4
> 4 4 4 4 4 0 4 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 22
>
>
> 5
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 0 4 4 4 4 4 4 4
> 4 4 4 4 0 4 4 4 4 4
> 4 4 4 4 4 0 4 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 33
>
>
> 4
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 0 4 4 4 4 4 4 4
> 4 4 4 0 0 4 4 4 4 4
> 4 4 4 4 4 0 4 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 44
>
>
> 3
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 0 4 4 4 4 4 4 4
> 4 4 4 0 0 4 4 4 4 4
> 4 4 4 4 0 0 4 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 55
>
>
> 2
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 0 4 4 4 4 4 4 4
> 4 4 4 0 0 4 4 4 4 4
> 4 4 4 4 0 0 4 4 4 4
> 4 4 4 4 4 0 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 66
>
>
> 1
> 4 4 4 4 4 4 4 4 4 4
> 4 0 4 4 4 4 4 4 4 4
> 4 4 0 4 4 4 4 4 4 4
> 4 4 4 0 0 4 4 4 4 4
> 4 4 4 4 0 0 4 4 4 4
> 4 4 4 4 4 0 0 4 4 4
> 4 4 4 4 4 4 0 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> 4 4 4 4 4 4 4 4 4 4
> entered: 77
>
>
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> 2 2 2 2 2 2 2 2 2 2
> 2 0 2 2 2 2 2 2 2 2
> 2 2 0 2 2 2 2 2 2 2
> 2 2 2 0 0 2 2 2 2 2
> 2 2 2 2 0 0 2 2 2 2
> 2 2 2 2 2 0 0 2 2 2
> 2 2 2 2 2 2 0 2 7 2
> 2 2 2 2 2 2 2 0 7 2
> 2 2 2 2 2 2 2 2 7 2
> 2 2 2 2 2 2 2 2 7 2
Halted Halted
Command 3 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 4 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 5 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 1 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 2 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 3 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 4 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 5 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 6 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Command 7 unknown. <
<
Commands are: <
b(reakpoint <> Set a breakpoint for instr n. No n m <
c(lear Reset simulator for new execution of <
d(Mem > Print n dMem locations (counting down <
e(xecStats Print execution statistics since last <
g(o Execute TM instructions until HALT <
i(Mem > Print n iMem locations (counting up) <
l(oad filename Load filename into memory (default is <
p(rint Toggle printing of total number instr <
q(uit Terminate the simulation <
r(egs Print the contents of the registers <
s(tep Execute n (default 1) TM instructions <
t(race Toggle instruction tracing (printing) <
u(nprompt) Unprompted for script input <
x(it Terminate the simulation <
= Set register number r to value n (e.g <
< Set dMem at addr to value <
(empty line does a step) <
Also a # character placed after input will cause TM to h <
Bye. Bye.
====================================
FILE: break.c-
./runExamples: line 11: 8367 Segmentation fault ../c- $file.c- > $file
.out
-rw-------. 1 nibbler nibbler 360 Nov 20 21:16 break.c-
-rw-------. 1 nibbler nibbler 397 Dec 10 18:12 break.expected
-rw-r--r--. 1 nibbler nibbler 509 Dec 14 16:52 break.out
-rw-r--r--. 1 nibbler nibbler 4096 Dec 14 16:52 break.tm
break.out ztmp7922.txt differ: char 12, line 1
break (Output DIFF)
ERROR(20): Cannot have a break statement outside of loop <
ERROR(20): Expecting Boolean test condition in if statem ERROR(20):
Expecting Boolean test condition in if statem
ERROR(22): Cannot have a break statement outside of loop | ERROR(20):
Cannot have a break statement outside of loop
ERROR(21): Expecting Boolean test condition in if statem ERROR(21):
Expecting Boolean test condition in if statem
> ERROR(22): Cannot have a break statement
outside of loop
ERROR(LINKER): Procedure main is not defined. ERROR(LINKER):
Procedure main is not defined.
Number of warnings: 0 Number of warnings: 0
Number of errors: 5 Number of errors: 5
------------------------------------ ------------------------
------------
<
Memory Configuration: Data Addresses: 0-9999 Instructio <
Loading file: break.tm <
Halted <
Bye. <
====================================
FILE: break2.c-
-rw-------. 1 nibbler nibbler 317 Nov 20 21:16 break2.c-
-rw-------. 1 nibbler nibbler 222 Dec 10 18:12 break2.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 break2.out
-rw-r--r--. 1 nibbler nibbler 5989 Dec 14 16:52 break2.tm
break2.out ztmp7922.txt differ: char 181, line 7
break2 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: break2.tm Loading file: break2.tm
> 0 0
> 0 1
> 0 2
> 0 3
> 0 4
> 0 5
Halted Halted
Bye. Bye.
====================================
FILE: c01.c-
-rw-------. 1 nibbler nibbler 100 Dec 7 11:02 c01.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c01.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c01.out
-rw-r--r--. 1 nibbler nibbler 3371 Dec 14 16:52 c01.tm
c01 (Output OK)
====================================
FILE: c02.c-
-rw-------. 1 nibbler nibbler 111 Dec 7 11:02 c02.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 c02.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 c02.out
-rw-r--r--. 1 nibbler nibbler 3395 Dec 14 16:52 c02.tm
c02 (Output OK)
====================================
FILE: c03.c-
-rw-------. 1 nibbler nibbler 103 Dec 7 11:02 c03.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 c03.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 c03.out
-rw-r--r--. 1 nibbler nibbler 3394 Dec 14 16:52 c03.tm
c03 (Output OK)
====================================
FILE: c04.c-
-rw-------. 1 nibbler nibbler 92 Dec 7 11:02 c04.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c04.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c04.out
-rw-r--r--. 1 nibbler nibbler 3370 Dec 14 16:52 c04.tm
c04 (Output OK)
====================================
FILE: c05.c-
-rw-------. 1 nibbler nibbler 110 Dec 7 11:02 c05.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c05.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c05.out
-rw-r--r--. 1 nibbler nibbler 4440 Dec 14 16:52 c05.tm
c05 (Output OK)
====================================
FILE: c06.c-
-rw-------. 1 nibbler nibbler 118 Dec 7 11:02 c06.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c06.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c06.out
-rw-r--r--. 1 nibbler nibbler 4232 Dec 14 16:52 c06.tm
c06 (Output OK)
====================================
FILE: c07.c-
-rw-------. 1 nibbler nibbler 128 Dec 7 11:02 c07.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 c07.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 c07.out
-rw-r--r--. 1 nibbler nibbler 4204 Dec 14 16:52 c07.tm
c07.out ztmp7922.txt differ: char 178, line 7
c07 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c07.tm Loading file: c07.tm
F | T
Halted Halted
Bye. Bye.
====================================
FILE: c08.c-
-rw-------. 1 nibbler nibbler 120 Dec 7 11:02 c08.c-
-rw-------. 1 nibbler nibbler 192 Dec 10 21:40 c08.expected
-rw-r--r--. 1 nibbler nibbler 192 Dec 14 16:52 c08.out
-rw-r--r--. 1 nibbler nibbler 4412 Dec 14 16:52 c08.tm
c08.out ztmp7922.txt differ: char 178, line 7
c08 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c08.tm Loading file: c08.tm
F | T
Halted Halted
Bye. Bye.
====================================
FILE: c09.c-
-rw-------. 1 nibbler nibbler 130 Dec 7 11:02 c09.c-
-rw-------. 1 nibbler nibbler 200 Dec 10 21:40 c09.expected
-rw-r--r--. 1 nibbler nibbler 200 Dec 14 16:52 c09.out
-rw-r--r--. 1 nibbler nibbler 3938 Dec 14 16:52 c09.tm
c09 (Output OK)
====================================
FILE: c0a.c-
-rw-------. 1 nibbler nibbler 116 Dec 7 11:02 c0a.c-
-rw-------. 1 nibbler nibbler 200 Dec 10 21:40 c0a.expected
-rw-r--r--. 1 nibbler nibbler 200 Dec 14 16:52 c0a.out
-rw-r--r--. 1 nibbler nibbler 3863 Dec 14 16:52 c0a.tm
c0a (Output OK)
====================================
FILE: c0b.c-
-rw-------. 1 nibbler nibbler 95 Dec 7 11:02 c0b.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c0b.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c0b.out
-rw-r--r--. 1 nibbler nibbler 3304 Dec 14 16:52 c0b.tm
c0b (Output OK)
====================================
FILE: c0c.c-
-rw-------. 1 nibbler nibbler 119 Dec 7 11:02 c0c.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c0c.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c0c.out
-rw-r--r--. 1 nibbler nibbler 3382 Dec 14 16:52 c0c.tm
c0c (Output OK)
====================================
FILE: c0c2.c-
-rw-------. 1 nibbler nibbler 203 Dec 7 14:39 c0c2.c-
-rw-------. 1 nibbler nibbler 197 Dec 10 21:40 c0c2.expected
-rw-r--r--. 1 nibbler nibbler 197 Dec 14 16:52 c0c2.out
-rw-r--r--. 1 nibbler nibbler 4913 Dec 14 16:52 c0c2.tm
c0c2.out ztmp7922.txt differ: char 179, line 7
c0c2 (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c0c2.tm Loading file: c0c2.tm
bbbbbb | ABBBBB
Halted Halted
Bye. Bye.
====================================
FILE: c0d.c-
-rw-------. 1 nibbler nibbler 134 Dec 7 11:02 c0d.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c0d.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c0d.out
-rw-r--r--. 1 nibbler nibbler 3661 Dec 14 16:52 c0d.tm
c0d (Output OK)
====================================
FILE: c0e.c-
-rw-------. 1 nibbler nibbler 166 Dec 7 11:02 c0e.c-
-rw-------. 1 nibbler nibbler 213 Dec 10 21:40 c0e.expected
-rw-r--r--. 1 nibbler nibbler 213 Dec 14 16:52 c0e.out
-rw-r--r--. 1 nibbler nibbler 5077 Dec 14 16:52 c0e.tm
c0e (Output OK)
====================================
FILE: c0f.c-
-rw-------. 1 nibbler nibbler 184 Dec 7 11:02 c0f.c-
-rw-------. 1 nibbler nibbler 213 Dec 10 21:40 c0f.expected
-rw-r--r--. 1 nibbler nibbler 207 Dec 14 16:52 c0f.out
-rw-r--r--. 1 nibbler nibbler 6007 Dec 14 16:52 c0f.tm
c0f.out ztmp7922.txt differ: char 179, line 7
c0f (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c0f.tm Loading file: c0f.tm
1 | 1024
> 1024
1023 1023
0 <
1023 1023
Halted Halted
Bye. Bye.
====================================
FILE: c0g.c-
-rw-------. 1 nibbler nibbler 179 Dec 7 11:02 c0g.c-
-rw-------. 1 nibbler nibbler 213 Dec 10 21:40 c0g.expected
-rw-r--r--. 1 nibbler nibbler 207 Dec 14 16:52 c0g.out
-rw-r--r--. 1 nibbler nibbler 9861 Dec 14 16:52 c0g.tm
c0g.out ztmp7922.txt differ: char 179, line 7
c0g (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c0g.tm Loading file: c0g.tm
1 | 1024
> 1024
1023 1023
0 <
1023 1023
Halted Halted
Bye. Bye.
====================================
FILE: c0h.c-
-rw-------. 1 nibbler nibbler 233 Dec 7 11:02 c0h.c-
-rw-------. 1 nibbler nibbler 218 Dec 10 21:40 c0h.expected
-rw-r--r--. 1 nibbler nibbler 215 Dec 14 16:52 c0h.out
-rw-r--r--. 1 nibbler nibbler 7150 Dec 14 16:52 c0h.tm
c0h.out ztmp7922.txt differ: char 178, line 7
c0h (Output DIFF)
Number of warnings: 0 Number of warnings: 0
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: c0h.tm Loading file: c0h.tm
9997 | 1024
0 | 1024
9996 | 1023
1023 1023
1023 Halted 1023 Halted
Bye. Bye.
====================================
FILE: c13.c-
-rw-------. 1 nibbler nibbler 605 Dec 7 11:02 c13.c-
-rw-------. 1 nibbler nibbler 228 Dec 10 21:40 c13.expected
-rw-r--r--. 1 nibbler nibbler 228 Dec 14 16:52 c13.out
-rw-r--r--. 1 nibbler nibbler 17854 Dec 14 16:52 c13.tm
c13 (Output OK)
====================================
FILE: c14.c-
-rw-------. 1 nibbler nibbler 159 Dec 7 11:02 c14.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c14.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c14.out
-rw-r--r--. 1 nibbler nibbler 4475 Dec 14 16:52 c14.tm
c14 (Output OK)
====================================
FILE: c15.c-
-rw-------. 1 nibbler nibbler 152 Dec 7 11:02 c15.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c15.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c15.out
-rw-r--r--. 1 nibbler nibbler 4677 Dec 14 16:52 c15.tm
c15 (Output OK)
====================================
FILE: c16.c-
-rw-------. 1 nibbler nibbler 168 Dec 7 11:02 c16.c-
-rw-------. 1 nibbler nibbler 194 Dec 10 21:40 c16.expected
-rw-r--r--. 1 nibbler nibbler 194 Dec 14 16:52 c16.out
-rw-r--r--. 1 nibbler nibbler 5107 Dec 14 16:52 c16.tm
c16 (Output OK)
====================================
FILE: c17.c-
-rw-------. 1 nibbler nibbler 160 Dec 7 11:02 c17.c-
-rw-------. 1 nibbler nibbler 199 Dec 10 21:40 c17.expected
-rw-r--r--. 1 nibbler nibbler 199 Dec 14 16:52 c17.out
-rw-r--r--. 1 nibbler nibbler 5689 Dec 14 16:52 c17.tm
c17 (Output OK)
====================================
FILE: c18.c-
-rw-------. 1 nibbler nibbler 168 Dec 7 11:02 c18.c-
-rw-------. 1 nibbler nibbler 199 Dec 10 21:40 c18.expected
-rw-r--r--. 1 nibbler nibbler 199 Dec 14 16:52 c18.out
-rw-r--r--. 1 nibbler nibbler 5492 Dec 14 16:52 c18.tm
c18 (Output OK)
====================================
FILE: call.c-
-rw-------. 1 nibbler nibbler 1380 Nov 20 21:16 call.c-
-rw-------. 1 nibbler nibbler 556 Dec 10 18:12 call.expected
-rw-r--r--. 1 nibbler nibbler 535 Dec 14 16:52 call.out
-rw-r--r--. 1 nibbler nibbler 46731 Dec 14 16:52 call.tm
call.out ztmp7922.txt differ: char 458, line 11
call (Output DIFF)
WARNING(3): Expecting to return type int but function 's WARNING(3):
Expecting to return type int but function 's
WARNING(9): Expecting to return type int but function 's WARNING(9):
Expecting to return type int but function 's
WARNING(20): Expecting to return type int but function ' WARNING(20):
Expecting to return type int but function '
Number of warnings: 3 Number of warnings: 3
Number of errors: 0 Number of errors: 0
------------------------------------ ------------------------
------------
Memory Configuration: Data Addresses: 0-9999 Instructio Memory
Configuration: Data Addresses: 0-9999 Instructio
Loading file: call.tm Loading file: call.tm
111 111
| 0 1 2 3 4 5 6 333 8 9
T T
111 111
0 T 0 T
0 12321 0 12321
110889 110889
443556 443556
603729 603729
24975 24975
333
d**********o
发帖数: 1321
323
简化数据
261个test文件:
完全正确的测试文件117个,占44.8%;
完全没做的测试文件 19个,占 7.3%;
其余半对的不对的,我自己也没时间去数
就让同专业的小伙伴们帮忙来数、来作鉴定、指导我吧。
compiler框架搭起来,多少也该给些分的吧~~
我不认为难,但我真的是没有足够的时间,实在是写不完这牛毛一样多的测试~~ *_^
上一贴最后总结部分重贴如下(不同专业的读者可以完全忽略上一贴):
a00 (Output OK) a00 (Output OK)
a001 (Output OK) a001 (Output OK)
a002 (Output OK) a002 (Output OK)
a009 (Output OK) a009 (Output OK)
a01 (Output OK) a01 (Output OK)
a02 (Output OK) a02 (Output OK)
a03 (Output OK) a03 (Output OK)
a04 (Output OK) a04 (Output OK)
a045 (Output DIFF) | a045 (Output OK)
a05 (Output OK) a05 (Output OK)
a06 (Output OK) a06 (Output OK)
a07 (Output OK) a07 (Output OK)
a08 (Output OK) a08 (Output OK)
a09 (Output DIFF) | a09 (Output OK)
aamain (Output OK) aamain (Output OK)
aamain2 (Output OK) aamain2 (Output OK)
aamain3 (Output DIFF) | aamain3 (
Output OK)
aamain4 (Output OK) aamain4 (Output OK)
aamain5 (Output DIFF) | aamain5 (
Output OK)
aasmaller (Output DIFF) | aasmaller
(Output OK)
all (Output DIFF) | all (Output OK)
allErrors (Output DIFF) | allErrors
(Output OK)
allErrors2 (Output DIFF) | allErrors2 (
Output OK)
arglist (Output DIFF) | arglist (
Output OK)
arglist2 (Output DIFF) | arglist2 (
Output OK)
arglist3 (Output DIFF) | arglist3 (
Output OK)
array (Output OK) array (Output OK)
array0 (Output OK) array0 (Output OK)
array1 (Output OK) array1 (Output OK)
array2 (Output OK) array2 (Output OK)
arraysize (Output DIFF) | arraysize
(Output OK)
arraysizeold (Output OK) arraysizeold (Output
OK)
assign (Output DIFF) | assign (
Output OK)
assign1 (Output OK) assign1 (Output OK)
assign2 (Output OK) assign2 (Output OK)
assign3 (Output OK) assign3 (Output OK)
assign4 (Output OK) assign4 (Output OK)
assign5 (Output OK) assign5 (Output OK)
assign6 (Output DIFF) | assign6 (
Output OK)
assigna (Output OK) assigna (Output OK)
b01 (Output OK) b01 (Output OK)
b02 (Output OK) b02 (Output OK)
b03 (Output DIFF) | b03 (Output OK)
b04 (Output OK) b04 (Output OK)
b05 (Output OK) b05 (Output OK)
b06 (Output OK) b06 (Output OK)
b07 (Output OK) b07 (Output OK)
b08 (Output DIFF) | b08 (Output OK)
b09 (Output OK) b09 (Output OK)
b0a (Output OK) b0a (Output OK)
b0b (Output DIFF) | b0b (Output OK)
basicAll (Output DIFF) | basicAll (
Output OK)
battleship (Output DIFF) | battleship (
Output OK)
break (Output DIFF) | break (Output
OK)
break2 (Output DIFF) | break2 (
Output OK)
c01 (Output OK) c01 (Output OK)
c02 (Output OK) c02 (Output OK)
c03 (Output OK) c03 (Output OK)
c04 (Output OK) c04 (Output OK)
c05 (Output OK) c05 (Output OK)
c06 (Output OK) c06 (Output OK)
c07 (Output DIFF) | c07 (Output OK)
c08 (Output DIFF) | c08 (Output OK)
c09 (Output OK) c09 (Output OK)
c0a (Output OK) c0a (Output OK)
c0b (Output OK) c0b (Output OK)
c0c (Output OK) c0c (Output OK)
c0c2 (Output DIFF) | c0c2 (Output OK)
c0d (Output OK) c0d (Output OK)
c0e (Output OK) c0e (Output OK)
c0f (Output DIFF) | c0f (Output OK)
c0g (Output DIFF) | c0g (Output OK)
c0h (Output DIFF) | c0h (Output OK)
c13 (Output OK) c13 (Output OK)
c14 (Output OK) c14 (Output OK)
c15 (Output OK) c15 (Output OK)
c16 (Output OK) c16 (Output OK)
c17 (Output OK) c17 (Output OK)
c18 (Output OK) c18 (Output OK)
call (Output DIFF) | call (Output OK)
call2 (Output DIFF) | call2 (Output
OK)
call5 (Output OK) call5 (Output OK)
charout (Output DIFF) | charout (
Output OK)
comb (Output DIFF) | comb (Output OK)
combslow (Output DIFF) | combslow (
Output OK)
compare (Output DIFF) | compare (
Output OK)
compound (Output DIFF) | compound (
Output OK)
control (Output OK) control (Output OK)
control2 (Output DIFF) | control2 (
Output OK)
d01 (Output DIFF) | d01 (Output OK)
d015 (Output DIFF) | d015 (Output OK)
d02 (Output DIFF) | d02 (Output OK)
d03 (Output DIFF) | d03 (Output OK)
d04 (Output DIFF) | d04 (Output OK)
d045 (Output DIFF) | d045 (Output OK)
d05 (Output DIFF) | d05 (Output OK)
e (Output OK) e (Output OK)
e01 (Output DIFF) | e01 (Output OK)
e02 (Output DIFF) | e02 (Output OK)
e03 (Output DIFF) | e03 (Output OK)
e04 (Output OK) e04 (Output OK)
e05 (Output DIFF) | e05 (Output OK)
e06 (Output DIFF) | e06 (Output OK)
e07 (Output DIFF) | e07 (Output OK)
e08 (Output DIFF) | e08 (Output OK)
e09 (Output DIFF) | e09 (Output OK)
e0a (Output DIFF) | e0a (Output OK)
e0b (Output DIFF) | e0b (Output OK)
e0c (Output DIFF) | e0c (Output OK)
e0d (Output DIFF) | e0d (Output OK)
errors (Output DIFF) | errors (
Output OK)
errors2 (Output DIFF) | errors2 (
Output OK)
errors3 (Output DIFF) | errors3 (
Output OK)
errors4 (Output DIFF) | errors4 (
Output OK)
everything (Output OK) everything (Output
OK)
everythingUndef (Output DIFF) |
everythingUndef (Output OK)
example (Output OK) example (Output OK)
exampleScope (Output OK) exampleScope (Output
OK)
examplearray (Output OK) examplearray (Output
OK)
examplearray2 (Output OK) examplearray2 (
Output OK)
examplearray3 (Output DIFF) |
examplearray3 (Output OK)
exampleif (Output OK) exampleif (Output
OK)
exampleinit (Output OK) exampleinit (
Output OK)
examplestatic (Output OK) examplestatic (
Output OK)
examplewhile (Output OK) examplewhile (Output
OK)
exp (Output DIFF) | exp (Output OK)
exp2 (Output DIFF) | exp2 (Output OK)
exp3 (Output OK) exp3 (Output OK)
f01 (Output OK) f01 (Output OK)
f02 (Output OK) f02 (Output OK)
f03 (Output OK) f03 (Output OK)
f04 (Output OK) f04 (Output OK)
f05 (Output OK) f05 (Output OK)
f06 (Output OK) f06 (Output OK)
f07 (Output OK) f07 (Output OK)
f08 (Output OK) f08 (Output OK)
f09 (Output OK) f09 (Output OK)
f0a (Output OK) f0a (Output OK)
f0b (Output OK) f0b (Output OK)
f0c (Output OK) f0c (Output OK)
f0d (Output OK) f0d (Output OK)
factor (Output DIFF) | factor (
Output OK)
factorial (Output DIFF) | factorial
(Output OK)
factorial2 (Output DIFF) | factorial2 (
Output OK)
factorialr (Output DIFF) | factorialr (
Output OK)
fractal (Output DIFF) | fractal (
Output OK)
func (Output DIFF) | func (Output OK)
funcaa (Output OK) funcaa (Output OK)
funcdef (Output DIFF) | funcdef (
Output OK)
g00 (Output OK) g00 (Output OK)
g01 (Output OK) g01 (Output OK)
g02 (Output OK) g02 (Output OK)
g03 (Output OK) g03 (Output OK)
g04 (Output OK) g04 (Output OK)
g05 (Output OK) g05 (Output OK)
g06 (Output OK) g06 (Output OK)
g07 (Output OK) g07 (Output OK)
g08 (Output OK) g08 (Output OK)
g09 (Output DIFF) | g09 (Output OK)
g0a (Output OK) g0a (Output OK)
g0b (Output OK) g0b (Output OK)
g0c (Output OK) g0c (Output OK)
g0d (Output OK) g0d (Output OK)
g0e (Output DIFF) | g0e (Output OK)
g0f (Output DIFF) | g0f (Output OK)
gcd (Output DIFF) | gcd (Output OK)
gcdsm (Output DIFF) | gcdsm (Output
OK)
global (Output OK) global (Output OK)
globalArray (Output OK) globalArray (
Output OK)
globals (Output DIFF) | globals (
Output OK)
h01 (Output DIFF) | h01 (Output OK)
h02 (Output DIFF) | h02 (Output OK)
h03 (Output DIFF) | h03 (Output OK)
h04 (Output DIFF) | h04 (Output OK)
h05 (Output DIFF) | h05 (Output OK)
h06 (Output DIFF) | h06 (Output OK)
h07 (Output DIFF) | h07 (Output OK)
i00 (Output OK) i00 (Output OK)
i01 (Output DIFF) | i01 (Output OK)
i02 (Output DIFF) | i02 (Output OK)
i03 (Output OK) i03 (Output OK)
i04 (Output OK) i04 (Output OK)
i05 (Output OK) i05 (Output OK)
i06 (Output DIFF) | i06 (Output OK)
i07 (Output DIFF) | i07 (Output OK)
i08 (Output OK) i08 (Output OK)
i09 (Output OK) i09 (Output OK)
i0a (Output DIFF) | i0a (Output OK)
i0b (Output OK) i0b (Output OK)
i0c (Output DIFF) | i0c (Output OK)
if (Output OK) if (Output OK)
inc (Output DIFF) | inc (Output OK)
init (Output DIFF) | init (Output OK)
io (Output OK) io (Output OK)
j00 (Output DIFF) | j00 (Output OK)
local (Output OK) local (Output OK)
localArray (Output OK) localArray (Output
OK)
logic (Output DIFF) | logic (Output
OK)
logic2 (Output DIFF) | logic2 (
Output OK)
loop (Output OK) loop (Output OK)
main (Output OK) main (Output OK)
main2 (Output OK) main2 (Output OK)
main3 (Output DIFF) | main3 (Output
OK)
main4 (Output OK) main4 (Output OK)
main5 (Output DIFF) | main5 (Output
OK)
massign (Output OK) massign (Output OK)
mastermind (Output DIFF) | mastermind (
Output OK)
mem (Output OK) mem (Output OK)
miller (Output DIFF) | miller (
Output OK)
minesweeper (Output DIFF) | minesweeper
(Output OK)
mod (Output DIFF) | mod (Output OK)
negTest (Output DIFF) | negTest (
Output OK)
nest (Output DIFF) | nest (Output OK)
op1 (Output DIFF) | op1 (Output OK)
ops (Output DIFF) | ops (Output OK)
permlist (Output DIFF) | permlist (
Output OK)
pi (Output DIFF) | pi (Output OK)
poker (Output DIFF) | poker (Output
OK)
polynum (Output OK) polynum (Output OK)
proc (Output DIFF) | proc (Output OK)
procUndef (Output DIFF) | procUndef
(Output OK)
ptriangle (Output DIFF) | ptriangle
(Output OK)
queens (Output DIFF) | queens (
Output OK)
recur (Output DIFF) | recur (Output
OK)
relop (Output DIFF) | relop (Output
OK)
return (Output DIFF) | return (
Output OK)
return2 (Output DIFF) | return2 (
Output OK)
righttri (Output DIFF) | righttri (
Output OK)
s00 (Output OK) s00 (Output OK)
s01 (Output OK) s01 (Output OK)
s02 (Output DIFF) | s02 (Output OK)
s025 (Output DIFF) | s025 (Output OK)
s02e (Output DIFF) | s02e (Output OK)
s03 (Output OK) s03 (Output OK)
s04 (Output DIFF) | s04 (Output OK)
s05 (Output OK) s05 (Output OK)
s06 (Output DIFF) | s06 (Output OK)
scope (Output DIFF) | scope (Output
OK)
scope2 (Output DIFF) | scope2 (
Output OK)
sieve (Output DIFF) | sieve (Output
OK)
sort (Output DIFF) | sort (Output OK)
sudoku (Output DIFF) | sudoku (
Output OK)
> tictactoe (Output OK)
> tiny (Output OK)
> tiny2 (Output OK)
> tiny3 (Output OK)
> tiny4 (Output OK)
> tiny5 (Output OK)
> types (Output OK)
> types2 (Output OK)
> types3 (Output OK)
> typesUndef (Output OK)
> unary (Output OK)
> unarystar (Output OK)
> var (Output OK)
> var2 (Output OK)
> vararray (Output OK)
> varnovoid (Output OK)
> walsh (Output OK)
> while (Output OK)
> whiletest (Output OK)
d**********o
发帖数: 1321
324
要不要选EC课(1)
春天的课,上学期那个另一个campus里统计相关课的老师,这学期还会教一门Neural
Network课,但我已经不敢再去选了。编译课得C之后,我对选课非常缺乏安全感。选外
校老师的课,apply天下乌鸦一般黑的理论,我担心自己会下场很惨淡、会死得不明不
白!外加从编译课反映出的、当我学习上有困难的时候,我对代课老师的依赖性,我就
会担心因为距离的关系,同代课老师没办法有效沟通。
接下来的学期,如果我真还有奖学金,我最感兴趣的是AI老师的Evolutionary
Computation课。我有统计背景,在放弃Neural Network课后,帮助自己combine
majors、锻炼编程,EC课都可以成NN课一个很好的替代。
这门课,几个中国学生里就只有板块上过。
当我问及板块他EC课的上课内容、上课效果时,他说当年他选的那门EC课是我编译课代
课老师教的;而且他选EC课时是与编译课一起选的(他的编译课老师是我cs210的老师
,也与他game theory老师同一人。他告诉我说,一方面EC课的内容太难,根本听不懂
老师在讲什么,一方面他两门大课是同一学期一起选的,根本就没时间能写完作业。他
的EC课要求三个项目,他只有第一个项目写得很不错、达到要求;第二个项目离想要的
结果还差一个什么关键步骤他还没弄懂;第三个项目是抄的一个上(上上?)届美国学
生的(这个项目是从闺密手上拷过 去的,是闺密另一门课的美国同学的,被闺密不小心
拷了过来的),所以学得极差。我也非常好奇他居然会这样,便也就问了他这两门课的
成绩。他说他就只有时间、认真去写了编译课的作业,EC课既没时间写、也没怎么下功
夫,结果是编译课老师给了A,EC课老师给了B。
d**********o
发帖数: 1321
325
要不要选EC课(2)
我也直接问过板块,我适不适合去上这门课。他给我的答案是否定的。他说上这门课根
本就没什么用。因为很难,老师上课讲的内容根本就听不懂(看来同一个老师的代课风
格给学生带来的感受是相似的~~),写起作业来就特别麻烦;而且学了这门课之后,找
工作还根本就用不到它!
我也自己去问过AI老师,代课老师所表现出的欢喜、欣然向往让我能清楚地辨认EC老师
是希望我选这门课的。但是有编译课的痛苦教训在前,看着AI老师那么真诚地希望我选
这门课,我的戒备心这个时候也有之前几倍大!我怕呀,板块说这门课的授课内容这么
难,我怕我会被拍死在这门课的沙滩上一一毫无悬念、轻松写意无压力,最终直接导致
自己毕不了业~~!!
老师看得出我的担心和犹豫,而且仿佛他也正有此心、并不避讳,所以也不会去强迫我
选,建议我去问他的一个美国ph.D学生他的上课体验。但那毕竟是美国学生,而且别人
是ph.d学生本身就已经说明别人是热爱学习、酷爱钻研,从来就是属于学习最好的一类
呀。他当然会说那课极其简单,问题是这话我能信吗?
从板块的建议来看,似乎,我应该放弃。但是,我上过EC老师的AI课,我上学期也上过
他的EC老师代的编译课,虽然我前导师的industry工作经验、编程能力都还是很强大的
,但他没有AI老师那种分析问题的直觉能力,所以他的课讲就并没有AI老师来得透彻。
接下来学期的EC是AI老师代的,我应该听课效果一定会比编译课好。但是,老师授课内
容的难易程度我就不知道了。
从什么时候起,选一门本校老师的课也变得这么困难了?
就这门接下来的EC课,我给板块打过至少三次电话,反复同他确认,他上课的感受、体
验和难易程度;我也找AI老师谈过两三次,或许也为配合我的心理需求,那个寒假,EC
老师和他的ph.d美国学生常常呆在、往返于他们的项目office一一就在我的学生office
斜对面,这在平时、甚至学期中都是不常见的。但是,我内心极其挣扎,迟迟下不了决
心。
d**********o
发帖数: 1321
326
要不要选EC课(3)
高中物理早就学过,力的作用是相互的。面对编译课C的成绩,同代课老师一样,内心
里,此时的自己也同样是这样一匹桀骜不训的野马(绝大部分时间,偶实际上是是羔羊
的!!),我又如何能屈服在这种压力下?
虽然转专业后第一年的圣诞节我还哭过,但我不记得那时候的自己究竟去干嘛了。这么
些年来,专业领域里,编译课得了C之后,我第一次有了自发的愿望想要去学习,想让
自己就像小时候盼望家里养着的小猪吃得多点儿、长得肥点儿壮点儿一样,我多么希望
自己能够快快地长膘长肥长壮、增加防御力,以盼望来年在与代课老师的交峰中得以生
存下来!于是,这个寒假,我默默地努力、悲愤地学习,虽然学习的目的仿佛是为了报
仇,自己还委屈得像个孩子!
leetcode 的那些题对那时的自已似乎还太难了(几乎是从来没有作为算法题,连算法课
都是旁听的),那时我去试过一两个题目,感觉一点儿也不舒服,完全没有一点儿希望
和满足感。后来,从网上搜到cc150,搜到一个谁的blog里还有稍微有些中文提示和请
解,便就开始了差不多一天一章的节奏地啃那些题目。我的cs120、cs121基本就只完成
了完成了老师布置的作业,编译课的老师的评价是对的,我绝对欠缺programming
skills。等把这些题目都做完,就真的感觉自己manage program的power,嘿嘿,又增
强了一点儿!现在回想起来,付出努力总是会有收获的。如果那个寒假没有这样一个过
程,我又如何保证在接下来一个学期中我就真能胜任存活呢?
鲁迅先生说,沉默啊沉默,不在沉默中暴发,就在沉默中消亡。我后知后觉、不明不白
、不明觉厉地死在了compiler课上;如果还有来生,如果我还有再选大课的机会,我愿
意直面这惨淡的人生,要么编程能力在EC课上升华,要么死在这门课上死个理直气壮、
心悦诚服~~ 能心服口服地死在这门课上,谁又能否认这也是对我这个桀骜不驯的灵魂
的一种解脱呢~~ *_^
b*s
发帖数: 82482
327
Compiler还是蛮难的,我老人家当年也是九死一生……

【在 d**********o 的大作中提到】
: 要不要选EC课(3)
: 高中物理早就学过,力的作用是相互的。面对编译课C的成绩,同代课老师一样,内心
: 里,此时的自己也同样是这样一匹桀骜不训的野马(绝大部分时间,偶实际上是是羔羊
: 的!!),我又如何能屈服在这种压力下?
: 虽然转专业后第一年的圣诞节我还哭过,但我不记得那时候的自己究竟去干嘛了。这么
: 些年来,专业领域里,编译课得了C之后,我第一次有了自发的愿望想要去学习,想让
: 自己就像小时候盼望家里养着的小猪吃得多点儿、长得肥点儿壮点儿一样,我多么希望
: 自己能够快快地长膘长肥长壮、增加防御力,以盼望来年在与代课老师的交峰中得以生
: 存下来!于是,这个寒假,我默默地努力、悲愤地学习,虽然学习的目的仿佛是为了报
: 仇,自己还委屈得像个孩子!

d**********o
发帖数: 1321
328
灰蒙蒙的寒假
成也潇何、败也潇何,风潇潇兮易水寒,壮士一去兮不复还。我稍显安稳满足、潜心深
入学习的心境,伴随着编译课C的到来,就一去再也不复返了。
如果说知道期末成绩前的自己,还有着邻家女孩般的纯真,还能够愉快地玩耍,那编译
课C这个成绩就把自己直接变成了一个兵、一个随时准备上前线打仗的战斗兵。
高二暑假算命先生占卜说我将来会很有名时,我一脸茫然。我一普天下最普通平凡不过
的草根,会去成名,无异于黄梁美梦般春秋大梦一场。大二还是大三(应该是、极有可
能是大三,记不清了)上的11月19日,专业课老师带领我们(这一专业这一年级的学生,
还是整个学院三个专业这一年级的学生我也不记得了)去黄铍参观温室无公害蔬菜种植
园。借着一场大雨浇灌洗涤带来的"清纯",和着这颗善于思考、敢于发问的脑袋、孜孜
以求的气质,虽然我的某些问题也难免幼稚稚嫩,再外借回答我们问题学长前辈的一点
儿欣赏、提携,我已经在校园里小有名气。
近十年后,一场意外最终导致自己被人肉、从海底打捞。但我还是那个最为普通的小人
物,在 样一个小学校里还受着老师们的种种摆布。
亲爱的读者,写到这里,我就不得不多说几句真心话了。秋天学校里的策略、我的考试
结果已经给打到那个份上,我又一次被迫站在了人生的十字路口。那时,人们想要了解
我这个草根的热潮早已退去,我的命运在这一刻随时都可以被改写。此刻,我愿借这次
出来写的机会,真诚地对这个网站这两年里对我默默的看顾表达自己由衷的感谢。没有
这份恩惠、没有这份萦绕、旋转在我破烂小学校上空的监督力量,我春天两学分后现在
应该已经滚回国了~~ 但正是这份影响力的存在,系里老师们惊诧,但他们也不敢大意
、保留了我的奖学金,我才能够在春天里还有再选课的机会。这也是自己这次再次站出
来写一一把自己的经历写出来供华人同胞借鉴参考一一的主要动力来源之一。
d**********o
发帖数: 1321
329
嘿嘿,太有共同语言了
我们老师弄太多测试了
精简一点儿或许更好 ~~

【在 b*s 的大作中提到】
: Compiler还是蛮难的,我老人家当年也是九死一生……
d**********o
发帖数: 1321
330
与室友的邮件
** Internet
(roommate)
You replied on 11/19/2013 7:45 AM.
Sent: Thursday, October 31, 2013 6:12 PM
To:
(me~~)
Attachments:
2013-10-24.pdf? (996 KB?)[Preview on web]; Time Warner10:31:13.tiff? (375 KB
?)
The Time Warner bill has been payed for the last two months. When you can,
could you please get me your half of the bill?
If you have any questions, give me a call.
Thanks,
(roommate)
** Changing Roommate
(me~~) ((me~~)@XX.XXXXXX.edu)
Sent: Tuesday, November 19, 2013 7:45 AM
To:
(roommate)
Hi (roommate),
I have left two voice messages for you recently. My chinese friends
downstairs are looking for a female roommate, but they found a male. And
they are thinking I move downstairs so that the male they found can move
upstairs living with you. I am not sure if you are ok with you, so I want to
get your answer.
When you get this message, please reply or give me a call as soon as
possible. They are waiting for the answer the whole day.
Thanks,
(me~~)
** Internet Bill
(roommate) [(室友)@gmail.com]
Sent: Sunday, January 05, 2014 12:35 AM
To:
(me~~) ((me~~)@XX.XXXXXX.edu)
Attachments:
Timewarner Dec.tiff? (202 KB?)
Hello,
This is the Internet bill from the last 2 months. Your Portion of the bill
is $56.
I will get the Avista Power bill sent to you once the receipt is sent to me.
Thanks,
(roommate)
** Avista
(roommate) ([email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
)
You replied on 1/13/2014 9:20 AM.
Sent: Sunday, January 05, 2014 12:52 AM
To:
(me~~) ((me~~)@XX.XXXXXX.edu)
Attachments:
Avista jan.tiff? (225 KB?)
Hey,
This is the powerbill. Your portion is $94.37.
Thanks,
(roommate)
** RE: Avista
(me~~) ((me~~)@XX.XXXXXX.edu)
Sent: Sunday, January 05, 2014 8:28 PM
To:
(roommate) ((roommate)@XX.XXXXXX.edu)
hi, (室友),
I have got your email, and I will write a check to you to pay all of the
bills when you come back and move.
But one thing I am not sure about the internet. Have you changed the
password recently? I am not able to use it since probably last night. And
still, would it be possible for you to call and help change the internet to
be cheaper one before you move out? since I am in town, if you help make the
telephone call, I can be stay at home and waiting for the service man to
come if needed. I just don't feel that confident that after you leave my new
homie and I can get this fixed at all.
thanks,
(me~~)
** RE: Avista
(me~~) ((me~~)@XX.XXXXXX.edu)
You replied on 1/14/2014 5:20 AM.
Sent: Monday, January 13, 2014 9:20 AM
To:
(roommate) ((roommate)@XX.XXXXXX.edu)
hi (roommate),
Sorry I have to write to you to make things clear.
First of all, I own you some money for internet and powerbill, please don't
worry about them, and I will pay you as soon as you want.
The other part is, I have not received the history you mentioned yet. I mean
I will need the evidence where we are for the bills. For example, the
internet bill we paid is up to 12/4/13 or 1/4/14, power bill is up to 12/15/
13, I want evidence so that we can get all these clear and I can explain to
my new homie as well.
I appreciate that you have helped pay all these bills for me. I haven't been
trouble with those things at all. But I would also need you to help set up
my accounts so that we can continue paying them later on.
Please help us get these all fixed and set before I sign the transfer docus
for you tomorrow.
Please also understand that I don't have any bad impression on you at all.
The way and reason I need you to help us get all these clear before I sign
docus for you is that it is the only way as an international I can do to
protect myself and new homie from suffering. It may feel wired but please
help understand and be considerate. I will call you tomorrow between 1 & 2
after I having received bill statements and get my department-related things
done.
hopefully we can get the things done smoothly today.
thanks,
(me~~)
** RE: Avista
(me~~) ((me~~)@XX.XXXXXX.edu)
Sent: Tuesday, January 14, 2014 5:20 AM
To:
(roommate)@XX.XXXXXX.edu
hi (室友),
Today when we tried to clear out things, I did not realize that you were
taking the internet box away with you, and you never mentioned that to me
before the last moment. And I remembered that we have payed $50 for the rent
which supposed to return to us(刚装网那天他说总账单是110,我付了他$55,他说
有这么多是因为要负$50 rent). Would you please return my part that $25 to me
personally by calling me to meet somewhere on campus?
I have left two voice message in your phone today already. I have always
been responsible for all your requirements, and I hope you can behavior the
same for me.
Ooh by the way, I am writing stories online publicly about my life on bbs,
hopefully later on when I continue to write, you as my homie in U of X will
be part of the story, and I promise I can help make(promote) you famous in
US if you want.
thanks,
(me~~)
相关主题
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
求助,我该接受这个教学职位吗?It's still hot!
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
331
与室友(1)
其实原本不想写这一环节的,但因为之前有气的时候提到过一种处理方式。就当是对当
时气话的反思吧。
这一年里,我基本就只精中集力在自己的学习,其它的事进不了我心里,仿佛他们与我
无关。我也就九月份家里安装网后付了室友$55网费;后来10月底付过他个$25还是$35
记不清了。后来就再也没有付过什么钱。
期间,我楼下有个中国访问学者的姐姐下学期会搬走,二月分找室友不太好找。大家都
是中国人,所以大家就商量着说,他们如果找到个男生,就看能不能让男生搬上来与我
室友住,我搬楼下去与那个中国女孩子住。学者姐姐急着等答复,我打室友电话不通之
后,就给他写了邮件,想知道他的想法。后来晚上他回去后,不知道是因为我的口音还
是什么原因,不知道他到底听明白没有,还是我给他留下了我觉得他作为室友不够好的
假印象。但实际上我并没有那个意思啊。有一次在楼下吃饭,我还与饭桌上的小伙伴们
分享观点说,最开始我还在作梦想着两人一人一次公平地打扫卫生,后来想想,人家一
个二十岁的小年青,我要人家打扫卫生好像也太不人道、太委屈人家年轻人了!后来就
看着脏了实在忍不下去了就自己打扫一下。我还在对小伙伴们说,他就提了两次网费啊
钱的事儿,我不提这个话题,别人也不问,就只默默地把那些该交的钱全交了!小伙伴
们也分享着他们交钱的方式,我真心觉得在交各种费用这事儿,有这样的室友,我实
在是太省心了。
后来寒假1月4日他给我打电话说他想节约expense,要搬去与他女朋友住,我当然很理
解、很支持,搬走就搬走嘛,人家的life要move on,难道我要把别人拴在这里不成?(
那时候的我对他还基本没有任何成见,邮件里还很真诚地提出他能不能帮家里的网换一
下。如果有成见,应该也不会说那样的话了。)
d**********o
发帖数: 1321
332
与室友(2)
他原本说马上就搬家,但是他左等右等到了一个搬走时还要借外界舆论黑一下我的日
子(好像是11号,具体原因我也不记得了,只是感觉很不舒服)。后来签各种账单的时候
,来的人有我新室友,他一个男性朋友(后来听我室友说,那个就是他新室友,我就不
明白他有什么必要要骗我?善意的谎言?不过也不是什么大不了的欺骗,没必要在意)
我们总共四个人在场。我给他写check的时候还问他,平均分账单的话,他就出了我们
这新一个月的网费的一半,但实际上他要搬走不再用这个月的网了,所以我应该自己出
这个月网费的$55块,我应该不需要他出这$27的;他坚持说我只出一半就可以了,我也
就顺了他。
别人已经这么体谅了,而实际上他在家里做饭很少,我无论如何也需要把这个礼还回去
。虽然九月份不用暖气的时候我们家电费一个月总共也就不到$20块钱,整个费用里我
还是自愿比他多出了接近$30作为我自己在家做饭多用电应该付出的部分。
他那最后一次回去,我们把这一切都算好了,我写好了支票给了他。后来,他把我们家
里的网、那个什么盒子撒走了,但当时我没有反应过来。我的新室友似乎是他的死党,
也没有提醒过我。我们还去租房的office帮他们签好字,回想起来还觉得稍有不平:我
要签字的时候我把表格带回家,请他帮签,再送回去;轮到他们的时候就变了我去
office里帮他们签,不过也不是什么大事。
倒是回想起那个$27的网费,和九月初$50的租金,在我已经多付了$30的情况下,我的
前室友还以那种欺骗的形式对我,回想起来还是很伤人了一阵子,也不怪乎当时还给他
写过邮件、说过气话(实际上,我也没有能力可以让他出名呀~~ *_^)。
不过后来春天,我在各种压力、环境影响下,常常晚上睡不着的时候,回想起这个室友
曾经帮我交过几乎所有的账单,至少也没怎么吵到我休息的时候,这个前室友还是最终
转化成为一股强大的治愈力量促使我去忘掉过去。现在想起来,可能别人担心我一分钱
都不会多出,才作出前面的决定吧,还觉得自己不够自知之明,应该一开始就提出自己
多出,好方便解决问题的。
d**********o
发帖数: 1321
333
冒牌医生与假想病人(1)
其实从春天上RTOS课的时候,就认识了底层自己OFFICE层有一个老美学生。同这个人了
解的多一点儿,就发生些相对好玩儿的事。
他个头不高,有墨西哥人血统,留着葫子和辫子,是我后来导师的ph.D学生。
那是我刚上RTOS课不久,老师居然还给了我们graduate student每人一块ATmega32A的
processor,和一根serial USB线。那时的自己很水的,什么也不懂,还没办法把这一
套编译流程成功地安装到自己的Ubuntu Linux系统(汗,后来是在夏天在使用emacs的启
发下,才对语言配置、这些软件的安装、各种shell命令的使用才慢慢开始make sense)。
那时,导师推荐他的一个得意门生、也是一个EECS的我的同学帮我装,据说他对这个方
向特别有兴趣,是给系里的IT service打工帮忙的人,但不知道是他受老师启发并不诚
心帮我装还是怎么的,居然linux下还是不work。后来,无奈之下,我就去找到了这个
大胡子老美,以后暂且叫他大胡子吧。
大胡子直接说linux下的这套东西太麻烦,他自己就根本不用,他用Visual Studio,建
议我也用这个。没办法,我这是我唯一还没试过的solution了,用也得用、不试也得试
,就只能硬着头皮往前走啊。后来,检查出来是老师给我的那根线不能用,我们试过好
几次的;后来,他推荐说Radio Shack有这种线卖,他从网上买过一根,大概$27;他把
他自己的线拿给我看,我这人也是奇懒吧,虽然我已经记下了这根线的所有参考指标,
但还是说说我怕我找到的还是不对啊,要不,你帮我买吧,我到时把钱给你。他思考过
一番后,从他office里拿出一根新的未开包装的线给我,说这原本是他用来备份的,我
若要用,先拿去用,他回头再买! 见别人这么帮忙,后来我就给了他$30,很感激他的
帮忙,虽然不是我想用的linux,好歹这个环境已经可以运行了,我可以写我的 RTOS
作业啦~~
d**********o
发帖数: 1321
334
冒牌医生与假想病人(2)
春天的联系就仅限于这门课上、学习相关的联系。后来到了秋天,联系就多了起来。
秋天回去,因为我们同上编译课,加上刚从加州回去,我比同班小伙伴已经晚了一个周
,也需要补果,也怀念小伙伴、也需要朋友,也不记得当时怎么说的了,我就直接坐到
了他的office里学习。他的office很大,是一个原本比较大的实验室改装成了四壁桌椅
的office,所以有很多座位。
认识他的时候我并不知道他有多大,后来了解多一点儿,听他说三十多岁。同自己一样
,这又是一个辗转反侧的人生。
他是双鱼座的男生,纯真可爱,也很善良。那阵儿我Mountain biking的时候,从ebay
上买了件大陆的骑行短裤、背上水袋包和一把他推荐的防身随身用的军刀,但我没有账
户(实际上我有账户,但是太久没有用过了,密码我就全忘了)。他仿佛是个百事通,这
种网站的账户、信用卡绑定,他似乎从来都一应俱全的。他就帮我先付上了这所有的账
单。
因为在同一个office,后来他意识到我用$230买闺密的二手笔记本电脑CPU只有 2.28 G
的时候,就自己默默地从ebay上买了个 2.8 G 的CPU,等货到手之后才战战兢兢地对
我说,他不能保证他一定能帮我换得好,“手术”有风险,“签字”需谨慎! 他的
office里各种各样的二手笔记本、三四个宽屏显示器,曾经用过、更新换代淘汰下来的
CPU、内存卡条、硬盘等像陈列在博物馆里一样摆放出一个气势恢弘的警卫队阵列来!
d**********o
发帖数: 1321
335
冒牌医生与假想病人(3)
我就对他说,没问题的,我相信你有这个能力! 万一换了不work(新到手的二手 2.8 G
双核CPU不work的话),我们再把它换回去! 万一万一笔记本寿终正寝死翘翘了,他随
便给我个他office里的笔记本让我能将就着用到毕业就可以了(我不是闺密或A那样的显
示屏审美艺术家,对这些东西,仿佛我从来就没什么陶醉与向往,汗)~~ *_^
虽然我是学计算机专业的,但我是个“如假包换”的,对计算机的这些内部部件构成及
其功用完全就不真正理解的呀~~ 对大神的景仰之情就如同滔滔江水般滚滚袭来,我不
想扫了大家的兴致,虽然半小时后就是compiler课,难得大家这么默契地有了共同的向
往,此时此刻、说换就换! 我从来没见过折开过的笔记本,至于怎么拆开键盘、拔开各
种接头等等等等,我一头雾水、眼睛原本不大却睁得特别大,就像刘姥姥进大观园般亲
眼谨慎地目睹着这一切的发生,仿佛此刻,我正在经历、咀嚼着自己生命的奇迹~~ 大
胡子也还是很谨慎的,大概我笔记本CPU那片儿的结构他也还不是很熟悉吧,在拆某些
重要部件前,为防止我们会忘记它们的身材、长相和舞姿,还特意要我用手机拍照留恋
一番~~!! 大概大半个小时后,重要部件就连好了,重启一遍,没有任何问题,PASS!!!
然后我们把所有部件归位,上螺蛳~~ 那天的编译课我迟到了一刻钟,但迟到得底气
十足~~
他告诉我这块芯片的价格只有$36.5,但亲眼目睹了这里面的时间、工作和风险成本,
同他商量说我只出得起穷人的成本,大家同意说$40,好说好商量~~!! 我答应他,到时
我欠他的钱等那些从大陆来的物品到齐后我一起给他,他也是好说话的人,不以为意,
并没什么意见。
d**********o
发帖数: 1321
336
冒牌医生与假想病人(4)
后来,我的导师从他研究课题上push他,他把编译课drop掉了,我们共同学习似乎也没
有了必要。现在想来,导师应该是非常清楚那学期的编译课要打战场刷人,大胡子是凭
兴趣学习的人,几乎完全没有耐性,先前板块上过的那门游戏课他都选了两次才过,势
必会在这门课中被废掉。其实大概应该是导师帮他规避了这种风险。
那学期我迟到了开学第一周,要补的课很多,compiler的作业也是逻辑相当混乱、一头
雾水,所以那学期的学习也相当努力。而他还时不时地、四平八稳地沉浸在他的游戏世
界里。
这是一个三十多岁的年青人,同自己一样或是更甚,生长在一个残缺不全的家庭里,实
现了我高三时曾经的梦想一一四处流浪,二十来岁的年龄里也颇有一番波折动荡。近几
年来,回到校园,读硕读博,似乎一切都已然归位、风平浪静、云淡风轻。
他是美国学生,大概不需要交外州费,但据他说他的账户里还有好几万的联邦(银行)代
款。花钱也是大手大脚,任何时候,绿色瓶装的苏打水(?)就像我喝凉温了的白开水一
样毫不在意。office里还有超过$200的咖啡机、新买的全新的小冰霜~~
和着他打的游戏里的刀剑声响,我看见的就更多的是延迟在这里、如哗哗流水般浪费着
如同我自己一样剩下不多的年华和人生。
于是,潜意识里、下意识地,我总想push他两下。
b*s
发帖数: 82482
337
Mars rover curiosity用的vxworks RTOS. 还在飞行中patch过。在the Martian 里
面他的rover的os叫做vxware…

【在 d**********o 的大作中提到】
: 冒牌医生与假想病人(4)
: 后来,我的导师从他研究课题上push他,他把编译课drop掉了,我们共同学习似乎也没
: 有了必要。现在想来,导师应该是非常清楚那学期的编译课要打战场刷人,大胡子是凭
: 兴趣学习的人,几乎完全没有耐性,先前板块上过的那门游戏课他都选了两次才过,势
: 必会在这门课中被废掉。其实大概应该是导师帮他规避了这种风险。
: 那学期我迟到了开学第一周,要补的课很多,compiler的作业也是逻辑相当混乱、一头
: 雾水,所以那学期的学习也相当努力。而他还时不时地、四平八稳地沉浸在他的游戏世
: 界里。
: 这是一个三十多岁的年青人,同自己一样或是更甚,生长在一个残缺不全的家庭里,实
: 现了我高三时曾经的梦想一一四处流浪,二十来岁的年龄里也颇有一番波折动荡。近几

h*****i
发帖数: 9112
338
跟vmware有关吗?

【在 b*s 的大作中提到】
: Mars rover curiosity用的vxworks RTOS. 还在飞行中patch过。在the Martian 里
: 面他的rover的os叫做vxware…

b*s
发帖数: 82482
339
当然木有。VMware是virtualization, 不是RTOS. VxWare故意像是VxWorks而已。

【在 h*****i 的大作中提到】
: 跟vmware有关吗?
d**********o
发帖数: 1321
340
冒牌医生与假想病人(5)
有一次吃完晚饭过来,就看见他又在打游戏,我就不理他,不同他说话,只默默地在旁
边写自己的作业。
是我对他的态度太冷淡了吗?第二天中午,他居然对我发火说,我欠他的那些钱都还没
有还,我到底什么时候才能还他的那些钱?! 说话的证据仿佛我故意耐着不还他。这对
我来说,太意外了,感觉自己也很受伤害,也似乎有意想要搬回自己的office里去。而
我对他也充满了怀疑,不敢相信他会把我想像成那个样子的人! 问题是到这时候,事情
的进展已经完全不受人为控制,他已然说出把我正在用着的电脑给另一个印度人用的话!
话已至此,说搬就搬! 当晚我就搬回了自己office;第二天,把他要的现金从银行取了
一一点数还给他。钱还完了,我问了他,我们上学期有一根线的交易;这学期有ebay上
中国来物品的交易、有CPU芯片的交易。就像做生意的人三笔交易下来,怎么也该有点
儿起码的信任了吗?我问他,何至于说出怀疑我不还他钱的话?
他说,他怕我要搬走,他会很没面子,才说出那样的话的! 所以,实际上,他的小小心
思,每一步居然都是走在我前面的~~!!
我理解,当然理解! 我先前用过的电脑,为了成全他的面子,已经免费给印度男生在用
了。而我,还真的想用他的笔记本。
于是,我们继续好说好商量,最终的协议是,我出$50租他的三星宽屏显示器、和他打
游戏用的笔记本,租一年,租到来年五月我毕业为止;如果我春天有奖学金,我就再多
加$30(这样差不多每个月$10的月租,后来我的确这么做了)。这对我们双方都是极好的
一一我需要用大电脑、宽显示器提高学习效率,他需要以租的形式(相比于他同office
里的印度男生)给我用,显示他对我没任何其它感情意思,两全其美~~!! (后来,我因
为不能毕业,他也从来不是坏人,答应租期0租金延长一年,所以现在此时此刻我在
type着的笔记本就还是他的!)
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
老印还挺不好伺候的,不准备打交道了 (转载)急问一个b超的问题,希望得到贵版版友的帮助
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
进入WebRadio版参与讨论
d**********o
发帖数: 1321
341
冒牌医生与假想病人(6)
后来,寒假里,期末考试后,知道成绩前,一个学期的努力学习下来,我们也需要、很
想要稍微放松娱乐一下。于是,我们三个活宝某天下午就又一次地聚在他们的office里。
我们玩儿Wii。三个控制器,一人抱一个,三个人一字排开并排坐在扶摇椅里玩闹着。
我们两个international对游戏知之甚少,他倒是个游戏通。他花钱总是很大方,我们
觉得这些游戏好像不太好玩儿时,他自己自动从网上查搜游戏,他自己没有,就现场从
网上花$10买一个他觉得会好玩儿给我们玩,不带丝毫的犹豫。游戏里,我们在那个光
滑的星球上使劲地挤呀挤,免得自己掉下去;我们对游戏的了解越来越多、感觉越来越
好玩儿时候,大概打了一两个小时,他说,他需要学习了! 呼之欲出、即将狂欢的游戏
高潮就在这一刻嘎然而止,留下我们两个小伙伴一脸惊诧! 他一一是在报复当年、当初
,我反感他打游戏么?这报复还真刻骨铭心,我一辈子也不会忘记的!
后来某天,这个印度学生问起我的compiler成绩,我如实禀报。我是个悲观主议者,罗
列着潜在的所有接下来的可能性,从好到最坏!
小伙伴们同情着我的遭遇,印度学生没说什么话;他从来都是好心肠的,“If you
need any help, like moving desk or boxes, just let me know!”他的小脑袋里想
的真的是我下学期、接下来马上就要回国了! 我接下来EC课的某个项目写得晚一点儿,
我的二十多岁的小伙伴都已经会坚定地站在我一侧安慰我说,他相信我一定会写得出来
的;他一一一个三十多岁的人,说出的还是这么单纯“幼稚”的话。
这一次,我终于明白,有些人,不经历足够的生活打磨、改造,是没办法拔苗助长的,
一如我push不了他的成长和成熟。
后来,系里一个美国人小伙伴帮他介绍了个略有点儿肉的美国女孩。女孩对他兴趣很大
,来过他office里好多次,常常从走道里传出他们一起看电影时发出的女孩子清脆的哈
哈大笑声。我在心里默默期待着,或许,这一次,他真的有机会(同女孩子一起)成长了
!!
后来,过了段时间,女孩子的笑声许久不见了。他还是一如既往的样子,我的眼睛挑不
出异样。或许,他还没有遇到一个真正让他心动的人吧。
电影里不都是这么说的么一一那个天才数学家! 失去一个人、一份爱,他没有任何变化
,那一定是内心经历的伤害力量尚不够大。若是真心在意、喜欢,那失去后,就必定会
有一股愿望、想往和力量,促使他去改变、去变成为一个更好的人、一个真正的男人,
刻下曾经爱恋过那个人的神韵和影子。
现在,他还没有遇见那个人。像他这么好心肠的人,终有一天,他一定会遇见那个人的
,我相信。
d**********o
发帖数: 1321
342
现场现写、赶着时间写的
是生活中的真事
常常会把这种意识潜移默化到别人身上
我的目的也只是希望看见别人的成长
敬请平心静气欣赏
不带任何影射的~~ *_^
这个小伙伴的故事到此结束~~!!!
R******k
发帖数: 4756
343
鄙视你,我这门课学得很轻松~

【在 b*s 的大作中提到】
: Compiler还是蛮难的,我老人家当年也是九死一生……
d**********o
发帖数: 1321
344
木有想到博士大神
也是偶们专业前辈
失敬失敬~~
以后还望多多提携榆木偶呀~~

【在 b*s 的大作中提到】
: Mars rover curiosity用的vxworks RTOS. 还在飞行中patch过。在the Martian 里
: 面他的rover的os叫做vxware…

d**********o
发帖数: 1321
345
嘿嘿 ~~ ;)

【在 h*****i 的大作中提到】
: 跟vmware有关吗?
d**********o
发帖数: 1321
346
哈哈
跑到这里来鄙视
还真挺幽默滴~~
大河之木兄
远道而来
原该21响鞭炮迎客才对
偶乃愚鲁之人
待客不周
要不
咱们切磋技艺?
要不
劳驾大河之木兄
写篇小短文
把侬感兴趣的方向
稍作介绍
如何?
目的不在你我,
去征服读者吧,
这个楼里
如何?

【在 R******k 的大作中提到】
: 鄙视你,我这门课学得很轻松~
d**********o
发帖数: 1321
347
确认选课(1)
开学前一周时,系里main office里发来了CSAC的时间表。到这一刻,我终于相信,我
春天的奖学金不会因为编译课C的成绩而被废掉,我还可以再选一个学期的课~~!
开学前一天的晚上,我在床上辗转反侧着。
想着自己编译课为什么会得C,想着导师几次来到大胡子的office里push他的课题(那段
时间他近乎悲愤,当然后来drop掉compiler课的安慰品是一台苹果台式机(显示器?导
师买了放在office里还没有用,他向导师要,导师就给他用了) ),想到大胡子自己花
钱从Amazon上买他飞行课题需要的许多个部件(据他讲,可能花了几百美刀),然后那晚
就一直心思辗转着~~
我为什么不敢选EC课?
是因为代课老师对我的恐惧所表现出的默认态度(真要杀人)?我真的怕自己会从
technical上败下阵来吗?不,我怕的是人际关系,我怕这次会死在同上学期一样死得
不明不白、不明就里~~
上学期的自己又何尝没有从一开始代课老师鄙视打击我时就出手反击,但别人手段高压
、花样众多,在那美伦美幻的莫测变换里,我的反抗无疑成了水中月、镜中花~~!
若接下来EC老师真心要杀人,我一一挡得住吗?我一一躲得掉吗?他是会把我拍成肉饼
,还是把我剁成肉酱?我可还想保留全尸呀~~!!
d**********o
发帖数: 1321
348
确认选课(2)
就像爱情里,大学时,曾经的情敌一次次地站出来,一次次地将她的长发挽起(。。。
,又是谁为你做的嫁衣?),在别人一而再、再而三的拒绝里,她的尊言一次次被撕裂
粉碎、却还爱得主动、执着如夏花般绚烂绽放又如何?她如此鲜明、死死坚守、最终也
不过是成全了那个最为世俗的她自己!
忆往昔, 情敌试探我是否退出时,我对她说过,哪怕她得99分、我得1分,只要这1分
是那个他真心在意的,我就绝不退出~~! 到如今,当我再回忆这件事的时候,我绝对
相信水瓶与狮子间两极对立绝对有真心欣赏的成分,但我仅有的1分愿意再分95%给那时
的情敌,是情敌那白羊座意气风发的个性吸引了自己、造成了通感和移情~~!! 当年的
她没能改造我,十年后,她做到了(半年前的夏天终于去锻炼身体了)~~
而我,到如今,这门EC课上,明知山有虎、偏向虎山行,让暴风雨来得再猛烈些吧! 我
在执着、坚守的又是什么?
不知不觉间,已然天明。这是架在我脖子上的刺刀,越早拿掉越好,我要去学校找导师
把选课的事说个清楚明白。
d**********o
发帖数: 1321
349
确认选课(3)
导师的office里,我向老师讲述了当年我选择他作non-thesis research option的导师
,是因为当时的导师建议自己选research fundamental,把我往research上推,这不是
我想要的,所以选择他来避开这一切的发生。
我对导师说,我还是想选EC课,因为上过AI课,知道这个老师算系里讲课最优秀、最透
彻的老师了。我想借助这门课combine majors,我也想通过上这门课让知道,我对这一
版块是否真的有兴趣。
我陈列了compiler课的成绩,告诉老师说,我现在不敢选这门课了,不知道自己能不能
胜任~~?! 憋在肚子里一个寒假的委屈就在这一刻失控崩溃,眼泪扑嗍而下~~ 老师安
慰我说,他猜测我的自信心一定因为编译课的成绩受到了打击;他建议我说,往回看,
看看这一两年里你已经取得了怎样的进步,这不是可喜可贺的事吗?“you know what,
compiler is the most challenged course in this department!”并给我举了个他
一个学习很好的学生这门课上fail掉的例子;并且他说,“I think you will
probably be ok, but still, you can check with the instructor first.”
我哭,不也就是想要得到老师的鼓励吗?这课是我钟意、推敲了整整一个寒假的,我当
然选! 还选了一门分布式系统课和导师名下的directed study。directed study,我原
本想选1学分的,但导师嫌麻烦不想去改,我就听他的选了2个学分。
d**********o
发帖数: 1321
350
新学期第一周
开学第一周我就遇到了一场意外,我不能打超过20小时的工每个星期。可是我是开学第
一天真正确定我能拿到系里奖学金之后才给出原来食堂工作的two week notice。很是
尴尬,可是在这个孩子的心里,面对第一学期cs336 C的成绩,面对上学期编译课老师
的各种神插曲,我又如何才能真正有安全感、能鼓起勇气、在上学期结束前两周对他们
说“oh, I want two week notice period now!!??”我这么穷,难道我对这开学第一
周完全不用干事、开学第二周轻松愉悦(因为大家都刚开学,基本没有谁会去问问题)
随手轻易可得的几百美刀有仇么?
后来的解决办法是,食堂里帮忙给转换成一个周的notice period,系里帮调配成我第
一个周还没有入职,这样就不会有法律上的问题,只是我原本仅有的$4000(除了
BESides免外注洲费外)奖学金又给减掉了$200左右,连交春季学期的内州学费($3900
左右)都不够!这样自己原本从小伙伴那里借着外债、并不温饱的日子就变得餐风宿露
、瓦上结霜了(以划信用卡度日)~~
相关主题
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
将军们没发现国内体制内涨了不少工资么请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
进入WebRadio版参与讨论
d**********o
发帖数: 1321
351
同桌的你(1)
开学后,最开始的时候,我也有稍微去听一下其它老师的课。不怕一万,就怕万一,万
一万一我不行了,“W”写到成绩单上也还是会优先考虑毕业的呀~~
这不去听课不打紧,一去听,却听出一个先前不知道的秘密来!
我这学期的同桌是编译课期末考试陪我考试考到最后的Ryan,他坐我左边。同排坐他左
边的还有上次那吃中国饭的美国男生、cs210课与我分别都写出tictactoe的小伙伴。我
坚绝相信,他们三个,学习都是极好的!上学期一起写过作业和邮件的小伙伴没选EC课
,但graphics课上我见了他,那门课据说需要java编程;他们几个总是一起上课、上上
学期春天里还一起上算法课,再早之前,可能还一起上过cs270 system software课,
这连续三学期这些课程都是我前导师代,可是,我上学期一一编译课的同桌小伙伴在哪
里?
后来,我去听系里的各门课堂上去找,在network communication老师的课堂里找到了
他!可是,为什么他这学期脱离了他们小伙伴们的队伍了?后来观察到,他也几乎只和
那个选了两次编译课的美国女生聊得、走得比较近。
我最亲爱的小伙伴们,回忆起来都是泪啊~~!
d**********o
发帖数: 1321
352
十年*如果
曾经,受一个朋友的影响,我也跟风写过一个十年。
那时候,十年很短,短到可以细数每一年的大事件、每一季度的大事伯,一如九八年高
考、大三下的浮躁和考T考研的痛苦决择、一场手术、零壹年考研、考研后度日如年的
等待、零五年春夏“瘦得这么干净”,和零六年出国,那一年,我二十七岁。
一如星座上所说,我二十六岁前的生活过得很随心、随意,我不care自己没有男朋友、
我不care别人的看法,因为我是一个追梦的人。
当九年前舅舅给植入的愿望真正成为现实的时候,在从导师那里刚刚逃离的情伤里,我
迷惑了,不知道该怎么生活,不再去问自己梦想是什么,每天得过且过。
那时候,十年,有什么?我也可以写一个!那时的自己,写起来,手起刀落,云淡风轻。
这次,当自己不得不再次踏入校园的时候,十年,是自己头上惊现的白发,如果我能把
它们黑回去,多好?!
d**********o
发帖数: 1321
353
我的悲催十年(1)
一如大家所知道的,我是被妈妈武力降服后,勉强才进了高考的考场。那时候,就真有
一个或许对自己有着丁点儿意思的男生从原本该进的考场溜走了。
高考结束后,亲人的策略是不惊扰我,不需要我像中学或小学时再去放牛,只每天一日
三餐吃喝拉撒地呆在家里静养。
一两个月后,我对爸爸说出若没能考上,我还想要复读一年的话,爸爸眼中有泪~~
后来,拿到录取通知书,爸爸听了大姐夫的意见说,高三那年我已经分心成那样了,有
个学校可以读书就可以了。家里条件有限,再供我复读一年,也未必能考到更好的学校
。爸爸也鼓励我说,“三百六十行,行行出状元! ”
大病初愈,爸爸的话我一定听的。然后,本科四年,硕士三年,我也不懂为什么当初就
决定硕士毕业再等一年(主动疗伤?)。国内八年,这边博士研究生一年后,舅舅要我再
给老板干一年活,终于是半年后,转专业一一9.5年,这耗尽十年的这一专业,我想我
以后应该再也用不着了~~!!
此刻,再来回忆这一段,我也已经情不自禁、眼中有泪~~
d**********o
发帖数: 1321
354
我的悲催十年(2)
到了如今的年龄,我非常清楚,对自己来说,真正的绝望只有高考那一次。后来我蹉跎
岁月、折磨年华,但我一直都还活蹦乱跳地活着,只有那一次,我是想去死的!
那一次,也是累积了五六年的心理压力。
如果,之前,我有更好的心理建设,我或许不至于考得那么惨,只上了个三本;如果,
之后,我家亲戚间能有人帮我做好思想工作(这个对爸妈、姐姐、姐夫来说,都难度太
大,五姨和五姨父大概可以胜任),我重新回到高三的课堂,若我能拿出现在与系里老
师拼刀对干的劲头儿来,此时的我或许顺了自己的个性正教书育人,也或许顺了自己曾
经的愿望,当了妇科医生,去从科学上根除、探索钻研自己青春期有过的生理上的疑虑
和障碍。
但可惜,生长在这样的一个略有缺失的家庭里,我从来不曾有过这样的心理建设。就连
高考重灾过后,来到大学校园,我也用了大半年的时间作灾后建设,才最终说出想让白
了头发黑回去的话。我就是这样一个从来都是自己摸索着成长的孩子,回望这个过程,
我都恨不得回去心疼、抚慰一下当年的自己。
这十年,我也就只得了一块跳上美利坚这一国度的跳板而已~~!
d**********o
发帖数: 1321
355
这个周自已状态不够好
写得比较差
今天也只写到这里了
明天的确有事
实在没办法来更新
但后天会接着更新~~
接下来我会尽量调整状态
接下来冲突会更尖锐直接
内容只剩下最后一个学期
就快结束了
我会尽自己最大努力把它写好
敬请期待~~ *_^
d**********o
发帖数: 1321
356
同桌的你(2)
我曾经的小伙伴们,你们都在哪里?
那个家在外村,班主任没能照看好的高三同学,因为家里经济条件有限,后来也没有再
复读,他接下来的命运会是怎样?
我大学室友情敌,当年一次次地逼问我要不要退出,在对方(班长)从来不曾有明确表示
时,一次次地站出来,一次次地将她的长发挽起,后来,在大三还是大四自己坚持不下
去时,蓦然回首,与班团支书成为男女朋友。团支书是矮小精干的男人,情敌是婀娜纤
细、柳眉大眼、身姿娇俏的女孩儿,那时的我们真想感叹,这姑娘是哪根神经搭错了,
找上这么个人,实实在在一朵鲜花插在XX上。不过,她的平衡点应该是这个是班上、系
里最会挣钱的男人,大四时他跑去北京做一个什么实习,挣了好几千,小伙伴打趣说他
应该把工资如数上交给他领导。毕业后情敌就嫁了他。后来,几年后,她老公出轨,这
边是一个自尊心特强的女子,她怎么可能忍受得了这个,一场相片几年的婚姻就这样结
束了。后来,据说,她回到了她的家乡一一家还是那个永远会带给我们温暖和甜蜜的地
方,我们就再也没有了关于她的任何消息。
那个男生,大学四年,没有任何确认过的女朋友;毕业一年后,小我们一级的同专业小
师妹成了他女朋友;两个人在一起很多年,后来,女朋友出国到澳大利亚后,这段感情
大概也结束了。再后来,这个男生找了个身材、相貌均还不错的(其它指标无从考量,
只见过照片)家乡的女孩结婚了。
那天,那堂课上,我找到了那个曾经的小伙伴,我惊喜、疑惑、却也难受;他也惊奇,
大家的眼神、表情都很复杂。
d**********o
发帖数: 1321
357
同桌的你(3)
他们几个小伙伴,是上前导师的课一路上过来的。如果系里老师们之间的矛盾是真的,
那他和他曾经的小伙伴队伍应该是属于前导师这一系的(也比较重视programming
skills)。但是什么原因,让他从小伙伴们的队伍中走散了?这一定与上学期的编译课
成绩相关。
上学期最后一次作业到底是怎么回事?他是和我一样得了C,还是,最后一次作业他的
架构还没能搭起来?如果前几次作业的成绩也不理想的话,应该会Fail掉的。别的学生
我不知道,但那个期中考试时主动提议老师review for exam的那个后排男生fail了,
期末考试前同小伙伴们一起复习的时候就听他们提过他作业写不出来。
我那个同桌,我最后一次回答问题,他难道当时真的还没有听懂吗?可他也是那么聪明
(算法课上装傻问老师第二个问题),而且一起同小伙伴们走了那么远、那么久。同代课
老师没有恩情也该有点儿起码的师生情谊啊。
若是,他做得还不错,架构出来了,只是测试同自己类似,过得不够多,情不致死,但
是只是因为老师要给我颜色看而不得不顺带打压他,那他一定是委屈的。回想这一个学
期我们三个人坐一桌,我因为早前我们同学时我cs336得C对她不是很舒服,所以一直同
自己右边的同桌同学关系更显亲和、亲密一点儿。如果是我那一丁点儿的情愫防碍了他
、防碍了代课老师的公正性,那我真是罪该万死~~!!
这个春天的学期,他没有选EC课;Graphics课我去听过三四次,我只看见过一次他到课
堂,而且他个头不高,还坐在这堂课的最后,这门课他到底选了没选?补一句,这门课
是后来第四次时代课老师讲了一堂课的数学、统计vectors之后,我感觉代课老师不希
望我去旁听他这门课,(那时我已经了解一个大致的概念)之后我就不再去听了。
不管我多么不愿意接受这样的事实,现在,他已经同小伙伴们分开了! 感觉他自信心很
受打击的样子。若是他真没有做出最后那一个架构,那接下来该怎么办呢?
看着自己曾经的同桌经受、面对这样的挫败,回想自己这一个寒假的战斗兵状态,一阵
子的难受和悲愤涌上心头,打击别人的自信心,就这么好玩儿么?
d**********o
发帖数: 1321
358
同桌的你(4)
就像大学时的自己,上学期期末上机考试时,因为操作不够熟练,下学期的课堂我是同
几个男生小伙伴上课抢着回答问题的(最终考得还很不错的成绩),因为我需要给自己一
个交代,我是有能力学好的,只是上学期的疏忽而已!
就像后来我所在QQ群有小伙伴气质姣好、仙女下凡般站出来翻牌(意欲倒追一个GG)时
,还强调重点时说过“anyways做题做题”。那就是说,不管最终结果是怎样,(这个
专业)做题是很重要的,改变和提升我们自己在任何时候都是必要、最应该最值得我们
去着手努力的事。
顺便多说一段,这个QQ群,十年来,不知道帮助过多少人、改变了多少人的命运,也改
变了我自己的。曾经多少次mitbbs首页十大上,大家讨论要不要刷lc,我就像了那曾经
咬断了我钓鱼钩的千年乌龟一样,缩在那里一动不动。心理上,也没有觉得它非常难、
不敢亵渎,但也没有任何心思动力想要去啃这块骨头、把它咦为平地。可当我来到这个
QQ群,当我遇见的每个人都刷过它好几遍,甚至对做过的题目,别人都能倒背如流,甚
至连一个聊天的小伙伴感觉都在变得玉树临风的时候,我终于是觉得自己渺小得不能再
渺小、卑微得不能再卑微,乖乖地默默地跑去刷题~~
人最需要面对的还是我们自己。若这个成绩对他并不公正、他有不服,就像此时的自己
一样,那就迎难而上,再给自己一次机会、挑战自己一次,并不损失什么;若他像当年
大学时的自己不上心没能完成作业,不也应该继续接受更多的练习来壮大自己(而不是
像他那样去逃避这些牌块的课程),就像坐我左边的女孩子选二次编译课,(虽然那个
女生第二次选没有任何进步,可同桌的基础比那个女生强得不要太多),虽然人一辈子
的时间要拿出又几个月来第二次选一门课,可能代价太大,可因为这一门课造成的自信
心丧失、心理恐惧又需要多长时间、怎样的经历才能痊愈?
我多么希望我可以对此时就我坐在我旁边的这个可爱男孩、曾经的同桌语重心长地说出
上面我敲下的这些话,可我不是他亲人,不算他朋友(距离还太远),甚至连 girl
friend 也不是,我又有什么资格对别人讲出这样的话?也罢也罢,我一肚子的心事,
就让往事随风,祈祷他接下来会顺利吧~~
d**********o
发帖数: 1321
359
第一个项目(1)
早就被板块同学打预防针说EC这门课特别难,老师上课讲的内容根本就听不懂,真正选
了这门课,当然得认认真真、时时刻刻保持警醒状态地好好学下去。
当然,态度好仅仅只是前提,能不能达到老师项目考验的目标,能不能顺利地、安时有
效地完成老师布置的各个项目,就成了继上学期编译课得C之后,这个学期我的重点努
力目标。
当然,就像板砖同学说对EC课根本就没有兴趣,就像编译课代课老师的评价说的那样,
我这个programming experience相对欠缺的小兵,在完成第一个项目时就出现了各种神
插曲。
细数一下那些出现在第一个项目里的插曲吧,拍照存根留恋:老师把一个大项目工程折
成了几个可以分别突破的小项目小版块,这样第一个版块写完的时候,所有的代码基本
就只有一个文件,任何一个benchmark problem就只写在了一个function,看起来落霞
与孤骛齐飞,秋水共长天一色,乱七八糟,应该是属于小学一年级的作业吧。后来在老
师收了作业后的review建议下才慢慢改好了。第二个项目又是类似的问题,一个文件大
脚走天下,1a写出来、交上去的代码奇丑无比。后来课堂上,老师给我们一个大致的
OOD设计的提纲,各种不同的类(individual, population, fitness functions, 以及
要用的main test file)、类与类之间就理得比较清楚了,写出来的效果好得不要太多
~~
d**********o
发帖数: 1321
360
第一个项目(2)
这个时候的另一个问题就变成了怎么用编写makefile,这是自己想到cs121实验有这个
内容,但从来还不曾有机会真正用过,可书到用时方恨少,到自己真正要用时,却run
不通。这个小问题后来当然是解决了;顺带一句emacs,到这时一个项目往往需要十个
、八个文件时(尤其是在CSAC工作时自己 $230 的笔记本ubuntu系统没有linux mint底
层的任务栏),就发现之前配置c++ IDE时找到一个speedbar能在各文件间穿梭游动真
心好用 *_^。再后来,当意识到老师要我们解决 06 个difficult problems、以及要
求graduate student作一个群体个体数目(population size)与进化代数间的关系分
析等,乃是人为制造混乱、混淆视听时,这个天生带了点儿分析能力、试图接近事物真
相的性格,就直接导致了自己窥得天机(用 function pointer ),到这时,老师设置
的所有人为障碍都已经不再是问题,所以的问题都可以迎刃而解,除了交项目前最后一
个周遇上一点儿意外。
意外是这个样子的:我的代码在这之前的上一个周已经全部完成,上个周还run得好好
的,我又没有去碰自己的代码,为什么到这个周我再去run,就出不来结果了呢?这在
当时的自己还是太奇怪了,这真是一个奇迹啊~~
相关主题
offer选择,请支招求助,我该接受这个教学职位吗?
Assistant Prof.工作两年想换学校。请教!*** 告版友书 + 总动员 *** (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
361
第一个项目(3)
我本能地觉得它奇怪,却没有去想为什么会这样,有什么原因可能会导致这种情况。
这次引导我前进的工作是班上一个人品极好的美国学生,以后叫他大A吧(后来那个介
绍我org-mode的以后叫他小A吧),他写java代码,但是极有耐心地帮我一步一步debug
,我走程序,也坐旁边帮我出主意,花了一个小时左右的时间最终找到的原因是我的一
个变量原本应该是float,但被我不小心写成了int,加上我没有random number的概念
,就直接导致infinite loop重复出现。上次Lose track of the Record 是summer的最
后一个项目的那个bug,我只自己在想着可能的途径,却没去想原因;这一一同样一个
问题,居然第二次出现了,什么时候才能,当我一遇到问题的时候,我一定有一个思路
、知道该如何(至少是朝着哪个方向)去解决它,而不是像现在这样第二次地沉浸在奇
怪的魔力里,意识不到背后自己代码上应该一定是有问题的?
呵呵,当然,没有神插曲的课程、项目学起来、写起来又有什么意思呢?
想想这个神插曲,同一两个月后自己下定决心开始刷lc时第一个题目atoi,我根本就没
仔细读题目就跑去做,连续调了四个小时调得天昏地暗,还跑去问QQ群里的大神一次,
直接泪崩“我疯了~~”,还真是有得一拼(回忆起来可是无比好玩儿和甜蜜呀)~~
d**********o
发帖数: 1321
362
第一个项目report
这时偶刚到CSAC工作不久,与小A同学还不熟,我用的还是latex。随着贴的作业越来越
多,应该是用有共同爱好的小伙伴更亲密些。这次贴latex,下次才再org-mode。
\documentclass[b5paper,11pt, abstraction, titlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{CJKutf8}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{listings}
\usepackage{geometry}
\geometry{b5paper}
\usepackage{graphicx,floatrow}
\usepackage{graphicx,subfigure}
\newsavebox{\abstractbox}
\renewenvironment{abstract}
{\begin{lrbox}{0}\begin{minipage}{\textwidth}
\begin{center}\normalfont\sectfont\abstractname\end{center}\quotation}
{\endquotation\end{minipage}\end{lrbox}%
\global\setbox\abstractbox=\box0 }
\usepackage{etoolbox}
\makeatletter
\expandafter\patchcmd\csname\string\maketitle\endcsname
{\vskip\z@\@plus3fill}
{\vskip\z@\@plus2fill
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{Abstract}\box\
abstractbox\vskip\z@\@plus1fill Steady-state genetic algorithm is applied to
six famous difficult-to-solve problems. For this project, I chose the
population size of 100, sample size of 10, applied Tournament selection
method to select 2 elite parent. In each of my new generation, I kept a
version of my elite parent, then 2-point crossover with crossover rate of 0.
9, mutated the 2 individuals in each representation dimension with mutation
rate of 0.5. And I replaced the worst 2 individuals in previous generation
with the mutated 2 individuals. I repeated the process until find good
solution. For all the six functions we are able to find the best solution
within 2000 generations. Some small tests also indicates that there are
strong relationship between generation counts and population size. Beside,
the implementation for this project has very good object oriented design,
which maximumly minimized the code size and made it easy for debug.}
{}{}
\makeatother
\usepackage{lipsum}
\begin{document}
\titlehead{CS572}
\title{Project 1 Genetic Algorithm}
\subject{Evolutionary Computation}
\author{(me~~~)}
\begin{CJK}{UTF8}{gbsn}
\maketitle
\lstset{language=c++,
numbers=left,
numberstyle=\tiny,
basicstyle=\ttfamily\tiny,
%basicstyle=\tiny,
tabsize=4,
%keywordstyle=\color{blue!70}, commentstyle=\color{red!55!green!55!blue!55},
frame=none, %frame=shadowbox,
%rulesepcolor=\color{red!20!green!20!blue!20},
escapeinside=``,
%xleftmargin=0em,xrightmargin=0em, aboveskip=0.5em
extendedchars=false %这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显
示的问题
}
\begin{abstract}
\lipsum[1]
\end{abstract}
\section{Program Design \& Data Structures}
\begin{itemize}
\itemsep=-3pt
\item In this project, I have implemented Object-Oriented(OO) design as
suggested by Dr. Soule.
\item Since we have six functions, and each of them also have low threshold
value and high threshold value, it will be difficult to handle without a
good design. So for this project, they are all defined in the "fitness.h"
interface.
\item There are three classes, Function, Individual and Population.
\item Function object packs the threshold values and fitness functions all
together for any of the six functions; Functions are classified into two
categories, Separable and inseparable. The essential things be able to packs
functions are the two different categories of function pointers which will
later be used for calculating the fitness for each individual.
\item Individual object sets pointer to Function instance, and also generate
initial values, builds solution representation;
\item Population object sets pointer to an array of individuals and define
the necessary genetic algorithm functions like 2-point crossover, builds new
generation.
\item the main.cpp program linked all these objects together and solves the
problems.
\end{itemize}
Codes are attached for reference. The files include the following:
\begin{itemize}
\itemsep=-3pt
\item fitness.h
\item fitness.cpp
\item function.h
\item function.cpp
\item individual.h
\item individual.cpp
\item population.h
\item population.cpp
\item main.cpp
\item makefile
\end{itemize}
\section{Algorithm Descriptions}
\subsection{Genetic Algorithm}
In this Project, since I am trying to implement an OO design together with
handling pointer, to try to avoid complexity and also considering my laptop
CPU limitations, I chose to use the easier to implement Steady-state
Algorithm at the cost and risk of slowing down and may not get the expected
Results within limited time frame.
My genetic algorithm essential steps are listed as followed:
\begin{itemize}
\itemsep=-3pt
\item Instance a Population object of Population size 100;
\item Using Tournament selection method selected sample size of 10
individuals during each generation;
\item Compare sample fitnesses and keep the best two elite individuals
untouched into the new generation. Trying to speed up the evolution, I
replaced the worst two individuals in each parent generation with the 2-
point crossover and mutated version of previously found sample elite
individuals. Crossover and mutations are done with specific crossover rate
and mutation rate.
\item I loop through these steps trying to approach the final steady state.
Loop will eventually end when best individual gets the fitness less than 0.
0001.
\end{itemize}
The pseudo-algorithm is listed followed: % modify here
\begin{lstlisting}[language=c++]
Generate a population of size 100
Loop until best individual reaches threshold fitness value
record the best individual index, representation \& fitness
set sample size = 10
set crossover rate = 0.8
set mutation rate = 0.5
loop do
// pick elite 2 individuals from random sample
randomly select a sample of 10, save Population indexes as value
winner Fitness = Sample[0].fitness
winner index = sample[0]
second Fitness = winner Fitness
second index = winner index
Loop ( sample size - 1 ) times
temp Fitness = Sample[i].fitness;
if temp Fitness better than winner Fitness
second Fitness = winner Fitness
second index = winner index
winner Fitness = temp Fitness
winner index = temp index
if temp fitness worst than winner Fitness and
temp fitness better than second Fitness
second Fitness = temp Fitness
second index = temp index
return struct {winner index, second index} as twoIdx
// Get worst 2 individual indexes from Population:
worst Fitness = Population[0].fitness
worst index = 0
second Fitness = worst Fitness
second index = worst index
Loop population size -1 times
temp Fitness = Population[i].fitness;
if temp Fitness worst than worst Fitness
second Fitness = worst Fitness
second index = worst index
worst fitness = temp Fitness
worst index = temp index
if temp fitness better than winner Fitness and
temp fitness worse than second Fitness
second Fitness = temp Fitness
second index = temp index
return struct {worst index, second index} as twoIdx
// keep elite parent into new generation untouched
copy parent representations into worst individuals positions
winfst = sample winner first
winsnd = sample winner second
fst = population worst first
snd = population worst second
Loop number of dimension p times
popu[fst].point[i] = popu[winfst].point[i]
popu[snd].point[i] = popu[winsnd].point[i]
popu[fst].fitness = popu[winfst].fitness
popu[snd].fitness = popu[winsnd].fitness
// 2-point crossover parent with crossover rate
generate random float number
if random value greater then crossover rate
do nothing and end of this step
else
generate two indexes within range [1, p-2] and not equal, lowIdx
, highIdx
allocate temporary float memory space of size (highIdx-lowIdx)
copy second parent middle fragment to temporary space
copy first parent middle fragment into second parent middle
positions
copy temporary fragment into first parent middle positions
// mutate the crossover parent with mutation rate
calculate divider corresponding to generation counter
extract Function specific low threshold value low
extract Function specific high threshold value high
allocate temporary float space for store mutated value
Loop number of dimension p times
generate random float number
if random value less then mutation rate
generate random value delta corresponding to Function range
and divider
apply increase or decrease to current dimension \&
store the result in temporary float space
check, repeat \& make sure mutated value is valid
copy from temporary space to original dimension value position
calculate new fitness value for mutated Individual
repeat above loop one more time for the other crossover individual
// generate new child Population
by conduct above three main modules, it is currently new generation
already
End loop
\end{lstlisting}
\subsection{Initial Random Solution Generation}
Initial random solution is the solution we randomly generated to start and
begin our evolutionary process. According to different function problem
requirements, any random start point must have all the valid values for 30-
dimension. So as far as the randomly generated points are within the valid
value range, and as far as any value in the valid range has equal
probability to get generated, which means our random generator can produce
any valid value within range with equal probability and has no bias to
weaken our tests, we are good to go.
The initial random solutions are coded in the "individual.h" interface,
necessary codes are listed below:
\begin{lstlisting}[language=c++]
typedef float (*funPtrSep)(float); // separable
typedef float (*funPtrNSe)(float*, int); // inseparable
class Function {
public:
Function(float l, float h, funPtrSep ptr, bool flag);
Function(float l, float h, funPtrNSe ptr, bool flag);
float low;
float high;
float fitness;
bool sepaFlag;

funPtrSep sepPtr;
funPtrNSe nsePtr;
};
class Individual {
public:
Individual(Function* funptr);
// functions
void generate(); // generate an individual
float getFitness();// calculate the fitness when initialization
float* point; // pointer to dynamic array of dimension size p (
constant)
float fitness; // store fitness value for the point
float mutRate;
Function* funPtr;
};
void Individual::generate() {
int high = (int)((*funPtr).high);
if (high < (*funPtr).high)
high = high + 2;

for (int i = 0; i < p; ++i) {
if ( (rand()%100/100.0) >= 0.50 )
point[i] = rand() % high - (rand() % 100000)/100000.0; // pos
else
point[i] = -rand() % high + (rand() % 100000)/100000.0; // neg
// check if value is within valid range for specific function
while (point[i] < (*funPtr).low || point[i] > (*funPtr).high) {
if ( (rand()%100/100.0) >= 0.50 )
point[i] = rand() % high - (rand() % 100000)/100000.0;
else
point[i] = -rand() % high + (rand() % 100000)/100000.0;
} // while
} // for
fitness = getFitness(); // caculate the fitness for the point
}
\end{lstlisting}
\subsection{Representation}
Each solution is represented by a 30-dimension dynamically allocated float
array storing the float values for the corresponding dimensions, together
with a float value storing the fitness float results for that solution.
Solution representation is defined in "individual.h" interface.
Corresponding codes are included as followed:
\begin{lstlisting}[language=c++]
class Individual {
public:
Individual(Function* funptr);
float* point; // pointer to dynamic array of dimension size p (constant)
float fitness; // store fitness value for the point
};
\end{lstlisting}
\subsection{Fitness function}
Fitness function is the particular objective function that is used to
measure and summarise how good the current solution is to achieve the global
optimum. For this project, we have six different fitness functions. Each of
them is independent of any of the other.
The six fitness functions are represented below:
\begin{math}
\noindent
\ f_{Sph}(x) = \sum\nolimits_{i=1}^p x_i^2
\ f_{Ros}(x) = \sum\nolimits_{i=1}^{p-1} [100*(x_{i+1} - x_i^2)^2 + (x_i -
1)^2]
\ f_{Ras}(x) = 10*p + \sum\nolimits_{i=1}^{p} (x_i^2 - 10cos(2\pi x_i))
\ f_{Sch}(x) = 418.9829*p + \sum\nolimits_{i=1}^{p} x_i*sin(\sqrt{|x_i|})
\ f_{Ack}(x) = 20 + e - 20*exp(-0.2\sqrt{\frac{1}{p}\sum\nolimits_{i=1}^p x
_i^2}) - exp(\frac{1}{p}\sum\nolimits_{i=1}^pcos(2\pi x_i))
\ f_{Gri}(x) = 1 + \sum\nolimits_{i=1}^p \frac{x_i^2}{4000} - \prod\
nolimits_{i=1}^p cos(\frac{x_i}{\sqrt{i}})
\end{math}
Since each of our point/solution has 30-dimension, we plug the point array
values into these fitness functions specifically, that way we would be able
to get the fitness for the solution.
By staring carefully at these six functions, we would be able to
differentiate that three of these functions are separable, and the other
three can not be. According to this attribute, I have design separate
strategies for these two sets.
\begin{description}
\itemsep=-3pt
\item{Separatable Functions}
\begin{itemize}
\itemsep=-3pt
\item For separable functions, are fitness function is originally defined
at dimension layer, and then at the point layer, I simply sum the fitness of
30-dimension all together to get the point fitness because the function is
separable.
\item Dimension layer functions are defined in the "fitness.h" interface,
and point layer functions are defined in the "individual.h" interface.
Mythologically speaking, the point layer definition is simply loop and call
the dimension layer functions through all the 30-dimension.
\end{itemize}
Take Schwefel function as the example, necessary codes are listed as
followed:
\begin{lstlisting}[language=c++]
const float schl = -512.0300;
const float schh = 511.9700;
float getSchFitness(float x);
float getSchFitness(float x) { // dimension-layer fitness
float y = 418.9829;
if (x - 0.0 < 0.000000001)
y = y + x*sin(sqrt(-x));
else
y += x*sin(sqrt(x));
return y;
}
float Individual::getFitness() { // point-layer fitness
float y = 0;

if ((*funPtr).sepaFlag) // if separatable functions
for (int i = 0; i < p; ++i)
y += funPtr->getFitness(point[i]);
else // non separatable functions
y = funPtr->getFitness(point, p);
fitness = y;
return y;
}
\end{lstlisting}

\item{Nonseparatable Functions}
\begin{itemize}
\itemsep=-3pt
\item For inseparable functions, I have no other choice but define the
fitness measure at the point layer.
\item To implement that, I passed in the point representation pointer to
float array and the integer length of the array as the fitness function
argument.
\item In order to maintain these a lot six functions, I would better be able
to design some implementation that can help save codes, facilitate the
execution steps uniformly.
\item As an possible solution that I can come up with, I defined all these
detail oriented threshold value constants, dimension layer fitness and point
layer fitness all together in the "fitness.h" interface super layer of my
Object-Oriented design (OOD).
\item Since later on when I mutate individuals, I will still need to have
access to the low and high thresholds for specific functions, I think it
will be wise for me to pack these function-correspond constants and
functions all together to be the "Function" objects.
\item In order be able to call these detail layer functions, I typedeffed
two different type of function pointers.
\item And in my "individual.h" interface, I just need to call the
corresponding functions using the right function pointers.
\end{itemize}
Take Rosenbrock function (inseparable) and Schwefel function (separable) as
the comparison, necessary codes are listed as followed:
\begin{lstlisting}[language=c++]
const float rosl = -2.048;
const float rosh = 2.048;
const float schl = -512.0300;
const float schh = 511.9700;
float getRosFitness(float* x, int p) ;
float getSchFitness(float x);
float getRosFitness(float* x, int p) { // point layer fitness
float y = 0.0;
for (int i = 0; i < p-1; ++i)
y += 100*pow((x[i+1]-pow(x[i], 2)), 2) + pow((x[i]-1), 2);
return y;
}
float getSchFitness(float x) { // dimension-layer fitness
float y = 418.9829;
if (x - 0.0 < 0.000000001)
y = y + x*sin(sqrt(-x));
else
y += x*sin(sqrt(x));
return y;
}
typedef float (*funPtrSep)(float); // separable
typedef float (*funPtrNSe)(float*, int); // inseparable
float Individual::getFitness() { // point-layer fitness
float y = 0;

if ((*funPtr).sepaFlag) // if separable functions
for (int i = 0; i < p; ++i)
y += funPtr->getFitness(point[i]);
else // if inseparable functions
y = funPtr->getFitness(point, p);
fitness = y;
return y;
}
\end{lstlisting}
\end{description}
\subsection{Selection}
Since two of the most widely used selection methods are covered during class
, Tournament selection method and the Roulette wheel selection method.
Generally speaking, the Roulette wheel selection method is a weight or rank
based selection, so applying this method could potentially easily result in
over-selection or under-selection. In over-selection, the best individuals
would be able to dominant the offspring quite often. While in situations
when all the individuals are equally likely to be selected, it could easily
ended up with under-selection.
On the other side, the Tournament selection is completely random. By
selecting a certain size of sample from the population, we would be able to
compare the fitness among the sample. And we select the best two as the
parent of the new generation.
I don't know my population that well yet, I have finished implementations
using both methods, but for safety related reasons, I applied the Tournament
selection method in my project here. For the detail, for the population
size of 100, I used the Tournament method to randomly select 10 individuals
as my sample, and among the sample, by comparing the fitness values, I
selected the best two individuals as the parent for my new generation.
The selection methods are defined in the "population.h" interface. The
complete codes are attached in behind for reference.
\subsection{Steady State Algorithm}
The most widely used algorithms are generational algorithm and the steady-
state algorithm. After the selection step, these two algorithms behave
slightly differently.
The generational algorithm keeps the elite parent into the new generation
untouched, and by applying crossover and mutation methods on these parent
with randomness to produce the rest of the generation. The steady-state
algorithm also keep the parent into new generation untouched, but the
crossover and mutation on parent happened only once to replace some pair of
individuals in the old generation, and keep the rest of the old generation
untouched as well to form the new generation.
For implementation, I originally finished the steady-state algorithms with
all the functions smoothly, then I tried generational algorithms. But since
there are too often crossover, mutation resulted memory swapping, there is
no way I can finish my project considering the calculating speed and CPU
limitations. So I still ended up with steady-state algorithms to finish this
project.
\subsection{2-point Crossover}
1-point crossover, 2-point crossover and uniform crossover are all covered
during class. 1-point and uniform crossover are slightly easier, and I
choose the 2-point one.
After having selected the best 2 individuals from the sample, I also have
selected the two worst individuals from the population in order to
facilitate the evolution process. When I implement the crossover, I firstly
copied the parent individuals selected from the sample to the worst
population individuals positions, and then I do the crossover on parent
individuals on place with a crossover rate float values passed in into the
object instance.
For crossover, here are all the details:
\begin{enumerate}
\itemsep=-3pt
\item I randomly generated two integers in the range of [0, 29] inclusive (
by "\% size") as the index for the two crossover positions in the solution
representation. When circumstances like one of the index is 0, or 29, or the
two indexes are equal, I repeat my initial generation until indexes are
within range [1, 28] inclusive, and the two are not equal. If necessary, I
swap the two so that my lowIdx is smaller than highIdx for sure.
\begin{lstlisting}[language=c++]
int lowIdx = rand() % size;
int highIdx = rand() % size;

while (lowIdx == 0 || highIdx == size-1
|| highIdx == 0 || lowIdx == size-1
|| lowIdx == highIdx) {
lowIdx = rand() % size;
highIdx = rand() % size;
}
if (lowIdx > highIdx)
swap(lowIdx, highIdx);
\end{lstlisting}
\item I allocated an temporary array of size (highIdx - lowIdx), and I
stored the middle fragment of the second parent into this temporary space;
\begin{lstlisting}[language=c++]
float temp[highIdx-lowIdx];
\end{lstlisting}
\item I copied the middle fragment of the first parent into the
corresponding positions of the second parent, so the second parent has the
middle fragment originally came from the first parent;
\item I copied the temporary space array into the middle fragment of the
first parent so that the first parent has the middle fragment originally
came from the second parent;
Code for step 3 and 4 are listed as followed for quick reference:
\begin{lstlisting}[language=c++]
int fst = winIdx.fst;
int snd = winIdx.snd;
int tmpidx = lowIdx;
// save and swap fragments
for (int i = 0; i < highIdx-lowIdx; ++i) {
temp[i] = popu[snd].point[tmpidx];
popu[snd].point[tmpidx] = popu[fst].point[tmpidx];
popu[fst].point[tmpidx] = temp[i];

tmpidx++;
}
\end{lstlisting}

\item In order to control the crossover rate, I generated an random float
value within range of [0, 1] exclusively. If my random value is greater than
the crossover float rate, I give up and do nothing in this step; Otherwise,
I conduct the above 4 steps.
\end{enumerate}
\subsection{Mutation Rate}
While crossover provides possible potential recombination of better
solutions, we would also need mutation to introduce diversity and
variability into the population. The mutation rate is a float value within
range of [0, 1] exclusively.
For the implementation, after my 2-point crossover, looping through out the
30-dimensions, for each dimension which means for each element of the
solution representation, for each dimension or each element of solution
representation, I do the following steps:
\begin{enumerate}
\itemsep=-3pt
\item I generated an random float value within range of [0, 1] exclusively.
If my random value is greater than the mutation float rate, I give up and do
nothing for the specific dimension, or in other word, for the specific
element of the solution representation. Otherwise, I do the following;
\item I allocated new float temporary space for new mutated dimension value;

\item I generated an random float increased or decreased value delta by
dividing the valid range of specific function by a scaling factor which is
corresponded to the generation count. Necessary codes are listed below as
quick reference:
\begin{lstlisting}[language=c++]
lowThd = (*(popu[0].funPtr)).low;
highThd = (*(popu[0].funPtr)).high;
extern int genNum ;
if (cnt % 1000 == 0)
genNum *= 10;
for (int i = 0; i < p; ++i) {
if (rand()%1000/1000.0 < mutRate)
{
delta = (float)((highThd - lowThd) / genNum );
// ...
\end{lstlisting}
By scaling down the mutation amount when generation counts increases, I
would be able to tune my mutation from originally ruff ones to the near
finally refined mutations, which helped a lot with the Schwefel function.
\item I applied the increase or decrease to the original values by 50\%-50\%
chance. My value before mutation is untouched, and I store my mutated value
in my temporary space;
\item I checked the mutated dimension to see if the new dimension value is
valid. if it does, I am fine; Otherwise, I repeat step 3 and 4 until I get
valid dimension value for specific function. Note, I still have my
originally dimension values since I have stored my mutated value in another
temporary space to preserve originally dimension value.
\item When my mutation is valid, I copied my mutation from temporary space
into the originally space so that dimension mutation is done.
\end{enumerate}
I repeat the above steps for all 30-dimension for each of the two crossover
individuals.
When both the two crossover individuals are done with these mutations, I am
done with the mutation for one steady-state generation. And for the followed
generations, for these steps, the mechanism are also similar just like this
.
\subsection{Produce New Generation}
\begin{enumerate}
\itemsep=-3pt
\item As having being stated from previous steps, after I selected 2
individuals as the parent using Tournament selection method, I have also
selected the worst two individuals from the population. And I copied my
parent into the positions of the worst population individuals so I have an
extra copy of my parent in current generation.
\item Then, I 2-point crossover parent on place with crossover rate, and
mutation each dimension for each individual of the parent with mutation rate.
\item And correspondingly, I update my two mutated individuals with updated
fitness values, so they have refreshed and complete representation.
\end{enumerate}
All my crossover and mutation in implementation are happened on place. So
for each generation after the above steps are done,
\begin{itemize}
\itemsep=-3pt
\item I have a untouched copy of my sample elite parent located in
originally worst population individuals place;
\item On my sample elite index places, I have 2-point crossover with
crossover rate, and each individual each dimension mutated with mutation
rate and within valid range for each of the six functions;
\item All other individuals in original generation are kept untouched into
the next generation.
\end{itemize}
I have done everything I need for the new generation, and it is the new
generation already!
\subsection{Detail Attention}
\begin{itemize}
\itemsep=-3pt
\item Check the range of the mutated dimensions. Each mutated dimension must
be within the range of function definition.
\item In class constructors, since I have to deal with pointers, constructor
does only allocate memory space job. And corresponding, in the destructor,
I will have to manually release system resource to delete [] the pointer to
float array for Individual::point, Population::weight, Population::popu,
Population::idxArray for Tournament selection sample indexes.
\item When replace worst Individual with mutated version of elite Individual
, since they are pointed by pointer, I will have to conduct deep copy to
ensure parent Population and child Population is on the same memory address,
which also produces the trouble of frequent memory swap, and potentially
increases cache miss rates.
\item By OO design, I have included the fitness float variable to record the
fitness. So in my Steady-state Algorithm implement, when I deep copy my
elite Individual to the worst Individual memory place, I need to deep copy
the pointer to 30-dimension point, and I would also need to copy the elite's
fitness as well. similarly, when I mutate my elite a little bit within each
generation, I would also need to recalculate and update the fitness value
accordingly for the mutation happened.
\end{itemize}
\subsection{Generation vs Population Size}
I think that the population size and the number of generations are strongly
related to each other. But to do a scientific research on this, we need to
have some design and test on them. This part is filled out after having done
all other parts of the project. So the design and necessary numbers are
corresponded to the results came beforehand.
This small sub-project is designed as followed:
\begin{itemize}
\itemsep=-3pt
\item Since steady-state is slightly slower than the generational algorithm,
also based on my previous results, instead of using the suggested number of
5000, for my problem, I have used 20000 instead.
\item By dividing the 20000 differently I got 8 combinations whose product
is 20000, which are 20*1000, 25*800, 50*400, 100*200, 200*100, 400*50, 800*
25 and 1000*20.
\item Since the initial generation of the population has great randomness,
to get a reasonable result, I will have to do repeats to overcome the
shortcoming. So for each specific function and each combination, I will
repeat 1000 times, and get the average population minimum fitness as the
specific function specific combination minimum fitness, and the same method
apply to the get the average fitness of the population as well.
\item Among all the tests, all other factors are keep the same: sample size
10, crossover rate 0.9, and mutation rate 0.5.
\item For each function, I will get the 8 combination results; I plot and
get the feeling what's going on.
\item I apply the same process for all other functions to remove bias.
\end{itemize}
For each function, the necessary program codes are listed as followed:
\begin{lstlisting}[language=c++]
int sampleSize = 10;
float mutateRate = 0.5;
float crsRate = 0.9;
int* idxArray = new int[sampleSize];
int popuSize[8] = {20, 25, 50, 100, 200, 400, 800, 1000};
int genCount[8] = {1000, 800, 400, 200, 100, 50, 25, 20};
float minFitness[8];
float avgFitness[8];
int counter = 0;
twoIdx winIdx;
float min, avg;

for (int it = 0; it < 8; ++it) {
min = 0.0;
avg = 0.0;
for (int i = 0; i < 1000; ++i) {
Population* popu = new Population(popuSize[it], mutateRate, crsRate,
indi);
counter = 0;
while (counter < genCount[it]) {
popu->genRanIndi(sampleSize);
idxArray = popu->idxArray;
winIdx = popu->tourSelection(sampleSize);
popu->newGen(winIdx, counter);
++counter;
}
min += popu->minFitness();
avg += popu->avgFitness();
}
minFitness[it] = min / 1000.0;
avgFitness[it] = avg / 1000.0;
}
for (int i = 0; i < 8; ++i)
printf("%5.5f\t %5.5f\n", minFitness[i], avgFitness[i]);
\end{lstlisting}
\section{Results}
\subsection{General Results}
By using a population size 1000, and Tournament selection sample size of 50,
crossover rate 0.9, and mutation rate of 0.5, all these functions are
performing pretty good. The Sphere function and Rastrigin function can
converge within first 1000 generations using the steady-state method. And
the other four functions can also converge to very small values within 2000
generations.
Compared with the Generational Algorithm, Steady-state Algorithm is very
slow because during each generation change, only the worst two population
individuals got crossover and mutated with certain rates at each step.
But due to the fact that each generation when I generate the new generation,
I almost always (because the crossover rate I have used for this project is
0.9) crossover the sample elite parent and mutated them to replace the
population worst two individuals. The worst ones were kicked out of the
population pretty fast, so it helps to make average fitness converges fast.
The minimum fitness and average fitness plots are included below for each of
the six functions.
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{sph}
\includegraphics[width=0.49\textwidth]{ras}
\caption{Sphere Function, Rastrigin Function}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{sch}
\includegraphics[width=0.49\textwidth]{ros}
\caption{Schwefel Function, Rosenbrock Function}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{ack}
\includegraphics[width=0.49\textwidth]{gri}
\caption{Ackley Function, Griewangk Function}
\end{figure}
From the above Figure 1 - Figure 3 plots, we can see that are very identical
. In my implementation, all the codes for different functions are all
identical except the very basic "fitness.h" interface layer definitions for
the fitnesses of different functions and valid value range. So all the plots
above are the results that I have been expected.
\subsection{Generation vs Population Size}
\begin{table}[htp]
\floatsetup{floatrowsep=qquad,captionskip=2pt} \tabcolsep=2pt
\begin{floatrow}
\ttabbox{\caption{Sphere Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000 & 2.64207 & 2.77993 \
25*800 & 2.07673 & 2.18884 \
50*400 & 1.29104 & 1.34800 \
100*200 & 0.90835 & 1.89914 \
200*100 & 8.59669 & 77.07819 \
400*50 & 31.56960 & 187.18013 \
800*25 & 51.75002 & 211.62947 \
1000*20 & 56.83261 & 214.75609 \
\hline
\hline
\end{tabular}}
\ttabbox{\caption{Rastrigin Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000&36.93418&36.99158\
25*800&36.22066&36.26357\
50*400&27.90036&27.92589\
100*200&20.25126&25.83081\
200*100&64.67305&272.61365\
400*50&179.31686&468.8251\
800*25&238.23174&503.35669\
1000*20&253.00603&507.34882\
\hline
\hline
\end{tabular}}
\end{floatrow}
\end{table}
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{sphb}
\includegraphics[width=0.49\textwidth]{rasb}
\caption{Sphere Function, Rastrigin Function}
\end{figure}
%\includegraphics[width=0.55\textwidth]{sphb}
%\includegraphics[width=0.55\textwidth]{rasb}
\begin{table}[htp]
\floatsetup{floatrowsep=qquad,captionskip=2pt} \tabcolsep=2pt
\begin{floatrow}
\ttabbox{\caption{Schwefel Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000&1192.64514&1210.27551\
25*800&1114.95972&1131.40137\
50*400&588.37323&596.22162\
100*200&410.74921&714.9552\
200*100&2878.34399&8155.80664\
400*50&6023.64209&11729.87695\
800*25&7186.91455&12343.68164\
1000*20&7466.28564&12418.7041\
\hline
\hline
\end{tabular}}
\ttabbox{\caption{Rosenbrock Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000&59.4178&170.85864\
25*800&54.88237&145.98579\
50*400&46.41158&85.99285\
100*200&53.25977&112.75067\
200*100&175.77638&2932.50635\
400*50&592.36963&7677.64697\
800*25&1046.46228&9146.99121\
1000*20&1187.62634&9352.22266\
\hline
\hline
\end{tabular}}
\end{floatrow}
\end{table}
%\includegraphics[width=0.55\textwidth]{schb}
%\includegraphics[width=0.55\textwidth]{rosb}
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{schb}
\includegraphics[width=0.49\textwidth]{rosb}
\caption{Schwefel Function, Rosenbrock Function}
\end{figure}
\begin{table}[htp]
\floatsetup{floatrowsep=qquad,captionskip=2pt} \tabcolsep=2pt
\begin{floatrow}
\ttabbox{\caption{Ackley Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000&48.39861&48.49332\
25*800&44.48375&44.56775\
50*400&33.19999&33.24855\
100*200&25.11809&36.47882\
200*100&211.21599&3018.77954\
400*50&1353.1123&7036.66162\
800*25&2259.34692&7847.84912\
1000*20&2485.90039&7948.56494\
\hline
\hline
\end{tabular}}
\ttabbox{\caption{Griewangk Function}}{
\begin{tabular}{lrr}
\hline
\hline
Combination & Minimum & Average \
pSize*genCnt & Fitness & Fitness \
\hline
20*1000&92.59085&92.59692\
25*800&92.11481&92.11967\
50*400&91.14037&91.14434\
100*200&143.45087&1361.99719\
200*100&109380.66406&1371220\
400*50&660936.5&3105995.25\
800*25&1043758.25&3453765\
1000*20&1132902.75&3496705.5\
\hline
\hline
\end{tabular}}
\end{floatrow}
\end{table}
\begin{figure}
\centering
\includegraphics[width=0.49\textwidth]{ackb}
\includegraphics[width=0.49\textwidth]{grib}
\caption{Ackley Function, Griewangk Function}
\end{figure}
%\includegraphics[width=0.55\textwidth]{ackb}
%\includegraphics[width=0.55\textwidth]{grib}
From the above Table 1 - Table 6 and Figure 4 - Figure 6 results, we can
clearly see that there are significant relationship between generations and
the population size. As more clearly indicated by the Rastrigin function and
the Schwefel function than others, the population size of 100 combined with
generation count of 200 uniformly performs the better throughout all these
six functions.
This result does not necessarily mean that every time we should choose these
kind of numbers, but rather simply indicates the relationship exists. Since
any other factors are all kept the same, in reality, when we need to choose
reasonable as well as good and efficient numbers, we should conduct similar
pretests to tune the factor values a little bit before we start.
\section{Conclusions}
\begin{itemize}
\itemsep=-3pt
\item The steady-state genetic algorithm that I have used in this project
performs pretty good to solve some problem that is difficult for regularly-
based methods. Compared with project 1a and 1b, by using hill climbing, we
could be possibly blocked in local optimum. On the other side, the genetic
algorithm can always find the global optimum whenever it takes, it will find
it. And actually by applying some scaling factor or tricks, it behave
actually pretty good, not taking that long, and it's quite fast and
efficient.
\item But still, steady-state algorithm should be slightly slower compared
with generational algorithm.
\item There are strong relationship between generation counts and the
population size. We don't want population size too small, which could easily
result in bias, yet we don't want it to be too large not necessarily slow
down the process. Before the initial projects, we should have similar
pretests for project design.
\end{itemize}
\end{CJK}
\end{document}
d**********o
发帖数: 1321
363
原来我可以
回想这学期这第一个项目(Subproject A, Subproject B, Project 1)一路写下来,
每解决一个小问题,每交上去一个小版块,我都是一阵狂兴奋,那是成长的印迹~~ 说
起来还只能归结于不同老师的授课内容、代课风格、教课效果不一样吧,相比于板块的
选课,换成AI的老师来教,这第一个完整的项目做完了,把老师人为设置的障碍火眼金
睛识破后,根本就没有多大的难度嘛,哪里难、难在哪儿?到第一个项目交上去后,我
对这门课的戒备心就平复了~~
那天具体日期我不记得了,大概是第一个项目交上去当天(?),就着刚从怪力圈
debug逃脱那股儿兴奋劲儿,我上课提了两个问题(具体我问了什么问题,时间久远,
我不记得了);后来老师再讲一个什么统计表达式的时候,我又问了一个统计相关的问
题,但那第三个问题的结果是,完全出乎自己意料的,我想错了,或许之前自己还是统
计专业的学生时,这个知识点我就弄错了,还浪费一次提问,几分羞愧,老师帮我把那
个问题回答完,上课当时我脸就发烫,应该是红着的吧~~ 同为狮子座的代课老师(我
猜测的,不过我相信我猜对的可能性非常大),也觉查到我的异样,接下来很短一段时
间的讲课(后来应该是回复到正常状态了),他说话的腔调、语气也都稍有变化,大概
是说,我这样的学生、以这样的提问效果和方式,会扰乱他正常讲课吧~~
d**********o
发帖数: 1321
364
没有观点的提问(1)
那天是周五,没有想到的是,同学之间,小伙伴们把我这一不小心、显得没有观点的提
问给传开了,这一一太让人无语了~~
那天是周五,我上完EC接下来一个小时的distributed system课后就来CSAC值班。那时
我每周在CSAC工作十个小时,再到系main office去帮忙整理document十小时,这时候
后十个小时还并不是十分严格;后来是大牛看见我作这些事情心疼,问我"Why are you
doing this?"我解释后,后来就把我调整成每周CSAC工作十五个小时,给一门CS150作
grader五小时,我就成了唯一一个每周在CSAC工作 15 个小时的人~~!!
往常周五下午来CSAC问问题的学生并不多,但是那天,绝对反常于平常人数的学生坐在
那里学习,这是在显示对我悲天悯人的人文关怀?
系里的大牛应该是很忙的,那天中午,大牛随他的学生来到CSAC里面的一个实验室,路
过时同我热情打过招呼。可这招呼却打得自己内心里本能地抵触反感,感觉自己一次
bad performance就会被放大了很多倍,会弄得路人皆知的~~
d**********o
发帖数: 1321
365
没有观点的提问(2)
更有甚者,EC课代课老师的另一门课的一个TA(这个老师那门课有两个TA,一个是我EC
同学),他根本没上EC课,那天也有一两个hours在CSAC值班,我们坐同一张大桌子,
他还在旁边与他的一个小伙伴不停地讲着他的一个同学上课提问make no point的故事。
想想,自己之前理解错了,一不小心又多提问了一次,我又不是每天都以这种方式提问
,犯得着这样把别人偶尔才犯一次的错误放大到这种程度吗?更何况,我早就意识到、
担心这种情况发生,在EC接下来一小时的distributed system课上,我已经自动启动防
卫模式,上课时有疑问也没有提问,一堂课里没有任何发言,等到老师说下课了,我才
把自己的问题向老师一个人提出的,我要浪费也是浪费老师一个人的时间,没有再耽误
课堂上任何其它同学的时间,这帮听风就是雨、见老师眼色形事的人,还想要我怎样?
见这个TA滔滔不绝地讲个不停,我就直接对他说"Excuse me!"请他为我让道,老姐要
去上厕所~~ 等我回来,这人居然还在讲这同一个话题。坐里面的同学都明白我的不快
,一个学生把他拉去问问题了,他临走时还对他讲话的对象说,"to be continued~~"
我心里窝火,对这样的环境难受极了,看看时间还有不到半个小时就可以下班了,就去
main office里对老师说,我今天不舒服,我想早点儿回去,改天再把这半个小时补回
来,她同意后我就遁回家了。
我原本不是这样的人,事件的发生也只是意外,这事后来也没能给放大到多大程度。过
了那个周五,和接下来两天的周末,我自已的心情也就平复了。
d**********o
发帖数: 1321
366
被鄙视(1)
这位代课老师清淅的代课风格应该是学生们有目共睹的,他的AI课给大家上得很好玩儿
,接下来这门EC课注册的同学就挺多的,相比于编译课一个小教室坐得稀稀落落,这门
课一个两倍大的教室坐得还挺满的。这个AI老师代的两门课在学生中还是很popular的~
~
我并不认为班上的同学、graduate student都能做到像我第一个项目那样条理清晰,有
不少同学是6个问题一个一个分问题解决的。或许也是终合的第一个项目学生们的进展
表现,和第二个项目的难度,老师在第二个项目一开始就给出了四五个文件的基础代码
,我们可以在这些代码的基础上去接着干接下来的活儿。后来知道,第二个项目还是有
那么几个考点的,但是刚接到新项目当天,就有小伙伴不满老师还需要给我们基础代码
,就毫不客气地把账算到了我头上~~!!
d**********o
发帖数: 1321
367
被鄙视(2)
那天坐在我后一排右边的同学,从那天上课一开始就在不停在清理他的喉咙,清理他喉
咙的声音之响,频率之频繁,让我感觉,他是在率领小伙伴们鄙视我,他们可能认为代
课老师就是因为我,才有必要在第二个项目一开始就给出基础代码,代课老师是因为担
心我做不出来、下不来台,才从此拉低了这堂课的授课水平和项目要求?!!
天地良心,我的第一个项目、将自己之前理解不透、用得不熟的makefile、function
pointers都很好地串起来了,势如破竹般一一攻克,先前没有不够的意识也在大A的帮
助下也debug出来。大A就是见证人,他亲眼见证了我这个转专业的学生,第一个项目是
完成得相当好的呀~~ 一定要算账的话,这笔账是无论如何也算不到我头上的呀?!!
那堂课我的一双胳膊一直本能地环抱在胸前,据说这反映了主人自我保护的心理状态。
d**********o
发帖数: 1321
368
被鄙视(3)
那堂课,空气有些对对峙。
那堂课,老师也在试图制造机会让同学们回答问题。那堂课老师在讲genetic
programming的cross over。老师在白板上画了genetic algorithm cross over的图,
和genetic programming的cross over的图,然后提问说,这两者在cross over上最主
要的不同是什么?有一两个同学跃跃欲试地回答了问题,但都不是老师想要的答案,同
上一门相对陌生的课,我也并不比自己的小伙伴们有更多的想法。后来,实在等不到正
确答案,老师就直接给我们讲genetic algorithm cross over后基因的位置是不变的,
但genetic programming的cross over因为是swap subtrees,subtrees的大小不一,所
以基因的位置就可能会被打乱。
等老师把这个问题讲完,我就接着问了老师关天基因上位性的问题,希望老师能稍作讲
解。epitasis这个概念老师在讲genetic algorithm时提起过一次。虽然自己的提问可
能很傻,可我对先前老师提到过概念的回忆,小伙伴们对我的提问也还是服气的~~
不是说我上课提问不make a point吗,现在有没有point?我同小伙伴们一样,也没能
回答出那个老师极度渴求的答案,但老师的讲解引发了我们思考,学生的提问也
inspire了老师的深入讲解和小伙伴们的思考,所谓课堂互动、师生互动,也不过如此
吧~~
d**********o
发帖数: 1321
369
第二次作业
我以为自己对这门课的戒备心到第一个项目交上去就可以平复了,可我高兴得还太早,
到了第二个项目时,subproject2a, subproject2b也都还是很简单的,可到了写最后一
个项目的时候,就赫然发现subproject2a写的copy subtree的函数prototype并不满足
最后一个小版块的要求,于是对我来说,这个项目的最后一小版块就需要从头再来(重
新再了更好用的copy函数)。
写到这个项目的最后一步,就真正体会老师基础代码的良苦用心,没有这个葫芦的存在
,不知道有多少人能真正完成这个项目(至少我也还是有所倚耐的),每一步都不难,
但很tedious~~ 比如,我想sub-tree mutation, mutation 的 terminal 与 non-
terminal 的比例分别是 10% & 90% respectively。这个很好控制,就是概率嘛;可在
90%里,我产生non-terminal sub-tree mutation 节点的方法是先产生随机数,再根据
随机数去寻找定位那个节点(把 root 数为1),返回指向这个节点的指针,和指向该节
点的父节点指针,然后再swap sub-trees~~ 可定位specific节点这一步,为了数对,
我数了很久,debug了很久,后来延伸老师擞tree size的方法才真正解决问题~~ 不过
最终,这个项目还是完成得很不错的,除了(except)老师讲项目要求时,自己又傻了
一回,把他要求的abstract时他讲过的表格当成了abstract的要求,我画了表格才知道
,老师的abstract还是要求text的~~ 不过这个,不伤筋骨,还好还好~~
d**********o
发帖数: 1321
370
第二次作业report
#+latex_class: cn-article
#+latex_header: \usepackage{CJKutf8}
#+latex_header: \begin{CJK}{UTF8}{gbsn}
#+latex_header: \lstset{language=c++,numbers=left,numberstyle=\tiny,
basicstyle=\ttfamily\small,tabsize=4,frame=none,escapeinside=``,
extendedchars=false,keywordstyle=\color{blue!70},commentstyle=\color{red!55!
green!55!blue!55!},rulesepcolor=\color{red!20!green!20!blue!20!}}
#+title: CS572 Project 2 Report
#+author: (me~~~)
#+begin_abstract
|---------------------------+-----------------------------------------------
--------------------|
| algorithms | Steady-state
|
|---------------------------+-----------------------------------------------
--------------------|
| Population Size | 100
|
| Selection Method | Tournament Selection
|
| Elitism(if used) | Yes, one copy of parent
|
| Crossover Method | One-point Subtree crossover
|
| Crossover rate | 1 happened 90% on Non-terminal & 10% on
Terminal |
| Mutation Method | Node mutation with probability of 0.3 at each
node for the individual |
| Operator/non-terminal Set | add, subtract, multiply, divide, mypow, mysin,
mycos, mylog, myif |
| Terminal Set | inputX, constt
|
| Fitness function | Square root of (Square error + 0.04*square of(
individual size-12)) |
| Size control(if any) | Tried to control by adjusted the fitness
function |
|---------------------------+-----------------------------------------------
--------------------|
#+end_abstract
* Algorithm Emphasize
** Conditional Non-terminal
A IF-conditional non-terminal is included in the function set of the
expression tree, and it is defined as "A less than or equal to B then C,
otherwise D". This non-terminal has four branches, A, B, C, D. So when we
need to evaluate this non-terminal, we will need to evaluate A and B first,
then return to parent myif node, compare the returned A and B values, and
then decide we go to C if (A <= B), otherwise we evaluate branch D.
I have originally included only add, subtract, multiply, divide, mypow and
myif as the non-terminals. Then later on when I realize adding a little bit
garbage codes would be able to help maintain effective evoluation a little
bit, I ended up by adding mysin, mycos, mylog as well so that in my
expression tree, I will have good effective codes, like mypow and myif, add
etc, as well as not so important codes like mysin, mycos etc.
** Crossover of two subtrees
By using tournament selection, I can get best two individuals. Though I have
used Steady-state algorithm, to help make the population converges faster,
I still kep one copy of the best two individuals untouched in my new
generation. And for the same popuse of faciliating the population to
converge faster, I replaced the worst two individuals in the population by
the best two parent. I copied the best two individuals to the memory
position where the two worst population individuals origially at, I do
crossover of the best two sample individuals on place.
The crossover of two subtrees obey the 90-10 rule for selecting crossover
points; in picking a crossover point there is a 90% chance that it will be
an internal node and only a 10% chance that it will be a leaf node. And for
specific detail, it will include cases like one root node swap with another
expression tree's internal node. But if it happens that require both parent
tree swap from root node, then for that specific generation, I didn't do the
crossover, but mutation only.
From implementation point of view, the crossover is done by first decide if
we do internal node swap of leaf nodes swap, then by modifing Dr. Soule's
calc_size recursion function, we can count down the node number by pasing
the crossover point randomly generated non-terminal number by reference, we
would be able to get the node pointer to the specific internal or terminal
node, and also the pointer to its parent. We will get four pointers pointing
to two pair of nodes for two individuals.
We can finishes the crossover of two subtrees by conduction the following
steps:
*** crossover key steps
- p1curr for pointer to p1 node, p1prt for pointer to p1's parent;
- p2curr for pointer to p2 node, p2prt for pointer to p2's parent;
- find p1prt's brandches index i, set p1prt->branches[i] = p2curr;
- set p2curr->parent = p1prt;
- find p2prt's brandches index j, set p2prt->branches[j] = p1curr;
- set p1curr->parent = p2prt;
Specifal consideration needs to be given to conditions like, when one
individual's parent node pointer is null, which means the whole expression
tree will be condisered as a subtree for swapping. Theory is the same, just
the corner case need some attention.
*** crossover codes are listed for reference
\begin{lstlisting}[language=c++]
void Population::swapSubtree(int winIdx1, int winIdx2, int cnt)
{
int fst = winIdx1;
int snd = winIdx2;
int one;
int two;
bool oneFlag = true, twoFlag = true; // flag for non-terminal
popu[fst].calc_size();
popu[fst].evaluate();
popu[snd].calc_size();
popu[snd].evaluate();
// generate node number for expression tree 1
if (rand() % 100 / 100.0 < 0.90 && popu[fst].non_terms) { // non-
terminal swap
one = rand() % popu[fst].non_terms;
oneFlag = true;
} else {
oneFlag = false;
one = rand() % popu[fst].terms;
}
// generate node number for expression tree 2
if (rand() % 100 / 100.0 < 0.90 && popu[snd].non_terms) { // non-
terminal swap
two = rand() % popu[snd].non_terms;
twoFlag = true;
} else {
twoFlag = false;
two = rand() % popu[snd].terms;
}

while ( (one == two && (one == 0 || two == 0))
|| (oneFlag != twoFlag) )
{
if (rand() % 100 / 100.0 < 0.90 && popu[fst].non_terms) { // non-
terminal swap
one = rand() % popu[fst].non_terms;
oneFlag = true;
} else {
oneFlag = false;
one = rand() % popu[fst].terms;
}

if (rand() % 100 / 100.0 < 0.90 && popu[snd].non_terms) { // non-
terminal swap
two = rand() % popu[snd].non_terms;
twoFlag = true;
} else {
twoFlag = false;
two = rand() % popu[snd].terms;
}
}
twoPtr p, q;
int onecnt = 0, twocnt = 0;
// get node pointers for current node and current node's parent
if (!oneFlag) {
popu[fst].getTermNodePtr(popu[fst].the_indiv, one, onecnt);
p = popu[fst].term[0];
} else {
popu[fst].getNonTermNodePtr(popu[fst].the_indiv, one, onecnt);
p = popu[fst].nonterm[0];
}
// get node pointers for current node and current node's parent
if (!twoFlag) {
popu[snd].getTermNodePtr(popu[snd].the_indiv, two, twocnt);
q = popu[snd].term[0];
} else {
popu[snd].getNonTermNodePtr(popu[snd].the_indiv, two, twocnt);
q = popu[snd].nonterm[0];
}
node* oneprv;
node* onecur;
node* twoprv;
node* twocur;

oneprv = p.prt;
onecur = p.cld;
twoprv = q.prt;
twocur = q.cld;
// swap two parts of subtrees from two individuals
// special conditions still needs to be worked on
if (!oneprv && !twoprv){;} // do nothing here
else if (!oneprv && onecur && twoprv) {
for (int i = 0; i < MAX_ARITY; ++i) {
if (twoprv->branches[i] == twocur) {
twoprv->branches[i] = onecur;
onecur->parent = twoprv;
}
}
popu[fst].the_indiv = NULL;
popu[fst].copy(twocur);
(popu[fst].the_indiv)->parent = NULL;
} else if (!twoprv && twocur && oneprv) {
for (int i = 0; i < MAX_ARITY; ++i) {
if (oneprv->branches[i] == onecur)
{
oneprv->branches[i] = twocur;
twocur->parent = oneprv;
}
}
popu[snd].the_indiv = NULL;
popu[snd].copy(onecur);
(popu[snd].the_indiv)->parent = NULL;
} else {
for (int i = 0; i < MAX_ARITY; ++i)
{
if (oneprv && oneprv->branches[i] == onecur)
{
oneprv->branches[i] = twocur;
twocur->parent = oneprv;
}

if (twoprv && twoprv->branches[i] == twocur)
{
twoprv->branches[i] = onecur;
onecur->parent = twoprv;
}
}
}
}
\end{lstlisting}
** Mutation
I have done node mutation for this project. There is floating point mutation
rate to control the probability of muating each node for the expression
tree. The floating mutation rate is a pssed in argument and used recursion
to recursively execute from root down to leaves.
Codes are included as reference;
\begin{lstlisting}[language=c++]
void Individual::mutate(node* tmp, float mutRate) {
int type;
if (tmp && rand()% 100/100.0 < mutRate) {
if (tmp->type < NUM_NON_TERMS && tmp->type < 4) {
type = rand() % 4;
while (type == tmp->type)
type = rand() % 4; // get rid of pow and if
tmp->type = type;
for (int i = 0; i < 2; ++i)
mutate(tmp->branches[i], mutRate);
} else if (tmp->type >= 4 && tmp->type < 8) {
tmp->type = 4 + rand() % 4;
mutate(tmp->branches[0], mutRate);
} else if (tmp->type == 9) {
if (rand() % 100 / 100.0 < 0.5) {
tmp->type = 10;
tmp->const_value = double(drand48() * 2.0 * CONST_LIMIT) - (
CONST_LIMIT/2.0);
}
} else if (tmp->type == 10) {
tmp->const_value = double(drand48() * 2.0 * CONST_LIMIT) - (
CONST_LIMIT/2.0);
}
else if (tmp->type == 8)
for (int i = 0; i < MAX_ARITY; ++i)
mutate(tmp->branches[i], mutRate);
else;
} else {
switch(tmp->type) {
case add:
case subtract:
case multiply:
case divide:
for (int i = 0; i < 2; ++i)
mutate(tmp->branches[i], mutRate);
break;
case mypow:
mutate(tmp->branches[0], mutRate);
break;
case myif:
for (int i = 0; i < MAX_ARITY; ++i)
mutate(tmp->branches[i], mutRate);
break;
}
}
}
\end{lstlisting}
** Selection
I have usd the Tournament selection method. I used a sample size of 5 to
selction one parent, and then I repeated this selection once more to select
another parent. If the two parent's fitness equals, I keep the one as parent
whose expression tree size is smaller, so that I have some selection
pressure on minimizing tree size. And I will repeat this process until I
find a second parent whose fitness is not equal any more. By this repeating
process, actually I have increase the tournament selection pressure because
potential I have selected two parent from 15 sample or 20 samples. But since
my population could not converge any way, I did not care that much for this
detail.
* Results
The simply project works pretty well with all the codes Dr. Soule has handed
to us, especially those recursive ones. I have printed out the minimum
fitness in the population and the average fitness as well.
** Fitness vs Generation Count
#+caption: Average and best fitness for the symbolic problem. Best fitness
has the perfect trend, but average fitness has several peaks due to the
offspring outliers resulted from parent crossover and node mutation.
[[./fitness.jpg]]
Figure 1 indicates that the crossover and node mutation works pretty well in
that aspect that the best individual fitness from the population reduced
down smoothly.
From the above figure 1 we can also see that the average fitness has several
peaks, that was due to the offspring outliers when two parent from previous
generation crossover and node mutated. If I apply some tricks to filter out
these outliers, and then calculate the population average, it should be
able to get smoothly down average fitness as well.
** Applying best function on test points
#+caption: Expected fit and my fitness function. It seems like my fitness
function still have some distance away from the expected fitness. One
possible reason results this is that my crossover swap function almost do
only non-terminal to non-terminal swap, terminal to terminal swap. But if I
allow non-terminal to terminal swap, or terminal to non-terminal swap, it
should have better results.
[[./fit3.jpg]]
As can be seen from Figuare 2, it is a working algorithm, or in other words,
code set, but still it has some ditance away from the expected one. Recall
the algorithm that I have used, it was the crossover step that I have
restricted the crossover node too restricted. Except the 90/10 non-terminal
terminal rule, I have also restricted the crossover to be non-terminal to
non-terminal swap, or terminal to terminal swap, but I should have allow non
-terminal to terminal or terminal to non-terminal as well.
* Conclusions
In order be able to do genetic programming, we need certain data structures
that would allow us be able to swap the evoluationary algorithms data in the
middle functionally as if we have swapped programs. Like this project, we
used the tree structure. As far as we understand the Genetic Programming
theory and C++ pointer, the project turned out to be not that hard. And so
far, it works pretty well.
But still, as can be easily seen from figure 2, there are quite some
distance from the expected solutions. With deeper consideration of good-bad
codes side-effects, and individual expression tree size control, hopefully
by Project 2, I would be able to get better results that fits better and
have limited bad codes in my best fit expression tree.
* example results I got before bad_alloc
\begin{lstlisting}[language=c++]
jenny@jenny-G50VT ~/docu/572/b $ a
Population Information:
min:198.373
avg:223771
avgSize:6.09
0 198.373 62508.3 6.15
10000 47.792 52.2099 228.71
20000 43.2229 47.4843 170.03
30000 40.6869 44.7676 178.67
40000 39.5117 40.8662 180.05
50000 39.1358 41.5992 186.31
60000 39.0548 41.1758 183
70000 39.013 44.1686 183
80000 38.7218 39.3482 183.3
90000 37.7194 40.3539 179.78
100000 36.9666 1945.47 188.16
110000 36.5285 38.7527 203.68
120000 36.3764 100.678 201.6
130000 36.3343 40.3855 199
140000 36.3302 56.5278 199
150000 36.3227 38.3612 199.15
160000 36.2536 60.347 204
170000 36.1636 40.8178 203.05
180000 36.1345 40.0999 203
190000 36.0784 41.1022 203.3
200000 35.9286 39.7798 206.87
\end{lstlisting}
* A expression tree I have got
This fitness function is used for the test points plot, because this is the
best tree that I have been able to save the expression tree results.
Previous ones, like some function fitness can reach down to 35.9268, but I
lost tract of the individuals when I got bad_alloc.
\begin{lstlisting}[language=c++]
popu[9]: Size: 43 Fitness: 102.65
F
+
X
3.40501
+
2.88043
11.9524
F
*
X
0.963943
F
+
X
12.8615
/
7.2073
5.11281
*
7.2073
-4.63379
/
7.2073
0.717242
F
+
X
3.40501
*
7.2073
-4.63379
+
2.88043
11.9524
/
7.2073
5.11281
-
X
14.3528
*
X
0.963943
\end{lstlisting}
相关主题
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
进入WebRadio版参与讨论
d**********o
发帖数: 1321
371


【在 d**********o 的大作中提到】
: 第二次作业report
: #+latex_class: cn-article
: #+latex_header: \usepackage{CJKutf8}
: #+latex_header: \begin{CJK}{UTF8}{gbsn}
: #+latex_header: \lstset{language=c++,numbers=left,numberstyle=\tiny,
: basicstyle=\ttfamily\small,tabsize=4,frame=none,escapeinside=``,
: extendedchars=false,keywordstyle=\color{blue!70},commentstyle=\color{red!55!
: green!55!blue!55!},rulesepcolor=\color{red!20!green!20!blue!20!}}
: #+title: CS572 Project 2 Report
: #+author: (me~~~)

d**********o
发帖数: 1321
372
第二次作业补充说明(1)
呵呵,第二次作业用到的两个图片贴出来,就瞬间呼吸到被鄙视的气息、鄙视的声响蛙
声一片~~
这里就把第二次作业的完成情况再补充解释一下吧。
首先,用openoffice的人都知道,把数据导进去画图,若只有两条线,那线的颜色,by
default,就是红色和蓝色啊,我没有挑颜色的,所以没有影响~~ *_^ 把图贴出来,
一方面是必要性,这样一个fitting的项目,没有图一定是不完整的;另一方面,自已
也还是有些自信的,虽然是不完美,但也还是不错的结果。这段时间自己游走于山水之
间,游离在世事纷杂之外,立足点高一点儿的话,就没什么好担心害怕的了。
关于篇副。第一个项目,老师要求我们把detail写得尽可能地详细,这样他可以根据我
们的描述来判断我们到底做对没有。但是交了第一次作业后,老师说过了不需要再写过
细,大概我就是属于写得太细的那种,所以第二次篇副上少了很多。加上用了org-mode
,省了很多需要type或调用macro的体力活。
关于结果。正如大家第一眼反应出来的,这绝对不是最佳结果,因为离真正的fit还有
一段距离,还有一段二次的函数没有完成。
fit的结果理论上讲可能的结果应该可以分为四大类吧,完全没有方法,连右边一根线
也划不出来的;仅画出右半段一根直线的(把我图上两根线段并成了一根长线段);右
半段fit出两段线段的,和fit出左边二次函数的。我右边的已经完全没有问题了,左边
的也开始打折,但二次函数不是出不来的,介于四类中后两者之间吧。
d**********o
发帖数: 1321
373
第二次作业补充说明(2)
那么fit出二次函数的难点在哪里呢?笔记本内存硬件要求,和C++资源管理,如果是用
c++编程的话,用java当然就没有这个问题了。
这个genetic programming的项目,我的constructor, destructor都是没有问题的;其
它地方可能会占用资源的的就是,当我每一代(generation)选出两个 elite
individuals 作为parent,我用steady-state的方法,先把它们考贝到两个worst
individuals的位置(保存一个最好版本),再将 elite individuals 突变,node
mutation,这一步那两个worst individuals的资源我是释放了的,node mutation并不
占用资源,所以我认为自己的资源管理是没问题的。可我的linux mint大胡子帮我装的
是32 bit的,内存就很少。加上这种进化,因为crossover的发生,tree的size增长得
非常快。这样导致的直接结果就是,每次程序上百万个generation 一路run下来,不等
程序正常结束,就会有“bad_alloc”抛出来一一系统资源耗尽!所以我就不得不跑回
去回去改程序,保存中间结果,比如每1000 generations, 保存一个best tree
individual,只有真正保存下来了,我才能把自己选的最好的tree写进报告里。
这些都是需要自学的内容,cs121的那个代课老师对这块涉入不深,之前也从来不曾用
出现过这些情况。当然,到上EC课是,我已经把c++ primer看了一遍了,所以就是加深
理解的过程。
d**********o
发帖数: 1321
374
第二次作业补充说明(3)
昨天提到的crossover节点位置,我的思路是自己想出来的,我的一个对这门课很有兴
趣的美国同学还是跑去老师office问过老师才知道的。我们C++的同学还在生成随机数
,再一个一个慢慢数;我知道他们用java写的有一两个TA和另一个美国学生,他们说他
们根本就不搞那一套,还随机数了,人家就直接hard-coded成了best individual root
的左child与second individual root的右child crossover~~!! fit的结果可想而知!
到这个项目,因为项目的难度稍有增加,也有一个平时表现还很不错的TA由于各种原因
吧,写不完不能按时完成,还请老师再给多余的时间才最终得到基础结果得以完成的。
我的结果应该也不是班上最好的结果,便也数得上是中上等。而且因为老师的数据人为
增加了noise,所以即使fit得过好也会有潜在的over-fitting的问题。
当然,一个转专业的学生,对c++资源管理也从不曾有过任何深入研究,所以我对自已
对资源管理的理解并没有绝对的自信。所以在前天写出了自己一颗受伤的小心灵之后,
为防止自已变得骄傲高傲,昨天的项目就自动balance写得很谦卑。就像后来QQ群里有
小伙伴自认为学得还不错,出来一张口说话,马上就有大牛跳出来说,这里那里哪里哪
里不对,瞬间被打脸~~ 所以说,computer science这个尖端前沿major本身就决定了我
们这个专业的人注定只能成为某个领域某一方面的专家,对其它领域就只能抱着谦卑的
心多去学习和了解。所以说任何时候,在我看来,谦虚一点儿,总是好的~~
那时mitbbs上首页老有一个大牛叫转java,后来这个项目完成后,感慨资源管理的重要
性和影响力,我就把这个项目重新改装成长得很丑的java了。只是自己java项目写得太
少,用起来还不熟,但基本也过了pass by value - pass by reference的初始 like
or dislike 的瓶颈阶段了。
d**********o
发帖数: 1321
375
EC第一次考试(1)
我的第一个项目,延续了自己之前上AI的风格,把源代码也打印出来交了上了,可能是
希望老师能看见,他先前设置的几个障碍考点我都攻破了吧~~
第二个项目,难度有所增加,但还是眼睛都没眨一下就完成了~~ 额,不对,眨吧眨吧
眼睛,结果也出来了;除了因为资源管理的问题还多跑去折腾了一下java~~
就像转专业后不到开学第一天,我就已经同导师、大牛说清楚我希望两年毕业一样,大
概这个学校这个系也从来就没想过要给我A的吧,EC课的第一次考试很难、非常难,考
得考场上蛙声一片,咳嗽声、清喉咙声,声声入耳~~ 到要交卷纸时,很多同学感觉都
还不有写完,没时间看第二遍。我们平时的考试往往有很多学生早交卷的,这次就只有
两三个提前交的。同学们小伙伴们这次把这笔账算到我头上,一点儿也不冤。可以猜测
得到,老师把卷子弄这么难,应该是卡、希望我晚毕业的吧。
卷子的难度,说起来,也是多少门课来的老问题了。这是一个从plant science退出来
的原ph.d学生,退出来的原因是修MMBB的课得了个C,原因是对概念理解不透。这个对
概念理解不透的国际学生,因着这一点儿,就活该被永远地订在耻辱的十字架上么?
后来,卷子发下来后,同AI课一样,老师评分给得极严。平均分是 76 还是多少,我只
得了 72 还是 69 不记得了。
如果说转专业第一年的自己过得暗无天日,完全看不到任何希望、盲人摸象昏昏乎乎地
努力;那经历了去年暑假 A 帮 inspire 带来的启蒙,经历了上学期炭火盆上烤肉般编
译课的烧烤,这学期的我,已经清楚地意识到这颗转过专业的脑袋在新的领域里终于开
窃、有了思考的力量,开始加速运转了。为什么我还得永远得B?
那堂课,就像第一学期那个魂飞魄散的cs121课堂一样,我长了水鼻子,流着鼻水,我
在那里用纸巾捏呀捏,捏了一堂课~~ 下课就跟老师去他office去找老师了。
d**********o
发帖数: 1321
376
EC第一次考试(2)
自从去年在前导师office里大哭一场后,自从期末考试感觉到自己专业领域里的成长与
进步,我已经基本不再轻易彻底崩溃了;可我的眼泪还是在扑朔扑朔地往下掉,学期开
学前一天在自己导师面前是,在现在EC代课老师面前,也是,人还没开始说话,眼泪已
经大滴大滴地滚落下来。
我对老师说我担心自己的成绩。给老师讲了自己上学期编译课的惨痛教训,基本相当于
对老师直说,我对编译课得C的成绩是不满意的、认为老师给成绩不够公平。代课老师
问我,上学期期末考完后,我有去找过编译课的老师吗?他说这种情况,可以去找代课
老师讨论一下。
代课老师问我,你就为这个成绩流了一堂课的鼻涕?我点头是啊是啊,成绩大于天呀,
你把题目出这么难、这么偏、还改得这么严,要我这样的国际学生怎么活呀?他说就像
我说的,这第一次考试有题目都读不懂,那第二次考试的时候,我可以找另外一个时间
在他office里或者是哪里单独考,这样,我有看不懂的题 目可以问他。我当时在代课
老师office里是答应老师可以这样的,但后来到真正第二次考试,我还是同小伙伴们一
起考的,因为我害怕被孤立。同小伙伴们一起考,即使是蛙声一片,我还可以根据环境
的变化来调整自己的做题速度,若是只有自己考,怕自己把握不好进度,会死得更难看
的~~
d**********o
发帖数: 1321
377
听一次报告
EC代课老师在每进行一新版块授课内容前都会把他作过的相关研究项目demo给我们看一
遍,一方面show成果,另一方面也激发我们的学习兴趣。只可惜,他忘了,花为悦已者
容,他的所有demo,在我这个已经没有多少岁月可以停留在校园里的学生眼里,看见的
就只有bug,又看见一只蛾子去撞南墙了,都撞死三四回了,脸上还一幅兴灾乐祸相~~
在此,也嘲笑嘲笑自己吧,连个作业二次函数都没能fit出来,还嘲笑别人吆蛾子撞墙
笑得要死,本身不也够搞笑的吗?
后来,EC老师课堂上极其鼓舞我们去听一个博士生作的EC相关的defense。在EC老师的
强烈推荐鼓舞下,我就去听了一次他们的报告。我以为班上绝大部分同学、喜欢他代这
门课的同学都会去的,但真正去了才知道,我认识的人里,也就只有自己和大A而已。
而且当然,我也只是去听、去欣赏别人作过的项目而已!或许,我没能弄明白EC老师的
真正意图,不知道他是在试探我的科研兴趣意图?
报告并不怎么出色,心理上会觉得别人五年博士时间也不过就做了那么点儿事而已,当
然这也反应了听别人说的容易、自己做起来难的常态啊。听完了这人的报告,我就绝对
不会甘心自己苦守在这里,却也只能、只做得了、干得了这么点儿活~~!!而且,更让
自己被吓到的是,报告人present结束后的提问时间,前80%的时间都只有女生raise
questions,有四五个女学生、女研究员(?)先后问了问题,最后才有一两个男学生
表求性、象征性地提了一两个小问题而已。我敏感的心态就又回到了大半年前的起点,
回到那时career fair,与前导师作课题别人会帮refer工作的时候:这个时候别人还拿
你当根葱,看等你真正留下来一年的时候,看别人要如何对待你!别人女将们先从气势
上就吓死你~~!! *_^
我想我是敏感、脆弱的,我并不坚强。偶尔的坚强只出现在我被逼入绝境的时候,才会
鼓起逝死返抗的勇气~~
后来,不知道是不是与这次我去听了报告有关,第二次EC考试,蛙声一片消失了,呈现
的是云淡风轻,不在话下~~。
d**********o
发帖数: 1321
378
看病(1)
这个春天,就像2002年开春等待考研成绩、等待复试般辗转反侧,就像2005年春夏那样
,晚上总是睡不着,心里诸多压力,难受极了。
早前2月2日那次生理周期的时候,那个周期第一天晚上就没去学校、直接在家休息,整
个人感觉很疲惫;后来到第四天第五天,像往常周期后半段一样,到快要排血块的时候
肚子又狠痛了一阵子,痛得死去活来,只有等到血块排出来后才真正算是周期过了、好
了~~
2月底3月前,连续几晚上睡不好之后,就注意到,只要睡上一睡不着,左边的肚子就开
始痛,有时候像针刺痛,这是长肿瘤的一个症状,有时候会是quarter大小的地方灼热
痛;起床上厕所猛地站起来会反应不过来,有些发晕虚脱。几年来,尤其是这次回学校
读书这两年来,我早就开始深度怀疑自己右侧卵巢囊肿发作,也许已经长到很大了;去
年4月看医生后我就自己上网查过相关资料,严重的情况会需要整个卵巢、输卵管及附
件切除的;加上早就多少次去触碰感觉到的右侧囊肿的存在(按下去再释放产生的回弹
力,若不是囊肿,那也一定是上次手术后感染造成的右侧脏器黏连!),和右侧外生殖器
官的麻木,我对自己的右侧部位已经心理上彻底放弃了。可是如果我的左侧也开始串长
,也在日益加重的话,我可不想放纵疾病的滋长,弄得左边也变得一样严重,搞得自己
将来生不了小孩,后果就太严重了~~!!
d**********o
发帖数: 1321
379
看病(2)
那段时间左边肚子的针刺痛,让自己心理上害怕极了。高三之前我学习上最大的心理障
碍就是,担心、遗憾有过那种经历的自己将来生不了小孩~~!现在,造化弄人,眼见着
心理障碍就要成为真正的生理障碍了~~ 我可不想这样的后果真正发生呀,我要去看医
生!
这次值班的不是去年四月给我看病的女医生,那次自己前前后后总共花掉$350,除了从
CA~125 知道自己没有得妇科癌症外,花掉的钱对自己的病情就没有任何帮助;这次看
第一个医生说查尿检查不出任何症状来。“Ever since 2009 which was the very
first time I noticed the uncomfortable after my surgery in July 2001, It has
been years. And especially during recent couple of years, it becomes more
and more severe!”我对医生说了我对自己健康的担忧,我对医生说我希望有什么确信
的测试能帮我鉴定自己的健康状况,有没有卵巢囊肿,多少尺寸了,是良性的,还是恶
性的?在 CT scan 与 ultrasound test 之间,考虑到检查效果和经济因素,医生帮我
order了当天下午五点钟的ultrasound test。
那时是下午3:30左右,于是就按照护士的建议,赶快回家狂灌了6杯温水(她帮给了我
一个固定大小的纸杯),憋着不上厕所,走到要作检查的地方,等待一份命运的判定。
d**********o
发帖数: 1321
380
看病(3)
我坐在image center的前台等待,一个清秀的穿着制服的美国女孩子出来招待了我,感
觉很亲和。我们聊着天走到扫描室,按照她的要求躺下。
为了扫描方便,我躲下时头是在她机器这一侧,这样她的事手方便按在我的左侧肚部进
行探头的挪动操作。她的显示屏也稍微侧着,我的头偏一偏,就可以看见屏幕上她在进
行的操作和扫描结果。
探头先滑行着滑行着,大概还在作最开始的定位吧。然后屏幕上就出现一个长椭图形的
泡状物,上面还有一个半个大小稍小点儿的椭圆形的气泡。这应该就是那个硕大的、我
按下去它会弹起来的囊肿了吧?居然还不止一个~~!想着这次回学校一两年来,自己的
病情日益加重,每次生理周期里,自己没有少遭罪,居然这囊肿也已经这么大了~~!!
头侧着平躺在那里的自己眼泪就顺着眼角往外默默无声地流淌着~~ 如果上天再给我一
次机会,让我重新长大一次,我愿作个乖孩子,再也不叛逆了~~ 万一万一意外发生,
我也一定会第一时间告诉父母的~~
回想2001年阑尾炎发作时也碰巧在生理期间,医院里躺在病床上的自己,医生在帮作超
声波检查时还是两侧都检查了的;我便对女孩说,我右边病得更严重,问她能不能、要
不要帮我把右边也检查一下?她好像是没说什么话(不记得了),但最终半个小时后,
她说我们已经检查完了,她的探头一直都是放在我左边的。
她出于职业操守、不方便向我透露任可我希望知道的病情结果,我就往回走回家了。刚
走出医院大门,她追出来问我我的名字是怎么拼的,原来她们帮我order这项检查时我
的名字不小心拼错了。我回家后,就只需要等到第二天,结果也就该出来了。
相关主题
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤博士还有两年毕业,今年要孩子还是明年要孩子
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
进入WebRadio版参与讨论
d**********o
发帖数: 1321
381
看病结果
我没有电子版的超声波检查结果,就按照纸版的type了一份,除了必要个人信息隐藏了
,其它完全一样~~。
MFM UX Student Health Services
Health center address
Health center phone number and fax number
(me~~~)
Female DOB: xx/xx/xxxx
03/03/2014 - Imaging Reprot: GMC - PELVIC ULTRASOUND
Provider: the doctor's name I saw PAC
Location of Care: YYYY Medical Center
YMC - PELVIC ULTURASOUND
HISTORY: Pain
FINDINGS: Transabdominal views of the pelvis show the uterus to be mildly
enlarged, measuring 4.3 x 5.1 x 10.1 cm. Central endometrium measures 9 mm
in AP diameter. There is fluid within the endometrial canal of the lower
uterine segment. Both ovaries are visualized and are normal. There is a
small amount of free fluid in the cul-de-sac.
IMPRESSION: Mild uterine enlargement with fluid in the distal endometrial
canal (? recent menses or douching). Otherwise normal pelvic ultrasound.
Electronically Signed By: Image doctor's name
Electronically Made Available By: Image doctor's name
Date: 03/04/2014 10:11
Electronically Signed By the doctor's name I saw PAC on 03/04/2014 at 12:29
PM
d**********o
发帖数: 1321
382
看病结果(2)
当医生打电话给我,已经拿到我的扫描结果,要我去student health center去找他时
,我捡起office里的书包就冲在了去往student health center的路上,心理上感觉,
我又一次地站在了命运的十字路口上~~
office里,医生首先对我说congratulations,我有些莫名其妙,有什么好恭喜的?然
后医生说,你的两侧卵巢都是好的!是好的吗?“Are you sure?”我惊讶不已,这怎
么可能,那我的病痛来自哪里?然后医生说,“but,”便接着对我说了子宫增生的事情
。在office里当时,我并没能反应过来那个词到底是什么意思,只是觉得我还以为是卵
巢呢,我自己之前也在网上查过,先前自己那个巧克力类型囊肿不是很容易复发的吗,
(之前自己十二三岁出事后十年时间就发现囊肿了,现在手术后又过了13年)这么多年
来这个囊肿、这个病它居然真就没有复发?我早年并没有生理后期需要排血块的经历啊
,为什么近两年要死去活来地排血块,还变得日溢严重了呢?
我心想着,去年看一次病花掉$350,什么作用也没有起,那这次,既然已经花了这笔大
钱(超声波检查据医生说需要$1000左右,我的ISO保险只能报$400),发现了病灶和症
状,怎么得深入一下,看看是什么原因引起的,要怎么治疗和,如果能治得好,接下来
该如何预防啊~~ 毕竟,我是一个三十多岁的成年女性,还没有结婚,还有强烈的生育
欲望,这一块的工作千万马乎不得!所以后来,student health center的医生征求我
的意见,问我要不要接下来去看妇科医生时,我就同意了,请他帮我推荐、预约我接下
来该看的医生。大钱已经花在前面,多花再看一个医生的钱,好让自己心里踏实。
d**********o
发帖数: 1321
383
看病结果(3)
可能那个妇科医生真的很忙,可能是学校的策略有意压制这件事,也许后一种可能是我
自己想多了。接下来约的妇科医生就给约到了学生们都放假回家的spring break。
其实早在去看接下来的医生前,我就打电话给不好护士的姐姐,她说要是痛得不是很严
重的话,最好就不要再看了。但在网上搜索查看了很多网页之后,出于对自己健康负责
的态度,加上自己本身已经痛得不轻,我还是没有取消这次预约,继续按原订计划走下
去~~!! *_^
那天去了医院,妇科医生所有所做的也不过是同我talk, talk再talk!
解释了些我在网上查过,但也还是不懂的概念;我问了他是什么原因可能会引起这种增
生,他说医学上也搞不清楚这个问题;然后再问这个东西会对女性的生育有什么影响啊
,他给出的答案也是拖泥带水,说是对有的女性有影响,有的女性没有影响,就好比是
说,这个状态对50%的生育期女生会造成影响,对剩下的又不会?!!
再问问他有什么样的治疗方案啊?他给列出了三种:一种是避孕药,2009年的时候医生
就是给我开了三个月的这种丸子,我吃了一两颗再也不想吃了;一种是生理周期前吃的
叫“Ibuprofen”的什么东西,他解释药物的作用居然只是止痛!!第三种是一种叫“
Lupron”的针剂,每月打一针,连续打半年后,再超声波复查,看药物的效果。
我对避孕药就像早前舅舅提眼科手术后可以不用带眼镜一样有着本能的抗拒,它违背了
生物的正常生理机制,在我看来也是非常恐怖的事!第二种只能止痛;只是止痛的话,
在没钱的情况下,痛我还是可以自己再忍忍的,只要不伤及自己将来的生痛能力;只有
第三种是有治愈效果的,医生说便宜的话每针可以只花$200左右,他是很希望我去治疗
的,可惜我没有钱,这一次的看病之旅也就只能到此为止了~~ 以后痛还得痛,排血块
还得排,账单倒是很增加了一笔~~!!
d**********o
发帖数: 1321
384
发贴求助
医生对于自己的痛情对生育的影响回答得拖呢带水,而自己还是有着强烈生育欲望的,
加上自己生理期排血块的痛苦,中文网页上绝大部分都还是肯定这个会对生育有影响的
,我就一心想从现在的境况里逃跑,可怎么逃呢?
小伙伴们看一下下面这个贴子是否还有印象、比较熟悉?那可能是偶滴传说中的马甲吧
~~?!!
发信人: (me~~~), 信区: JobHunting
标 题: 求指引方向
发信站: BBS 未名空间站 (Tue Mar 25 23:53:41 2014, 美东)
小女子半路出家CS,学了两年基础课,混混恶恶,终归只算勉强入了CS的大门。
语言:
C++/C:《C++ Primer》能懂85%以上;《Effective C++》只能看懂50% ~ 70%,编程时
真正用上大概就只有不到40%了;《More Effective C++》没看完,只看了两三章。正
向C++11,STL,Boost等相对新新事物靠扰
Java, C#: 只有入门初级水平,写过几个很小的hw/project
Python: 上了编译课, 终于开始试着理解汇编的一些东西,开始有意识地尝试写真正的
python code而不再是c-style python code了。
呆在一所小学校,完全没有机会学习javascript,.net,.xml,CSS等,除非自学。可惜
偶榆木脑袋,触角还没能延伸到这里。
项目:
算法很弱,没做几道leetcode题,只把《Cracking the Code Interview》做了一遍。
C/c++/java/lisp的项目断断续续有一些,BFS,DFS,decision tree, neural network
, connect4, tictactoe, java plugin for eclipse, RTOS, compiler, Zigbee,
GUI interface等等都有一些,做得也还过得去,有一次实习经历。感觉自己有基本的
分析和解决问题的能力,一般情况都能安时deliver能work的code,但还需要一个相对
强大的存在从code safety, exception handling, OO设计,资源的管理与利用,code
reusability, refactoring,兼容性,template programming, metaprogramming等层
面帮我提升一下。
喜欢latex, emacs, org-mode makes life so much easier.想学习lisp更好地用
emacs,可惜很多时候还是不懂。到现在收发邮件的package还没configure出来,mew和
gnus都有bug(emacs23.5+linux mint)。

耳朵听力不好,分辨不清发音的细微区别,口语极烂。只是还算明白问题的重点,答案
的重点,能hit the point,基本能做到用英语有效交流。
这几年经历了一些生活的变故,终于不再take everything for granted了.个人觉得师
傅领进门,修行在个人。在我没有任何基础,没有强大的毅力去自学的时候,我花时间
精力去入行。现在触角打开,真的很想要离开这个鸟不下蛋的小镇,却发现受困在这里
。眼睁睁地看着自己枯萎凋谢,垂垂老矣,却苦苦挣扎,无能为力。
诚请各位路过的大牛帮小女子指条明路:
1。赶紧把leetcode做一遍
2。学C#。系里一个TA说工作上学C#比学Java有用偶才开始学C#的,但不知哪个更有用。
3。理科脑袋。OO的概念基本都懂,但不全都implement一遍,总觉得哪里不自在。所以
google搜代码也好,自已写也好,implement一遍确保理解OO相关。
4。使劲投简历,每天投一二十份,投到h1b名额快速用完完全没有可能为止?

求路过的大牛前辈帮指点方向;1234谁轻谁重,有没有一些需要注意或更重要的方面被
我忽略了?
求指点,求鼓励,兼求推荐,小女子这厢有理了!
d**********o
发帖数: 1321
385
第三个项目(1)
早说过了,不同的授课老师授课内容和效果都会不同。为此,早已领教习惯了EC老师的
代课风格的自己对这门课也早就放下心来。
发出求救信后,最多的建议应该就是刷lc题目和学java了。接下来几天,也阴差阳错、
误打误撞地进了一个QQ群。真正进了这个群之后,才发现别有洞天,才开始感觉我与这
个广阔的世界终于有了联系!他们也深深地影响了我,那个恁是躲在龟壳铠甲里一动不
动的自己这次终于是默默地主动跑去刷题了,用差不多四月份的时间连懵带骗地写了
100个最简单的题目,然后再去准备期末考试~~
这期间,就是写作业而已。而且此时,我刷lc的兴趣远高于写项目,写项目被我归功于
一个小学校的小家子行为,刷lc是属于终身受益的世界性行为~~ 所以写第三个项目就
比之前写第一二个项目要晚。看见有写得早的小伙伴早就已经写完的时候,心里也还是
会有些许着急,这时,EC代课老师的两个TA的另一个与我EC同学的这个才只二十多岁的
小伙伴就已经懂得安慰我说,没事,不用担心,我相信你一定写得出来的~~ 是的,我
也是这么想的!可听到小伙伴这么坚定地站在自己这一侧的时候,还是心理上感受到莫
大的安慰和鼓舞呀~~ *_^
到这个项目,老师也不再搞之前的什么折分成subprojects,结果就是又刷掉一批人~~
对我来说,of course,这个项目也一定会按时保质保量地完成滴~~
d**********o
发帖数: 1321
386
第三个项目(2)
一两个星期后,收到老师发的批发后的project3,这次又轮着自己惊诧了,我的成绩只
有8/10,这一一老师又开始压分了吗?我的项目是没有任何问题的,我打算一下课就拿
自己的项目报告上台直接去找老师谈一下~~ *_^
这里也报一下EC课前几个项目和考试的成绩,也让小伙伴们理解一下拿到项目的自己何
至于项目报告一到手就会一脸惊诧吧~~
subproject1a: 9/10, hill climbing应该有一个scaling factor随着越来越接近终点
需要scale down,但那时还没有apply这个trick
subproject1b: 10/10, was marked "your code will be much simpler if you avoid
pointers, dynamic arrays whenever possible."我是想锻炼自己的呀~~
project1: 90/100, 几乎没有可挑剔的地方,除了“more detail then is
necessary in an abstract.”和英语非母语遣词造句上的问题。
Exam I: 68/100, 回去查了,是68,不是69或72,平均分还是没记,大概是76吧
,但改得极严格~~
subproject2a: 10/10,几乎只有一个copy tree函数,考对这个版块授课内容的理解,
没有多大难度的;只是后来这函数在project2被我重新定义了prototype
subproject2b: 10/10, 写起这种项目来没有任何问题的~~
project2: 9/10, abstract不小心画成了表格;node mutation probability
slightly high; 我接着锻炼自己就把自己锻炼死在了二次函数fitting上~~
Exam II: 90/100, 没什么感觉,同正规作业项目一样,考完了就考完了,讲评完
了就讲评完了~~
d**********o
发帖数: 1321
387
第三个项目(3)
这堂课我等着下课,课就显得特别长。一等老师说下课,我就拿了项目报告上台去找老
师了帮我重看项目了。
我转专业第一学期就与大A同学有过接触,经历了我在这个系两年的学习,经历了EC第
一次考试的天气骤冷变化,第一次与我真正同学的大A,相信我给他留下的印象还不算
太差吧,在我这次走上讲台去找老师时,就与他的同桌在教室里多停留一会儿,再次成
为了这次事件的又一个学生见证人。
亲爱的小伙伴们,到这里就不得不介绍一下自己学校里的小伙伴一一大A同学了。
那是我回学校读书的第一个学期,跟他们一起旁听cs336代课老师的senior design课。
那们课的要求是作项目,班上所有注册的学生被老师分成了五六个小组,每个小组四五
小伙伴一起合作一个项目。老师说他们没有选择小伙伴的权利,但他们有选择项目的权
利。这样性格很好、乐于助人的graduate student大A就被分到了与男闺密、另一个国
际学生及一个美国人一组。闺密那会儿也还在自学java,大A却是一个java通,项目就
是在他的坚持下选择了texas android纸牌游戏。
后来我知道,他是EC代课老师的硕士研究生,作Robotics,我们EC课上用到的好多种方
法,什么hill climbing,sales traverse man,genetic programming等等,他在项目
上也都用到。所以EC于他,就从来不在话下。最让我欣赏的一点儿是,这个graduate
student天才般从来都知道自己毕业了想干什么一一android game, android app,it's
all about android~~!! 而我,却与他正好机反,方向版块我也试了好多几个,我却
是那个永远迷糊着、不知道自己真正喜欢什么、想干什么的人。
d**********o
发帖数: 1321
388
第三个项目(4)
走到讲台上,我先申明自己这门课是想得A的,因为已经到了我的最后一个学期。
"Yes, you can get A from this course!" 没有想到老师这么直接就可以给我A了,我
有些喜出望外。
“I am glad to hear that. It really makes me happy to get an A from this
course!”我继续肯定着。
为了保证自己能拿到A,我先问老师,是第一个项目还是第二个项目,我记得一个项目
会值好几百分的,这个项目是只值10分吗?如果它只值10分,你只给我8分,比平时少
一分我开以不讲较;但如果最终结果你会像之前的项目乘个10还是50的,那我想argue
一下我的分数~~
老师直接肯定说这个项目是会与之前的各个大项目值一样多的分数的!那我就继续与老
师argue我的分数不应该只得8分!老师先前没有看我的报告,直接就这个人工蚂蚁的项
目提问我两三个细节上的问题,他大概怀疑我没能真正完成这个项目,report有造假吧
。待我把他所有提出的细节问题都回答好,他就只好也只能挑图表说明、map symbol说
明等句子描述、以及语法语义上的毛病了。
我是真心想得A的,我要argue一分回来,虽然老师挑的都是小毛病,但它也是毛病,那
最终的结果就是,老师让我回去把这些小毛病改过来,再重新发给他一份pdf report,
他会帮我再加一分回来~~ 我当然是开开心心地跑回去改了后再赶快发给老师呀。
老师说这门课我可以拿A~~!! 这个新的专业领域里,上课老师从来不给A的学生,骤然
感到自己可以拿A的时候,真的想像电影里那样喊出来,我好开心呀~~ *_^
d**********o
发帖数: 1321
389
第三个项目(5)
早说过了,我从来就不忌惮直面惨淡的人生。前面连才45%测试完全通过的final
version的compiler测试结果长得奇丑无比都贴出来见人了,我并不怕贴自己的项目,
只是前面依次贴了.tex file, .org file, 这次没有更好的改进和提升的情况下,我也
就不再浪费同专业小伙伴们的时间了。加上昨天贴病情结果、或者严格地说,整个这次
站出来写,从来就没能与读者建立深切联系,风向总是阴晴不定,认识到这一点儿,我
也感觉很挫败呀~~ 就让我最终能顺着一口气写下去吧 *_^
后来,到我们在进行最后一个项目时,一次周五我在CSAC值班,一个脑子不是特别好使
,身体可能也有病、在这里年复一年、读了好几个学期的台湾同学向我要这第三个项目
的代码,说想参考一下。我让他在白板上画、讲解他的思路,帮他指出了两三个他没能
理解的地方,比如人工码蚁已经走到map的最右边了,按照老师的要求,如果再向右移
动一位,蚂蚁是需要从map同一行最左边一格出来的。我说等我到office里从大笔记本
拷后发给他,但实际上我没有发给他。亲爱的读者,请原谅我没有顺他的意帮助自已的
同胞。从这门课第一个项目(我自己弄明白老师要求的scaling factor后,又用中文讲
解给他)开始,任何思路上他想不通的问题,我都尽自己的最大努力为他讲解,但我更
想看见一个更为用功、学得带点儿狠劲儿的同胞,而不是现在这个因为家里有钱、呆在
这里年复一年(比我早来还在读,不知要读到什么时候)、老师只要一个轻微的风吹草动
就能把他拍得粉身碎骨的学生。在这样的环境里,我们要像小强一样顽强地活着~~
d**********o
发帖数: 1321
390
周末有事
早点儿更新
其它时间
会正常更新~~
;)
相关主题
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
请教一下各位教授郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙
offer选择,请支招求助,我该接受这个教学职位吗?
进入WebRadio版参与讨论
T*****n
发帖数: 2456
391
开新帖吧,主要内容和版聊混在一起,完全没法读啊

【在 d**********o 的大作中提到】
: 周末有事
: 早点儿更新
: 其它时间
: 会正常更新~~
: ;)

d**********o
发帖数: 1321
392
我懒,
就接着这个楼写吧
等写完了
麻烦版务帮清一下~~

【在 T*****n 的大作中提到】
: 开新帖吧,主要内容和版聊混在一起,完全没法读啊
d**********o
发帖数: 1321
393
风雨飘摇(1)
这个春季的学习大环境,和自己的心境,实在可以用“风雨飘摇”几个字来形容。
圣诞节假期刚过完不久,待我们楼下作访问学者的姐姐从加州玩完儿回来,我就问她要
不要同我一起去附近的山上呼吸一下新鲜空气?那个trail上冰雪尚未化掉的中午,我
们的鞋子都不防滑,走了不到三分之一个circle,就连摔带爬地撤退回来,一路上聊着
系里的事、聊着我们各自的经历和情感。
小姐姐试探我明不明白说,“你知道,你只是一个异国他乡的小小留学生,别人处在高
位上,要弄死你很容易的~~!!”我明白她的试探,便也说出了自己自嘲式的调侃,“你
想想啊,如果一只苍蝇围着一个关着的窗子四周,在那儿嗡嗡嗡地飞;它或许只是想逃
到这个窗子外面去,可在这屋里的人,整天整天、几小时几小时地听它在那儿嗡嗡嗡,
或许一个拍子下去它就死翘翘了,也只是迟早的事~~!”为表示对她善意提醒的肯定,
我接着说,“那会儿高中语文不是要我们背各种诗句吗,那什么‘说你行,你就行,不
行也行;说不行,就不行,行也不行!’”,“横披是‘不服不行’”!我俩异口同声
地应喝着,阳光点点撒落在山林小道上,很是僻静的山道上荡漾着我们的笑声,那样的
日子不常有,还是很让自己怀念的。
d**********o
发帖数: 1321
394
风雨飘摇(2)
那时候,mitbbs首页上也出现过会有女生只和同专业男生约会的贴子出来,和自己当下
的境况很有几分相似。
星相老师说,狮子们最有利的筹码,便是拥有"神等级的专业",这是与现实世界最好的
连结,就算彼此精神、目标不相容也没关系,在贡献专业方面,只要有机会,狮子就会
愿意世俗些,再世俗些,因此才会"苦守寒窑"到现在。
在这个我与周遭的世界最强大的“神等级的专业”联系里,借助于自己的专业,我可以
分析、体会到小伙伴们的想法,estimate、evaluate他们的思维方式、价值观,这也就
有了后来QQ群里偶那“妹纸只通过题目了解汉纸”的调调~~ *_^
而且更可恨的是,偶这个专业里最为世俗的、苦守寒窑到现在的狮子,居然已经全然丧
失了从专业以外任何其它方面去了解异性的欲望(说得绝对了点儿,但是这个大致方向
),这可真搞笑,不也真就成就了那“只与同专业小伙伴约会”、只与同专业小伙伴关
系最要好、最亲密的事实吗?
d**********o
发帖数: 1321
395
风雨飘摇(3)
大概我欣赏的都是与自己性格合拍、比较有能力的小伙伴吧。
大A同学有着敏锐的对专业前途方向的判断,毕业前就已经找到一份大公司android
testing的工作;小A同学兴趣要比我广得多,同在CSAC工作,同为Emacs爱好者,他帮
推荐了org-mode、zsh Emacs command set等等。这两个小伙伴,同自己一样,也都是
很好的team player(自已也算得上是其中一个吧),很愿意、乐意去帮助别人。
而有些伙伴,能力应该或许也并不差,但性格上,玩起来、共事起来,可能就多多少少
会有些磨擦,那当然也就只能有所保留、有所限制地合作共处了。
比如系里也有一个印度新生,来读硕士研究生,写java的,c++大概也还可以,能力应
该也不差(我还在努力学习java呀~~)。应该是同暑假实习时B的个性比较像吧,他自己
意识不到,是他一直试图塑造的团体里队伍里他一枝独秀形象的这种作法或者说潜意识
,在伤害着他自己,那样就难免会让其它队友反感嘛。我一个新的专业学了一两年、脑
袋终于开始开窃的学生,他还总找机会、若有若无地表现着他的鄙视,为抬高他自己的
个人形象?这当然会让别人感觉不舒服嘛(至少是让我感觉很不舒服啊)~~ 后来导师
课的第二次考试评讲课,他priority ceiling protocol没弄明白提问了,可老师还是
没能讲透,他再接着问时,我就课堂上回答这个问题了,说明白、说透了,他还是显得
略有不服,拿眼睛看我的卷子。我那会儿还没学会用org-mode画这么繁琐的图,这个大
题的几个protocol我就是在纸上用尺子比着画图画得清清楚楚的,因为是open book,
考试其余所有部分我就是用org-mode生成的pdf type得清清楚楚。见他想看我就给他看
,不知道他看完之后,是否会让他有所醒悟和帮助~~
当然,我也很感谢那晚mitbbs首页那篇老师抓学生换typed卷子的贴子,让我有所意识
和醒悟,不再站出来写一次,我可能也会被无声无息地掐死的~~ *_^
d**********o
发帖数: 1321
396
风雨飘摇(4)
大环境的风雨飘摇,感觉起来就是环环节节地与自己的针峰相对~~
二三月份,EC课的第一个项目没办法难倒我之后,来了一次蛙声一片的第一次考试;第
二次项目也没有难度,可学校的其它地方还有让我头痛和为难的地方。
我收到学校发来的邮件说我还有balance需要付,可我的学费是开学第一天已经payroll
deduction,付完自己现有的TA工资(约$3800,因第一周我不能工作扣了$200),我自
己又用debit卡付了$160才付清,所有的奖学金也就只够勉强付学费,春天的生活费就
完全只能靠信用卡度日了。我怎么还会有Balance? 于是跑到学校里去查。
查的结果是,他们把我的payroll deduction弄错了,所以他们没能按照期望收到我的
学费。因为我第一个周被扣掉$200是开学第一天交完学费后第一周里发生的事。加上任
何时候,别人都可以有充足的理由可以犯错,别人有犯错的权利,别人要犯错,我也是
没办法阻止的,这就没什么好说可说的;可别人接下来的处理方式是,沟通之后,因为
别人已经没有按照预期收到我的payroll,尽管之前是别人不小心犯的错误,所以以后
我还必须得自已一次一次、每月两次地交学费,在office里她帮我重新算学费后,我需
要交出纠正错误前$1015.50的学费。
d**********o
发帖数: 1321
397
风雨飘摇(5)
而早在这之前,我的车早在二月份的时候就已经没办法发动了。当时我的保险没有拖车
服务,是同一层楼上一个美国学生用他的大卡车帮我把车拖到修车店里去的,好让店里
帮作检查。加一句,那个帮我拖车的老美,我去逼问过,别人就只要一盒white
chocolate cookie就可以了,他说那是他们美国人感谢别人的方式。后来我就在店里买
了盒他喜欢的cookie、买了盒muffin送他以示感谢。
车检查出来的结果是,gas pump给不了油,必须得换。打印出来的初步估价是,零件$
574.37, labor $85.00/hr * 2.5 hr = $212.50, fuel filter $34.82, 501 $25, 共
计$883.24, 别人说给我$50的 discount, 这样总计 $833.24。
呵呵,这又是老问题了。买车的时候,就是花了二十多块钱,请这家店帮检查的车。那
时车主还有一副extra 的gas pump,说是他们当初以为是这个坏了,所以买了,但是因
为没用,卖车的时候就一起拿给我。但当我把这个东西抱到店里,店里说他们不能保证
这个东西与自己的车是match的;如果不match,我必须要付劳工费。这一年里我一直很
穷,那这事就搁浅吧~~ 这个价钱,我一定修不起,也不舍得再花银子去修它,车就扔
在他们店里,我也没精力再去管它~~
d**********o
发帖数: 1321
398
风雨飘摇(6)
连我楼下的姐姐走的时候,知道我按预计(她走之前我的车好像还没坏?)我还差两个月
的房租没法付,走的时候还非常好心地为我留下$500现金,希望能帮我度过难关。小姐
姐说,将来我若有钱、有经济能力还她钱也可以,若我没钱就把这作为一种精神传承下
去,在别人有需要的时候,我们尽力去帮助别人~~ 我对姐姐说,这钱等我早晚回国,
我一定会还她的~~ 小姐姐临走时会留钱给我,这实在在我的意料之外,把我感动得一
踏糊途~~。
是前一个室友一直帮我交账单惯出来的毛病吗,在自己没有经济能力的情况下,学校里
的那个balance就搞得自己十分窝火。后来,在闺密那里又借了些钱之后,写了张check
把这个给清了。心理上,却好想好想,超越这平凡的世界~~
可越在人穷得发疯的时候,账单到得越频繁。去年4月8日的账单是后来暑假实习后(6月
中旬之后)才到的;今年3月3日的账单4月16日不期而至说到就到~~ 这一次,我选择作
鸵鸟一一把头埋进沙子里,眼不见心不烦,你们爱怎么着怎么着吧~~ *_^
d**********o
发帖数: 1321
399
针峰相对(1)
或许是这个ID曾经在mitbbs上挖过一个大坑,或许是我所理解的,这个网站始终有一个
股盘旋在这个学校上空的监督力量,当三月底我用马甲在网站上发出求救贴子后,这种
来自于这个网站的影响力就回馈到了这个学校。从EC老师讲fitness sharing的课堂开
始,这种回馈回来的影响力似乎就转化成了系里与自己的针峰相对。
前三个项目的授课内容结束后,老师的topic包括了 variations of genetic
programming, 包括Cartesian GP,and Grammatical Evolution, 包括了executable
structure properties, Automatically Defined Functions (ADFs), ADFs相当于把
Genetic programming按功能模块折小,这样cross over时可以如愿切换不同的功能模
块(也相当于实现if...else if... conditions吧)。老师ADF讲完后就讲了Island
Models。
前两个项目,当我们从每一代选择父母本的时候,老师推荐和prefer的是rank-based
tournament selection方法,我的两个项目也都一直用的是这种老师推荐的方法。相对
的,另一种方法是Roulette wheel方法,是probability-based方法。当老师讲species
attributes的时候,就讲了fitness sharing and crowding。但大半节课的时间重点
强高的是fitness sharing。fitness sharing是在probability-based方法的基础上,
减少选择极值父母本的可能性,增加群体的稳定性和群体长远的生存能力。至于
niching,基本就只提了一下。
这个授课内容让自己若有所思,但好歹它还是课本上的内容。在下课的时候,老师提醒
说下堂课要讲“restrict mating”!当这两个topic联系到一起,我就本能地联想起了
这些topic与自己个人的关系,我什么时候毕业、感情的结果又会是什么样的? *_^
d**********o
发帖数: 1321
400
针峰相对(2)
接下来的课堂,老师就真讲了restricted mating。讲了Geography,temporal mate
selection,crossover only with similar individuals, 讲了selection approach,
比如父本按tournament selection on fitness选,母本按similarity选。讲这些,也
只不过是讲了理论,具体实施起来,我猜测,如果代课老师的科研兴趣不在这一块,他
也未必能设计出什么比较好的项目来供我们做吧~~。
接下来,老师已经开始讲schema theory。
第三个项目后的这所有的内容,相比于之前的课程和授课内容,虽然感觉这个老师科研
上的兴趣性格与自己尚极为相似,但老师仿佛已经俨然失去了他天生的分析问题的直觉
能力,课堂上的内容讲得走马观花、蜻蜓点水,点到为止,根本就不去管、去理会讲课
的效果会是什么样子的。
他一方面讲得奇快、讲不透,一方面又时不时地、偶尔需要学生来回答他的问题。到这
时候,EC与上学期的编译课相比,就殊途同归地达到了下半学期、或后半1/3的课程、
学生基本就不敢、不再、也回答不上来上课提问的局面。偶尔一两个胆子稍大点儿的顺
应老师的意思,尝试着答一下,我有自己想法的时间也会跳出来答一答。到这时候,要
还有人再说我不make a point,就该直接撞墙死掉算了~~!! *_^
相关主题
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
d**********o
发帖数: 1321
401
针峰相对(3)
舆论的影响力也还是强大的。正是有感于上学期舆论对自己的影响力,这个夏天再站出
来写,无论结果如果,也一定要写出来救自己一次~~!!
到那时,大概我用马甲发的求救信也已经反溃到了实习公司。根据mitbbs上的反馈,他
们或许正有打算以人文关怀的名义、以给我特殊照顾的方式给我return offer,这样我
可以如愿工作。
到这时,学生个人已经与实习公司有了很好的联接、衔结;那学校这边呢,学校这边会
舍得放人吗?舆论的目光重新投回到学校,学校这时会采取怎样的做法?
我自己在心里琢磨,从上学期编译课自己被整得惨死在这门课上、只得一个C,这学期
第一次考试再次被整,他们真的会老老实实地交人、这么轻易地放过我么?!!!
不,从他们压制学生、控制舆论的节奏来看,他们一定不会的~~!!
又一次地给摆放在了命运的十字路口,我要为自己争取机会~~!! *_^
d**********o
发帖数: 1321
402
针峰相对(4)
我同学校里两年可以毕业的愿意是回到学校第一次同前导师讨论选课内容时,就已经同
前导师、大牛知晓过的;两年毕业、不争奖学金的“君子协议”是第一学期在写出了
Tic-Tac-Toe 500行代码后激流勇退甘愿被雪藏,同cs210的代课老师达成的,事后还去
代课老师的office里说过。但外界,在学校的舆论操控下,去年暑假实习的公司、和外
界舆论并不知道,我与学校有着这样两年的“协议”,我要想个方法把这个点打出来~~
接下来这次EC课上课前,我早早地来到了教室。等代课老师一来到教室,我就走上前台
,对老师说,“I changed my mind. You know I have written that decision
tree project in AI class. For EC, I don't need to challenge myself with
interests. I just want to successfully finish the last project, so that I
can focus on other things and graduate smoothly in August this year as
planned~~”我问老师他有没有什么项目可以推荐给我,他说fitness sharing;那我反
问改写project 1的选择方法,用fitness sharing,同时也完成project 1 graduate
student part,然后将结果与原project 1比较?代课老师同意,同意就好~~!!
我课堂上的小伙伴们到这时,都已然明白我醉翁之意不太酒,代课老师,他,难道不明
白吗?
这堂课,老师匆匆讲完schema theory, 就到下课时间了。这堂课结束时,老师提示下
堂课的内容说,“The topic for coming class will be ‘No Free Lunch’ theorem
!”
d**********o
发帖数: 1321
403
针峰相对(5)
接下来mitbbs的舆论上,同一版面里,就有了三足鼎立的局面和字眼。
接下来周五的EC课,老师讲了一个"Royal Road Problem",讲了一个“No Free Lunch
Theorem”, 讲了一个“Kolmogov Complexity/Randomness”,讲完这三个问题就下课
了。
关于早早地被代课老师预告过的“No Free Lunch Theorem”,我的笔记本上是这么记
的:
What is a GA optimization problem -- abstraction? Every different search
landscape/space is a different optimization problem. A search space is a
mapping from inputs to fitness. No optimization algorithm will do best on
all optimization problems. Any non-revisiting optimization algorithm will
do equally well when average across all optimization problems.
作为一个理解起概念来、资质平凡的国际学生,这三个问题的代表性,No Free Lunch
Theorem的理论精髓,我们当时上课也没能真正理会清楚,现在除了笔记本上还留下了
那么些句子,其余所有的一切,随着这几个月时间的过去,也早就全部返还给了代课老
师,除了当时境况下、下课前那一句“No Free Lunch”所彰显出的穷凶极恶的恶毒,
触目惊心,留在心底,久久挥散不去~~
d**********o
发帖数: 1321
404
针峰相对(6)
老师讲完No Free Lunch Theorem,已经到了四月下旬。
接下来周一的课( 04、21、2014 ),代课老师又重复了那“Kolmogov Complexity”
,和Schema Theorem / Building Block Hypothesis, Deceptive Problems.
The complexity of a thing is defined by the smallest program that will
generate it.
How complex is the "source code" to generate? Kolmogov Complexity says
Program A cannot generate a program more complex than itself.
For Deceptive problems, Deception can be used to measure problem difficulty.
这堂课结束前,老师举一个什么例子的时候,居然说到来自非洲等穷困国家、地方的孩
子撒傻啊什么的,有很多不良习惯,他们的话不能信~~!! 我记不得代课老师当初的原
话了,但小伙伴们对老师这句话的反应就直接映在了我身上。那代课老师的意思是说,
我上堂课前的话,关于decision tree,关于毕业,有什么话是骗他的?!! 那是哪句话
、到底是哪句话骗他了?作为一个生长在发达国家,受到过良好教育的学校里的教授,
他又何至于说出这样judge的话来?
对于老师这样的舆论打法,和对来自穷困地区的孩子身上可能有的缺点的这种评价,迫
使我把对这位代课老师的评价、evaluate得很低。我也是来自相对贫穷的发展中国家,
小的时候我也撒过谎,但长大后基本也都改正过来。为表达、发泄我对代课老师那种说
法的不满,下堂课我就没去上课~~!! *_^
d**********o
发帖数: 1321
405
针峰相对(7)
逃了周三的课,在接下来的周五,当我来上课时,就发现,代课老师居然搞同自己一样
的打法,这堂课他也不来上,由他的ph.d学生来讲一个他的研究项目。
代课老师,请问,你这样做,是要咬定第二次考试后,这些触目惊心的topic、topic的
广泛性需求,optimization problems的涉及都是针对我的吗?你故意紧接着我逃课不
来上课,就是要强化,这所有的一切就是针对我一一这个学生的,是这一层意思么? *
_^
ph.d学生就是对代课老师和他自己的研究课题作了些基础性、科普性介绍。没有了代课
老师走马观花、蜻蜓点水式的授课方式,博士研究生的课显得更平和、他就一直在讲台
上说啊说,把他准备的材料说完讲完了,也就早早地下课了。
继上上个周三课前我说想要按计划毕业、下课时他predict下堂课讲No free lunch, 周
五真正讲了No Free Lunch Theorem,三中鼎立日舆论也已经发酵了十天左右。我也始
终在等待着,不知道接下来会情况会怎样。
d**********o
发帖数: 1321
406
针峰相对(8)
接下来的周一,代课老师讲他研究项目上所用到的prey, predator关系,为他上周五不
来讲课找到、摆出了充足的理由。
紧接着的周三,代课老师开始讲 Competitive co-evolution, cooperative co
evolution。
Competitive co-evolution时,老师举了几个例子:
1 population -- implicit competition, for some environment
1 population -- explicit competition, head to head competition
2 population -- explicit competition, between 2 species
2 population -- like Solver & Problem Generators
到cooperative co evolution时,老师先举个例子,比如说Santa Fe trail问题,2
ants, but the food requires both ants to pick it up together. 老师要我们回答
,evaluate fitness的方法、approach有哪些?前面一个同学试了一下,但是答错了;
到这种问题了,我与此代课老师类似、本能的分析与解决问题的能力,就得到了彰显,
回答这种问题,几乎成了一答一个准~~!! 我回答出来了,他们或许还没能想到,到这
时,小伙伴们也没办法不服呀~~ *_^
d**********o
发帖数: 1321
407
针峰相对(9)
接下来的周五( 05、02、2014),老师讲了cooperative coevolution里的一个边边角角
,voting。
老师先讲selection in individual level. 大意是说在某个层面,若有三个人参与
voting,若全部voting结果一致,那就是那一致结果;若结果有不同,则多数票否决少
数票。我当时还提问老师说,这样的话,elite individuals will be shadowed by
this mechanism. 老师说,是的,这个正是这个voting系统在individual level存在的
缺陷。
老师接着讲selection in team level. 当老师接着讲这个level的时候,我才意识到刚
才那坑,似乎,我不应该跳;心里有些犹豫,可现在已经晚了~~!! 我睁大眼睛寻找着
这个系统的缺陷,但以老师讲课的速度和侧重点,我使了九牛二虎之力也找不出缺陷的
存在,除了可能的(potentially)对极少数individual的shadow。
若是作为一系统,就比如一个学校的教学效果,他们能够在team level胜出,虽然这种
选拔系统对个人来说并不合理。可问题是,当公司选拔个人的时候,他不是说要从学校
里选一个team去公司工作的呀?可老师讲这两个level的先后次序,也决定了作为老师
,他是站在team level selection这一侧的呀>?!! *_^
到这一堂课,上了将近一学期的EC课,我终于知道,我今年的命运也只能如此了。代课
老师不是要从科目上挂掉我,而是从舆论上掐死我~~!!
那天,我滚回家里去嚎了一个晚上,再想想接下来我该怎么办~~。
d**********o
发帖数: 1321
408
好,到今天,
所有大版块内容,
其作都写完了
明天,
就该是发悲愤了
剩下的,
把剩下所有的材料邮件
归总起来,这几天发完
也就该结束了
还有一年时间
可以学习
从来再来~~
居然忘了QQ群
后面会简要补写的~~ *_^
d**********o
发帖数: 1321
409
三方合作:延长CPT时与HR邮件
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
date: Fri, Aug 16, 2013 at 1:04 PM
subject: (agency公司)- Update!
: Important because you marked it as important.
Good Afternoon (me~~),
I hope all is going well!
I received an update from (实习公司) that the anticipated completion date
for your internship is scheduled for Sept. 20th. The expiration date I have
listed on your Form I-9 (authorization for employment) is 8/23/2013. Do you
have an update on the expiration date, and if so C please forward a copy to
me for our records so I can confirm the extension with (实习公司).
Please let me know as soon as possible, so I can confirm with (实习公司) C
and please feel free to contact me with any questions!
Best Regards,
(agency联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Fri, Aug 16, 2013 at 8:39 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
Sorry I just reached your email few minutes ago when I arrived home. Yeah I
do have a update with my last day of working here as an intern, and it will
be Friday 08/30/2013. My school will start on Monday 08/26/2013, but I will
stay one more week here in (实习公司) so that I would be able to finish all
my projects and also get well-learned and practised.
Thank you so much, and have a nice weekend!
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Aug 19, 2013 at 9:40 AM
subject: RE: (agency公司)- Update!
: Important mainly because you often read messages with this label
Good Morning (me~~),
Thank you for the update C please confirm that your I-94 has been extended
to 08/30/2013; (agency公司) cannot continue your employment beyond the
expiration date 8/23/2013 of your Form I-9 (attached).
Best,
(agency联系人)
** from: (hr联系人) <(hr联系人)@(实习公司)>
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
cc: "(agency联系人)@(agency公司).com" <(agency联系人)@(agency公司).com>
date: Tue, Aug 20, 2013 at 2:38 PM
subject: Internship extension
mailed-by: (实习公司)
: Important because you marked it as important.
Hi (me~~),
I understand that you internship has been extened to 8/30/13. Please
confirm that your I-94 has been extended to 08/30/2013; (agency公司) cannot
continue your employment beyond the expiration date 8/23/2013 of your Form I
-9 (attached). Please reach out to (agency联系人) at (agency公司).
Regards,
(hr联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Tue, Aug 20, 2013 at 8:41 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
I have attached a scanned modified form, please help me check if it is OK.
If it doesn't satisfy the requirement, please let me know.
Have a nice day!
thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Wed, Aug 21, 2013 at 9:17 AM
subject: RE: (agency公司)- Update!
: Important mainly because you often read messages with this labe
Good Morning (me~~),
Please call me at your earliest convenience, so we can discuss the extension
of the work eligibility. In order to extend beyond Friday, (agency公司)
needs to verify you have received an extension to your I-94 from your school
C this is the document you received with approval for CPT.
Thank you,
(agency联系人)
** from: (hr联系人) <(hr联系人)@(实习公司)>
to: (me~~) <(me~~)@gmail.com>
date: Wed, Aug 21, 2013 at 9:26 AM
subject: RE: Internship extension
mailed-by: (实习公司)
: Important mainly because you often read messages with this label.
Hi (me~~),
Thank you for following you with (agency公司). (agency联系人) called this
morning and would need to see you I-94 form that you received from your
school. Please send that to her.
Regards,
(hr联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (hr联系人) <(hr联系人)@(实习公司)>
date: Wed, Aug 21, 2013 at 10:03 AM
subject: Re: Internship extension
mailed-by: gmail.com
Hi (hr联系人),
I missed her call this morning but we have talked afterwards and I am
processing the necessary documents in order to get my CPT extended.
Hope all the process can go smoothly this several days.
Thanks,
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Wed, Aug 21, 2013 at 10:07 AM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
It was good we talked and got the process clear now. I talked to my
university and the CPT extension application process has been initiated.
Hope it will be done on time by this Friday. By the way, do you have any
hard deadline this Friday, something like 5:00pm PDT? I mean the school is
OK and processing it, but new student orientation will be from tomorrow,
things are rushed into these two days. But anyway, just let me know, I will
try my and my university's best to make it work.
By the way, please do help forward a blank version of the I-94 form so that
I can fill it out and send back to you on time.
Thanks a lot!
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Wed, Aug 21, 2013 at 10:21 AM
subject: RE: (agency公司)- Update!
: Important mainly because you often read messages with this label
Thank you (me~~),
You will need to have the approval before you can work past 8/23/13 C so if
it takes until Monday, then you would be able to report for work on Tuesday
after submitting the updated I-9 form to (agency公司). To continue working,
please update the attached form. Here are the instructions for completing
Section 3 C Reverification
1. Ask a friend or non-relative to act as an agent of (agency公司) if (
some friend) is not available to update the form (if she is, then skip to #3)
2. Ask the friend to sign the “I-9 Agent Authorization Form” in
order to complete Section 3. Reverification
3. Present your friend the original I-94 form to document under item C:
・ Document Title
・ Document Number
・ Expiration date (if any)
4. Sign on the line below that says, “Employer or Authorized
Representative” add the date, and printed name.
Please let me know of any questions C I’m happy to help!
(agency联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Wed, Aug 21, 2013 at 10:30 AM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
I think I got most of the part, but in order to fill out an updated I-9 form
and the reverification part, I think I would still need a blank form of
Form I-9 page (7 of 9) and (8 of 9). Please help me look into this one if I
really need these pages.
Please don't worry about the date too much then. If I can not get completely
processed by Monday, I can work as volunteer on Monday without pay. It's
completely ok for me. I appreciate the experience I got this summer from
working in (实习公司).
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Wed, Aug 21, 2013 at 10:37 AM
subject: RE: (agency公司)- Update!
: Important mainly because you often read messages with this label.
Hi (me~~),
Section 3 C Reverification must be completed on the completed form on file;
it is at the bottom of page 8 of 9.
(agency公司) does not permit employees to work as volunteers; this would
need to be pre-approved by (实习公司) directly C please confirm with (hr联系
人) if you are authorized to be on campus without work authorization by (
agency公司).
Thanks,
(agency联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Wed, Aug 21, 2013 at 10:42 AM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
Now I completely understood the process now. I will follow your instruction
and try my best to get the process done on time.
If by Monday it has not got processed, I can work on Monday at home then,
please do not worry about that too much!
I will contact you if I get any other questions.
Thanks a lot!
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Fri, Aug 23, 2013 at 3:54 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
I have submitted my CPT Extension Application to my university International
Program Office already, and becasuse of the new school year student
orientation, things are slightly slowed down, but I will get my CPT
processed today. As you issued out earlier, I will take Monday off to wait
and process all the documents until all are processed completely, and then I
will come back to work. So please help spare me some time on Monday, and I
will for sure contact/email you the copies needed. Hopefully we can get all
the documents processing done by the end of Monday.
If you have any other concern of issues, please let me know.
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Fri, Aug 23, 2013 at 4:13 PM
subject: RE: (agency公司)- Update!
Thank you (me~~),
As soon as you receive the extension Form I-94, please send it to me via
email. If you get it today, please text my cell phone: (555)-555-5555
i will check my email C if all is in order, you can report on Monday.
Otherwise, we’ll connect on Monday.
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Fri, Aug 23, 2013 at 4:18 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Thanks (agency联系人),
I am not sure if I-94 is the new I-20 for CPT, but as soon as I received my
I-20, I will fill out the I-9 (Page 7 of 9, and Page 8 of 9) and signed
Authorized Agent For Form I-9 (totally 3 pages) to you as soon as possible.
Thank you so much for all the help, and have a nice weekend!
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Fri, Aug 23, 2013 at 4:26 PM
subject: RE: (agency公司)- Update!
: Important mainly because of the people in the conversation.
Hi (me~~),
I will not need a new I-9 form; please send me a scan or copy of the I-20,
and I will update the form on Section 3 C Recertification. It is very
important I receive a copy of the document from your school that confirms
your extension.
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Fri, Aug 23, 2013 at 4:34 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
Yeah, I got the information. Right, right, I will send the scanned copy of
my extended-to-08/30/2013 new I-20 then as soon as I get it.
I sent out the application form on Wednesday, and most probably, they will
send the new I-20 to me directly instead of to you. Sorry I want to make it
clear now, do you want the I-20 come from my university, or from me is OK
too? Just that usually they send to me first, but I want to try my best to
satisfy the regular process here in (实习公司). Please help confirm.
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Fri, Aug 23, 2013 at 4:35 PM
subject: RE: (agency公司)- Update!
: Important mainly because of the people in the conversation.
From you -- it will be fastest
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Fri, Aug 23, 2013 at 4:50 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
The latest news: I just confirmed with my university that my university
International Program Office will send me the scanned copy tomorrow after
the Madam finishes it. And I will forward the scanned copy to your email and
also to your phone immediately. Could that help and means I could come on
Monday and work on regular hours?
Thank you so much!
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Sat, Aug 24, 2013 at 8:54 PM
subject: Re: (agency公司)- Update!
mailed-by: gmail.com
Hi (agency联系人),
I received the scanned copy of my new I-20 from my university, and I have
the scanned pictures attached, please check. I will send a message to your
cell phone as well.
Please let me know if you need any other materials, and let me know at your
earliest convenience if I would be able to work on Monday.
Thank you so much, and have a good weekend!
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Sun, Aug 25, 2013 at 7:45 AM
subject: RE: (agency公司)- Update!
: Important mainly because of the people in the conversation.
Great job! Thank you (me~~) yes, you can work on Monday. I will email (hr联
系人) & confirm with her, too. Enjoy your Sunday!
d**********o
发帖数: 1321
410
三方合作:延长CPT与导师邮件
** from: (me~~) Huang <(me~~).[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
to: cs445代课老师 <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>,
cs445代课老师@XXXXXX.edu
date: Wed, Aug 21, 2013 at 10:01 AM
subject: Summer Internship Extension
mailed-by: gmail.com
Hi Dr. cs445代课老师,
I am in the hurry to apply for one week extension for my summer internship
so that I can make slightly more money. I have modified the Application form
so that I would be able to work until 08/30/2013. Could you please help me
review and modify the signature date so that I can forward to IPO for CPT
extension? IPO will have new student orientation tomorrow. So if you have
reached this email by any chance, please help me process it so that I can
get one week extended smoothly without forced to be ended this Friday.
Thanks a lot!
(me~~)
** from: (me~~) <(me~~)@XXXXX.edu>
to: "[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
" <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>,
"cs445代课老师"
cc: "(IPO)" <(IPO)@XXXXXX.edu>,
"(me~~)@gmail.com" <(me~~)@gmail.com>
date: Wed, Aug 21, 2013 at 3:19 PM
subject: CPT Application
mailed-by: XXXXX.edu
Hi Dr. cs445代课老师,
I have refilled a CPT Application form, please help me review, sign/date it
and help me to forward to (IPO) at your earliest convenience so that (IPO)
would be able to help me process the CPT one week extension.
Thanks a lot!
** Re: Summer Internship Extension
cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
You replied on 8/21/2013 7:45 PM.
Sent: Wednesday, August 21, 2013 7:23 PM
To: (me~~)
Hi (me~~),
Tell me in a numbered list of well explained simple steps what you
want me to do.
thanks,
cheers,
** RE: Summer Internship Extension
(me~~)
Sent: Wednesday, August 21, 2013 7:45 PM
To:
cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
Hi Dr. cs445代课老师,
I just modified the file to extend it to be 08/30/2013. And since you have
signed it for me before, I just need you to
1. modify the signature date of yours to be 08/20/2013
2. Send back the modified one to me
so that you "know and approved" the process.
Thanks a lot!
(me~~)
** Re: Summer Internship Extension
cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
You replied on 8/21/2013 10:21 PM.
Sent: Wednesday, August 21, 2013 10:17 PM
To:
(me~~)
Attachments:
CPTApplication_(me~~)-2.pdf? (236 KB?)[Preview on web]
Hi (me~~),
See attached. Let me know if there is anything else you need.
cheers,
** RE: Summer Internship Extension
(me~~)
Sent: Wednesday, August 21, 2013 10:21 PM
To:
cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
Dr. cs445代课老师,
This works perfectly. Please ignore the email I sent to you one minute ago,
and I will forward the current one to (IPO) so she can help me with CPT
application.
Thanks a lot! I will see you soon!
(me~~)
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
老印还挺不好伺候的,不准备打交道了有患巧克力囊肿后成功怀孕的版友吗?
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
进入WebRadio版参与讨论
d**********o
发帖数: 1321
411
三方合作:延长CPT与IPO邮件
** CPT Application
(me~~)
Sent: Wednesday, August 21, 2013 10:19 PM
To:
[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
; cs445代课老师; cs445代课老师@XXXXXX.edu
Cc:
(IPO); (me~~).[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
Attachments:
CPT Application.pdf? (354 KB?)[Preview on web]
Hi Dr. cs445代课老师,
I have refilled a CPT Application form, please help me review, sign/date it
and help me to forward to (IPO) at your earliest convenience so that (IPO)
would be able to help me process the CPT one week extension.
Thanks a lot!
(me~~)
** CPT one week - extension Application
(me~~)
You forwarded this message on 8/24/2013 12:14 AM.
Sent: Wednesday, August 21, 2013 10:28 PM
To:
(IPO)
Cc:
cs445代课老师
Attachments:
CPTApplication_(me~~)-2.pdf? (235 KB?)[Preview on web]
Hi (IPO),
I have attached the updated CPT Application form, please check.
I am trying my best to get my work extension processed by this Friday so I
won't be prevented from working on coming Monday. Please help me process it
at your earliest convenience. And when you have the new I-20 ready, give me
a notice and I can ask some friend to pick it up and mail to me immediately.
I have troubled you a lot during the summer. Thank you so much for all the
help. If you have any question or concern, please let me know.
Thanks a lot!
(me~~)
** FW: CPT one week - extension Application
(me~~)
Sent: Saturday, August 24, 2013 12:14 AM
To:
(IPO)
Attachments:
CPTApplication_(me~~)-2.pdf? (235 KB?)[Preview on web]
Hi (IPO),
I feel great that you showed up in office even after orientation and I still
grabbed the chance to talk to you today the last moment. Please help me
spend some of your extra hours process it so that I would be able to work on
Monday. I will catch up with you sometime when I arrive on campus and hope
we will have a nice chat!
Thank you so much, and have a great weekend!
(me~~)
** Advisor's Signature Process Attached
(me~~)
Sent: Saturday, August 24, 2013 7:51 PM
To:
(IPO)
Attachments:
CPTApplication_(me~~)-2.pdf? (236 KB?)[Preview on web]
Hi (IPO),
I have forward you the advisor's signature process so that you understood
the advisor's signature has been taken care of.
Please help me with some extra hours process the new I-20 so that I would be
able to work on regular hours.
Thanks in advance.
(me~~)
________________________________________
From: cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
Sent: Wednesday, August 21, 2013 10:17 PM
To: (me~~)
Subject: Re: Summer Internship Extension
Hi (me~~),
See attached. Let me know if there is anything else you need.
cheers,
On Wed, Aug 21, 2013 at 12:45 PM, (me~~)
<(me~~)@XX.XXXXXX.edu> wrote:
> Hi Dr. cs445代课老师,
>
> I just modified the file to extend it to be 08/30/2013. And since you have
signed it for me before, I just need you to
>
> 1. modify the signature date of yours to be 08/20/2013
> 2. Send back the modified one to me
>
> so that you "know and approved" the process.
>
> Thanks a lot!
> (me~~)
> ________________________________________
> From: cs445代课老师 [[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
]
> Sent: Wednesday, August 21, 2013 7:23 PM
> To: (me~~)
> Subject: Re: Summer Internship Extension
>
> Hi (me~~),
> Tell me in a numbered list of well explained simple steps what
> you want me to do.
>
> thanks,
> cheers,
** RE: Advisor's Signature Process Attached
(IPO)
You replied on 8/25/2013 3:49 AM.
Sent: Sunday, August 25, 2013 2:06 AM
To:
(me~~)
Attachments:
(me~~) 001.jpg? (461 KB?); (me~~) 002.jpg? (619 KB?); (me~~) 003.jpg? (259
KB?)
Hi (me~~),
Please see the attached I-20 for your CPT extension, please let me know if
there is anything else that I can help with!
Sincerely,
(IPO)
Senior International Student & Scholar Advisor
International Programs Office
d**********o
发帖数: 1321
412
三方合作(1)
星座上说,“然后到了2013年,狮子地位依然维持,依然努力工作、兢兢业业,但状况
似乎有些变化。说不出所以然,就是一股隐约的反对势力让你不得不被牵制、晃到,而
且理由莫名其妙又不友善,让狮子很不服气。虽然说这些不顺伤不了狮子的筋骨,但就
会明显感到,啊,“有人不买账了、莫名被吐槽了、就是要搞你了”,暗中的恶意正对
你而来,且不怕让你知道他的恶意,对方甚至有点来头跟你对杠,就是要狮子注意到他
与你势均力敌。”
对上面星相老师对2013的总结,我也是深有体会。正如上面三个贴子所贴出的关于实习
最后一周延期的事,对这一点儿的体会也是再深不过了。
前面写实习部分的时候,故意跳过了这一点的细节。而我必须首先老实交待和承认的是
,那个周五(还是周四?)的下午,当我把C说希望实习能够延长一周时,我说过,“学
校那边没什么问题”,请读者原谅我,那时说这话的自己,其实尚未同学校打招呼。在
我眼里,学校那边要比公司这边容易处理很多,若是公司这边不允许,学校那边便也就
没有必要联系了。而我有如此自信,学校那边不会有什么问题,也是因为在心里我早就
打算要自己交秋天的学费,在这种前提下,料想学校那边不会有任何问题。
所以接下来的周三,当实习公司这边开始浩浩荡荡开打,欲想实习公司与学校合作,若
是能揭穿我说、说过谎,便把我打回十八层地狱、打回阴朝地府去~~!! 可学校这边,
正如我一早已经开始同软件工程课的代课老师、系里的大牛开始联系秋季上课交学费的
事情,我也在周三第一时间同自己的导师联系CPT延期申请,所以学校这边完全没有意
识实习公司那边到底在作什么。
b*s
发帖数: 82482
413
都已经IPO了?恭喜!

(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
; cs445代课老师; cs445代课老师@XXXXXX.edu
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */

【在 d**********o 的大作中提到】
: 三方合作:延长CPT与IPO邮件
: ** CPT Application
: (me~~)
: Sent: Wednesday, August 21, 2013 10:19 PM
: To:
: [email protected]
: (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
: /* ]]> */
: ; cs445代课老师; cs445代课老师@XXXXXX.edu
: Cc:

d**********o
发帖数: 1321
414
三方合作(1)
星座上说,“然后到了2013年,狮子地位依然维持,依然努力工作、兢兢业业,但状况
似乎有些变化。说不出所以然,就是一股隐约的反对势力让你不得不被牵制、晃到,而
且理由莫名其妙又不友善,让狮子很不服气。虽然说这些不顺伤不了狮子的筋骨,但就
会明显感到,啊,“有人不买账了、莫名被吐槽了、就是要搞你了”,暗中的恶意正对
你而来,且不怕让你知道他的恶意,对方甚至有点来头跟你对杠,就是要狮子注意到他
与你势均力敌。”
对上面星相老师对2013的总结,我也是深有体会。正如上面三个贴子所贴出的关于实习
最后一周延期的事,对这一点儿的体会也是再深不过了。
前面写实习部分的时候,故意跳过了这一点的细节。而我必须首先老实交待和承认的是
,那个周五(还是周四?)的下午,当我把C说希望实习能够延长一周时,我说过,“学
校那边没什么问题”,请读者原谅我,那时说这话的自己,其实尚未同学校打招呼。在
我眼里,学校那边要比公司这边容易处理很多,若是公司这边不允许,学校那边便也就
没有必要联系了。而我有如此自信,学校那边不会有什么问题,也是因为在心里我早就
打算要自己交秋天的学费,在这种前提下,料想学校那边不会有任何问题。
所以接下来的周三,当实习公司这边开始浩浩荡荡开打,欲想实习公司与学校合作,若
是能揭穿我说、说过谎,便把我打回十八层地狱、打回阴朝地府去~~!! 可学校这边,
正如我一早已经开始同软件工程课的代课老师、系里的大牛开始联系秋季上课交学费的
事情,我也在周三第一时间同自己的导师联系CPT延期申请,所以学校这边完全没有意
识实习公司那边到底在作什么。
d**********o
发帖数: 1321
415
猜测
此IPO

彼IPO

汗~~

【在 b*s 的大作中提到】
: 都已经IPO了?恭喜!
:
: (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
: /* ]]> */
: ; cs445代课老师; cs445代课老师@XXXXXX.edu
: (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
: /* ]]> */

d**********o
发帖数: 1321
416
三方合作(2)
周三上午同那个相关人员打电话时,我问她,当我第一次来正式实习的时候,你不需要
看我的 I~20,现在,我只需要延期一周,你们要亲眼看我的 I~20 吗?电话那头传来
的女声说,是的~~!!
周三同导师联系时,因为自己着急,想着导师只需要修改上次申请电子表格的日期就可
以了,后来,因为IPO本着认真负责的精神,充分怀疑我的申请表里导师签字的真实性
,所以后来就把自己导入到了更长的等待里(等到周六)。但公司这边,因为我周三一一
也是开始申请的第一天,已经拿到导师同意的签字、安全过渡,所以再看接下来周四、
周五C与其它manager们的反应、表现,一方面后怕不已(原来我迷糊犯错时,还有那么
点儿本能的防火防灾性,但不可再犯!),一方面却也对公司里头目们如此想看别人出洋
相惊诧不已~~!! *_^
正如,这次站出来贴早前时候的一次作业,当时我没有找到正确的版本,但等后来我找
到了,我就及时将自己犯过的错误纠正了过来。虽然高考之后,我已经不撒什么大谎了
,但这两件事仍然会警告自己,不是迫不得已,不是出于善意的谎言,我坚绝不要再撒
任何的谎~~!!
d**********o
发帖数: 1321
417
三方合作(3)
再来回补一下EC课代课老师说非主洲孩子撒谎,难道代课老师的说的是这件关于实习延
期的事?我已然主动承认了(说了谎也是因为,觉得及时与公司打好招呼比从学校走正
规程序要难很多的常识啊);倒是代课老师接下来也没来上课之后,当他发还给我们
project3有时候,他给我的成绩8/10又该如何解释?他的评分难道是信口开河?
那次代课明明说我们课我可以得A;我的最后一个项目也写得很好,顺利地完成了所有
他所建议要求的所有内容;期末考试因为他把最后三分之一的课彻底讲迷糊掉了,我绝
对相信期末若是close book考的话刷掉的人不要太多~~! 但老师有自知之明,AI的期末
都是闭卷的,这门EC期末这次必须得开卷考试呀(要不然学生们怎么过,试卷出1+1=?)
,所以对我来说也没有什么问题。但我最终的成绩,老师给的还是B~~!! 之前第一次考
试后在他office里,说起上学期的编译课,他建议我说我可以去找一下代课老师。这学
期期末考试后,我因事在学校停留了一周才离开去加州,这一周我多次到楼上他office
前去,我想去找一下代课老师,但我连代课老师的影子也见不到~~!!
再补充一点儿。关于EC最后一个项目,代课老师从网上找各种来源的项目、鼓励大家争
发paper,把那个项目打得山响。但我清楚地知道,在自己与代课老师针锋相对、个人
与系里的矛盾已然白热化、舆论已然关注到这个学校、这个系、这门课的时候,代课老
师那么做,也不过是他虚张声势,也不过是自己往自己身上抹金、往他的其它学生(因
为之前的我已经说了我要focus on其它事情上)身上抹金的xx作法而已。
d**********o
发帖数: 1321
418
三方合作(4)
就好像说本来一个系一个专业这近一年毕业的好学生也就那么两三个,处于打战场、打
舆论、装点门面的需要,这两个学生可以被安排在五月初答辩一次,8月份我回学校来
,舆论再次集中到这里来时这两个学生再答辩一次,别人不觉得别人系里、学校里人才
少,别人不觉得有丝毫不合适、不妥帖的~~!!
就像五月份directed study,team project, 自己明明与小伙伴们写了四五个周末的项
目,是三个大项目里进展最好的项目,是这个项目六个人里贡献最多的三四个人之一。
这6个人里一个从来不参加项目的,最后代课老师给他水过?一个就只来了一次作了作
样子;我们四个人是对项目贡献最多的,但到五月份代课老师刻意安排demo时,代课老
师不让我参加、压根儿就不通知自己~~!!
就像distributed system,我原本就不太懂,老师也讲不透,这样的课,不曾期待拿个
A;别人也只是想要别人喜欢的programming的科目上拿A而已,为什么就这么难,每门
课就一定得弄个奇难的考试、评得极人、把别人的活活打死、卡死~~?别跟我说我不配
拿A,cs210,就算别人转专业不到一个月已然写出500行lisp,但代课老师评分五次作
业一次作业平均 仅只30 分,总共两次考试,每次考试150-200分,想拿A,作梦吧,门
都没有~~!!
就像一年前的九月当自己没选到统计相关课时,对家里室友就过不喜欢这个系这个学校
,当自己的成绩被系里一直打压、当别人的价值得不到肯定,要别人拿什么来爱这个学
校?
d**********o
发帖数: 1321
419
三方合作:实习前与HR邮件
** from: (hr2)
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
cc: (hr联系人) <(hr联系人)@(实习公司)>
date: Tue, Jun 4, 2013 at 8:38 AM
subject: Your upcoming internship with (实习公司).
mailed-by: (实习公司)
Good Morning (me~~),
I am pleased to hear that you will be joining as an intern very soon. My
name is (hr2) and I manage the immigration department here at SSI. (hr联系
人) your recruiter gave me your name because I am required to run some
additional export license review checks and SDN/do not fly security checks
prior to you joining us.
(hr联系人) was kind enough to provide your job description and resume to
assist me, but I also need your last place of foreign residency complete
address please.
Regards,
(hr2)
** from: (me~~) <(me~~)@gmail.com>
to: (hr2)
date: Tue, Jun 4, 2013 at 8:58 AM
subject: RE: Your upcoming internship with (实习公司).
mailed-by: gmail.com
Good morning (hr2),
I am slightly confused with the last place of foreign residency, I think
most probably it should be my last previous address in US, Which should be:
110 S Almon Str, Apt #312, Moscow, XX 83843. I had lived there for the past
year. And my current temporatory address in US is: 2959 Hostetter Road,
San Jose, CA 95132. I have changed to this address before I leave for CA in
the post office.
I want to check with you if these additional export license review checks
and SDN will possibly change the hiring result, and if I should start my CPT
application from my university immediately.
I may have misunderstand about the address. If you have any question or
relative information for me, please do not hesitate.
Thanks a lot!
(me~~)
** from: (hr2)
to: (me~~) <(me~~)@gmail.com>
cc: (hr联系人) <(hr联系人)@(实习公司)>
date: Tue, Jun 4, 2013 at 9:29 AM
subject: RE: Your upcoming internship with (实习公司).
mailed-by: (实习公司)
(me~~),
I need your last place of foreign residency which I believe (hr联系人)
mentioned is probably your home county of China. Please provide that
complete address. If we have to obtain an export license, that process takes
about 40-50 days after we submit the request. If we did need an export
license, you could start with SSI but would be limited to the technologies
you could be exposed to. The SDN Do not fly report could be a problem if you
are on the restricted airline fly list which I would doubt that you are.
Please don't worry about this until I have these checks completed and the
reports back to (hr联系人) which should be within the next 48-72 hours. I
can tell you that the last two internships that (hr联系人) sent me, the
positions DXX NOT require an export license. I will share the results with (
hr联系人) as soon as I get the reports back.
This is nothing out of the ordinary as all companies are required to screen
positions for export control licenses for all foreign nationals. Same thing
for the SDN/do not fly checks. You probably weren't even aware the checks
had been made (or should have been made) on your prior internships or full-
time positions.
Please provide your last place of foreign residency address at your earliest
convenience. Your past U.S. addresses will not suffice.
Thank you,
(hr2)
** from: (me~~) <(me~~)@gmail.com>
to: (hr2)
date: Tue, Jun 4, 2013 at 9:52 AM
subject: RE: Your upcoming internship with (实习公司).
mailed-by: gmail.com
Dear (hr2),
Thanks for all the detailed explanation for me. I understand the SDN Don not
fly security checks now and I agree with you that I don't need any flight
during my intern and I will go back to school driving my car, so I won't
take any airplane within coming one and half an year. I have not even hear
about these concepts before with my previous internships. So I don't think
this process is necessary neither. But you will be the one to make the
decision.
My last place of foreign residency address is: ~~
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ~~
I have some concern with this checks/address as well, because in our country
I don't think we have clear address records like US at all. The above
presents the last address I lived when I was in China. But according to our
human resource management, my documents/files/address are now stored in some
agency place in Wuhan, Hubei province, in which state that I was born. But
I don't have any idea where is that place and agency name at all. Please
help me put these circumstance into consideration as well.
Thanks!
(me~~)
** from: (hr2)
to: (me~~) <(me~~)@gmail.com>
cc: (hr联系人) <(hr联系人)@(实习公司)>
date: Tue, Jun 4, 2013 at 10:01 AM
subject: RE: Your upcoming internship with (实习公司).
mailed-by: (实习公司)
(me~~),
The address you provided in Beijing is the one I need since it is your last
place of foreign residency. I understand you won't be flying. This is a
required security check that (实习公司) requires me to perform on all
foreign nationals holding any type of position in the company along with the
Export Control screening. Our immigration attorneys from the Morgan Lewis
and Bockius law firm in Washington DC will be performing the check. Thank
you for providing the information and I will let you know if I need anything
else.
(hr2)
** from: RedCarpet Onboarding <[email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
>
reply-to: [email protected]
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
to: (me~~)@gmail.com
date: Mon, Jun 10, 2013 at 10:57 AM
subject: Welcome to (agency公司) Onboarding for your assignment at (实习
公司)
mailed-by: silkroadtech.com
Welcome (me~~),
We are so happy to have you join our team here at (agency公司). We will be
your payroll and back office provider at (实习公司). RedCarpet is our
application that will guide you through your onboarding process with us.
Please write down your login information username & password, for future
reference then proceed to our RedCarpet by clicking the link provided.
Note: Your first task is now available. Please login below to complete
your first task.
Username: (me~~)
Password: kgjdfjkgfkg
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
date: Tue, Jun 4, 2013 at 10:55 AM
subject: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Good Morning (me~~),
Thank you for taking the time to speak with me - Congratulations on your
Internship with (实习公司)!
(agency公司) will serve as your employer of record, and administer your
payroll and benefits while you are on assignment. In addition to providing
direct deposit and weekly paychecks, (agency公司) offers medical benefit
plans including vision, and dental coverage. I look forward to working with
you as you complete the required pre-employment steps in preparation for
your assignment through (agency公司) - Let's get started!
Background Check
It is very important to begin the pre-employment screening as soon as
possible to ensure all is complete and clear prior to your targeted start
date. For your position, the following screenings are required: Criminal
Background Check, Education Verification, Employment Verification.
Please go to the website https://www.candidatelink.com/fgfgjhgj and follow
the steps noted below:
Go to the lower box designated "New Users" and click "Create Account".
Create a user ID, enter your email address, create and confirm a password
and select a challenge question/answer in the event you forget your username
or password.
Make note of the username and password created for future reference.
Return to the ADP home page and enter your new username and password created.
Review and complete the E-Sign Confirmation.
Create the Candidate Record information by completing the data fields
requested.
Create the Screening Collection information by completing the data fields
requested.
Review the Background Check Disclosure and Authorization Form. Complete the
form by digitally signing at the bottom of the page.
*Please be sure to provide accurate dates and contact numbers to the best of
your ability. All employment checks completed will be verifications of
employment (not a reference call).
(agency公司) will be notified automatically of the completion of your
registration through the ADP system. Once your pre-hire screening has begun
, we will be happy to provide you status updates through the process until
completion.
New Hire Paperwork -- Red Carpet
After the background check begins, you will receive email instructions for
completing your new hire packet online with Red Carpet. Most of the
information can be processed on-screen with an electronic signature. The
exception is the I-9 form, which will require you to print and sign the form
, then have a witness (non-relative) complete Section 2.
If you have any questions, or would like further assistance please feel free
to contact me -- I'm here to help!
Best Regards,
(agency联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Tue, Jun 4, 2013 at 11:21 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
Good Morning (agency联系人),
It was really nice speaking with you in the morning. Thank you so much for
all these helps, and I will start the pre-screening process once I finish
this email immediately!
In the phone I mentioned about the offer letter and job responsibility staff
. But after I have reviewed the previous emails, I think the email offer
letter and email job description works perfectly, and please don't contact (
hr联系人) for these documents any more, since I have got them already!
If I am in difficulty with the pre-screening, I will write to you.
Thanks a lot.
Sincerely,
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Tue, Jun 4, 2013 at 12:30 PM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
: Important because you marked it as important.
Hi (agency联系人),
I have followed the link and have finished all the parts that I have
information on hand. Some reference records were left are home in XXXXXX, so
some items are missing.
I have clicked the "Exit and Submit" button, and I think it should work,
just that I could not get any feedback to confirm it works.
Please help me with the continued screening process, and if you find any
issue or have any questions, please let me know.
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Tue, Jun 4, 2013 at 12:36 PM
subject: RE: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Thank you (me~~) -- this will be fine! I am going to register the new hire
packet for you now -- please let me know of any questions.
** 延迟一周开工的邮件
from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Jun 10, 2013 at 10:01 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Good Morning (me~~),
A follow up on the background check process shows that your information was
not received by ADP. I am not sure what caused this issue! Would you be so
kind as to log in to ADP again, and enter the information so the background
check can begin?
Also, is there an update on the approval of your CPT? I would like to
provide an estimated start date to (实习公司) today.
Thank you (me~~)!
(agency联系人)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Mon, Jun 10, 2013 at 10:31 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
Good Morning (agency联系人),
I will log in to ADP again, and enter the information so the background
check can begin again.
I have got my CPT on hand already, and can start immediately once we get the
background check done.
When you provide an estimated start date to (实习公司) today, please CC me a
copy so I would be able to know the start date too.
Thanks,
(me~~)
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Mon, Jun 10, 2013 at 10:47 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
: Important because you marked it as important.
Good Morning (agency联系人),
I have just resubmitted the relative information from ADP website, please
help check.
I am wondering if you have any idea to help facilitate the background check
process, so that I would be able to start work earlier.
If you have any question or concern, please let me know.
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Jun 10, 2013 at 10:42 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Thank you (me~~)!
I will contact them after the background check begins, which will give me an
anticipated start date.
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Jun 10, 2013 at 10:55 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Hi (me~~),
You will soon receive the link from RedCarpet for your new hire packet. What
would be the first date you are able to start, if (实习公司) approves you
to begin while the background check completes?
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Mon, Jun 10, 2013 at 11:18 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
: Important because you marked it as important.
Hi (agency联系人),
I have received the link from RedCarpet for new hire packet now. I am able
to start immediately once (实习公司) approves me to begin while the
background check completes.
I am filling out the link from RedCarpet, and will try to finish it as soon
as possible.
Thanks,
(me~~)
** from: (agency联系人) <(agency联系人)@(agency公司).com>
to: (me~~) <(me~~)@gmail.com>
date: Mon, Jun 10, 2013 at 11:25 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
: Important because you marked it as important.
Wonderful! (hr联系人) will be contacting you to confirm the start date --
targeted for Monday, 6/17/13
** from: (me~~) <(me~~)@gmail.com>
to: (agency联系人) <(agency联系人)@(agency公司).com>
date: Mon, Jun 10, 2013 at 11:41 AM
subject: RE: (实习公司) - Welcome to (agency公司)!
mailed-by: gmail.com
: Important because you marked it as important.
Yeah, (hr联系人) has contacted me already, and I will report to her on
Monday morning to get my badges. Thanks a lot!
(me~~)
d**********o
发帖数: 1321
420
实习公司offer letter
** from: (hr联系人)
to: "(me~~)@gmail.com" <(me~~)@gmail.com>
cc: "svogel@(agency公司).com" ,
(某人) <@(某人)(实习公司)>,
C
date: Mon, Jun 3, 2013 at 5:26 PM
subject: (实习公司) Offer Details
mailed-by: (实习公司)
Hi (me~~),
Congratulations on accepting the position at (实习公司).
I am confirming the offer details in writing with you please see below:
Title: Intern
Start Date: TBD, dependent of acquisition of OPT/CPT
Location: company headquarter location
Pay rate: - $36.00 per hour
Supervisor: C, Sr. Manager Engineering
You will be pay-rolled through our agency, (agency name). (one
special name) is our contact and she is copied on this email. She can
answer any questions you may have about being on their payroll, including
benefits options.
Regards,
(relative person)
Associate Manager, Staffing Programs
company name
company headquarter location
** from: (me~~) <(me~~)@gmail.com>
to: (hr联系人) <(hr联系人)@(实习公司)>
date: Mon, Jun 3, 2013 at 5:35 PM
subject: RE: (实习公司) Offer Details
mailed-by: gmail.com
Hi (hr联系人),
Thank you so much for the help this time. I will devote all my possible/
potential time, energy, and try my best to work for C.
I look forward to seeing you sometime when I work here to express my
appreciation.
Again my down from heart thanks for you!
Sincerely,
(me~~)
相关主题
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香offer选择,请支招
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
进入WebRadio版参与讨论
d**********o
发帖数: 1321
421
register internship course
** From: (me~~~)
Sent: Wednesday, May 29, 2013 10:21 AM
To: (实习课代课老师)
Cc: (main office小秘)
Subject: RE: Internship Courses
Hi, Dr. (实习课代课老师), and (main office小秘),
I want to know if I have missed the summer courses deadline already, is
there any way that I can petition for a one credit registration for summer?
If I can do that, who are the responsible person that I can contact when I
get a job offer?
Thanks,
(me~~~)
** RE: Internship Courses
(main office小秘)
You replied on 5/29/2013 5:29 PM.
Sent: Wednesday, May 29, 2013 5:25 PM
To: (me~~~)
(me~~~),
It probably depends how long/when you're wanting the internship to run.
Summer Session II begins June 10, and Session III begins June 24 for 6-week
courses or July 8 for 4-week courses.
You would need to decide which session you wanted the 1 credit internship to
run.
-(main office小秘)
** register insternship courses
(me~~~)
Sent: Tuesday, June 04, 2013 4:26 PM
To:
(main office小秘) [(main office小秘)@uxxxxx.edu]
Hi (main office小秘),
I want to let you know that I got a job offer and I need your help to help
me register some internship course credits. I guess the best suit course
will be the Session II which begins June 10, and to the end of summer. I am
not quite sure how many credits I need for this internship, and please help
me decide about this and let me know the result.
By the way, I have simple question needs your help as well. How would I be
able to know I have registered summer intern course already, anything that I
can use as evidence for IPO for CPT application? And, Session II starts on
June 10, will it be OK for me to start to work from this week?
I look forward to hearing back from you.
Thanks a lot!
(me~~~)
** Internship Registration
(main office小秘)
You replied on 6/6/2013 3:01 AM.
Sent: Wednesday, June 05, 2013 10:41 PM
To: (me~~~)
(me~~~),
(main office) is in the process of setting up a section of CS 398 for the 8
week session (June 10-August 2). You will want to register for one credit,
as approved by Dr. Donohoe. Please be sure to register by the Monday
deadline to avoid the $50 late fee. If you have any questions, let me know.
(main office小秘)
** Re: register insternship courses
(实习课代课老师)
You replied on 6/6/2013 2:57 AM.
Sent: Wednesday, June 05, 2013 11:26 PM
To:
(me~~~)
Cc:
(main office); (main office小秘)
CS 398 - 01 has been created, and I removed all restrictions for you, so you
should be able to register for it now. If you have trouble, please let me
know.
- (实习课代课老师)
** RE: register insternship courses
(me~~~)
Sent: Thursday, June 06, 2013 2:57 AM
To: (实习课代课老师)
Hi Dr. (实习课代课老师),
I tried to register both 1 or 2 credits, but it does not work through
VandalWeb. Since the intern ends in the end of summer and it supposed to be
3-months (actually 11 weeks), I guess I will need to register for 2 credits
instead. Actually I am not sure about the credits, so please help me figure
out the credits, and help me double check why I am not able to register, and
it still says "Instructor Permission Rqd".
Thanks,
(me~~~)
** RE: register insternship courses
(me~~~)
Sent: Thursday, June 06, 2013 3:33 PM
To:
(main office小秘)
Hi (main office小秘),
I tried a moment ago, and it works great now!
I have registered 2 credits of CS398, and I think it should be able to last
until the end of summer.
Thank you so much for all the help you have done for me. If I need any
further help during summer, I will contact you immediately.
Have a great day!
(me~~~)
d**********o
发帖数: 1321
422
实习的经济帮助
正如上面的offer letter所列出的,暑假期间我总共工作 11 个周,总计收入约$15840
, 但是除去各种税,那个假期,到结尾的时候,我总共到账大概在$10000左右。
而这期间,我注册学校里两个实习学分,$650/credit,因为系里main office说1个学
分只能管8周,我注册了两个学分,为学校贡献了$1300(还多交了几十块其它混杂的手
续费用)的学费。而我自己暑假在加州,从5月18日到加放州,仅只住最普通的房间,整
个假期下来,房租也需要花掉$1500(吃饭暂时就不算进去了)。回到学校,除了$10500
的学费,作为国际学生,我还必须买医疗保险,我是买了外面ISO的,但作为三十多岁
的女性,因为大龄女性潜在的怀孕可能性,我的保险费用也高至$1300。
而我之前工作所有的积攒也仅够到夏天时,买了辆二手车开去加州。所以那年夏天,不
到回学校,第一件事是,先问男闺密借钱交学费,这过去的一年整个处于无收入状态。
那个夏天,当我得到外界的帮助,当我有一点儿小钱的时候,系里设的一个学分管8周
,我实习11周,我就自动注册了两个学分,丝毫不曾为难学校;当我暑假有实习,向朋
友再借点儿钱、能勉强凑合着交够学费的时候,在4月份明知道自己身体有病、却舍不
得花钱作超声波检查的情况下,我没有向系里求助奖学金,连问都没有问,自己乖乖地
将自己暑假所有经济上的缴获上交给了学校,留下自己接下来一年的经济瘫痪~~。
d**********o
发帖数: 1321
423
再说自己的病(1)
上次检查结果说Mild uterine enlargement,参数指标都列在那里了。医生说是mild,
mild本身是怎么个评价法,我也不清楚。我原本就是一个个头不高的亚洲女生,他们美
国的医生说是mild,我就能不去管它吗?原来我病到这个程度也只算mild的啊,那将来
若是已经丧失了生育能力,该叫什么,也叫mild?之前的引子上提到生理周期紊乱,也
记一下过去一年的周期吧。
从去年九月底那次一杯苏打水引发的身体崩溃,接下来一年的生理期时间依次是:9月
底、12月7日(这前两个期间有没有一次,还是中间有排卵期不规则出血,我不记得了)
、2月2日,(3月18有不规则出血) 4月上旬、6月底7月头,这样差不多一年下来会有五
六次周期。再接下来,我就没太再注意,以后应该也不会太去关注了,毕竟,接下来一
年我都没有经济实力、精力去管它,太多地focus在这上面太容易加重自己的心理压力
了。
感觉这最后一年来出血量都比较少,但每个周期的时间反而是给拖得很长。比如第一天
较多,会用掉两三片卫生巾;第二天就奇少,仅只一片也量很少;第三四五六甚至第七
天,就是断断续续、淋淋漓漓地把周期拖得很长、量也不大。就得早些年的时候,同样
是在美国,一般第一天就几滴表示一下来潮的样子,第二三天才会增多用掉七八片,到
第四第五天基本就完事了。
上次超声波检查的结果,我已经贴在上面了。心理上,我不是很相信那次检查结果,或
者更确切地说,我很怀疑我右侧的卵巢是有问题的。右半侧的麻木暂且不说,这一年
12 次我只有约为半数的周期,我怀疑与右侧卵巢是密切相关的。而且自 12 年秋天某
天清晨的发作开始,我所有的痛、生理期的痛、排血块的痛都痛在右侧卵巢部位。若是
子宫的问题,会拉伸到那个部位去吗?综合自己所有的病症感受,我对自己右侧的卵巢
是不大报希望的,就当它已经废掉了吧。检查结果的报告里说,with fluid in the
distal endometrial canal (? recent menses or douching),但3月3日检查后,我
是18号时处于排卵期、开始有不规则出血,真正的生理周期是4月上旬才出现的,所以
那些fluid到底是什么,我也搞不清楚。
d**********o
发帖数: 1321
424
再说自己的病(2)
前面我已经提到排血块,但大多数小伙伴并不知道我说的是什么意思。排血块的具体过
程是这样的:先是右侧靠阑尾的卵巢位置一阵巨痛,五分钟、十分钟、十五分钟?痛的
时间长短不固定(奇怪,为什么从来都是右侧痛,而且是卵巢部位痛?子宫与卵巢的位
置到底有多远?这也是我非常怀疑超声波检查结果的原因!)这个过程是最痛苦难受的
;等血块真正从卵巢上撕裂、剥落下来(从内壁还是外壁我不清楚,多次深切体验过,
但没上网查过这个具体细节),流出排到子宫的过程也还是很不舒服的,但相对说来要
好受了很多。这种时候我往往会本能地想去上厕所,心理上会把它当上大号处理。可上
厕所就一上一个准,只要是处于生理周期后半段,只是伴随着这种巨痛,准能排出三四
个大血块来。等排出这些东西来,一个生理周期最痛的过程才算是终于结束了;偶尔,
第二天还会再痛一阵子,再排出两三个小得多的血块来,但较之周期里的第一次,痛的
程度也会轻很多~~
这个撕裂、剥落的过程如此痛苦,有时候,痛疯了,上完厕所后,穷凶极恶的自己,恨
不得不去冲水,去找根树枝把那血块拨出来看看,看一下它究竟是何方神圣,竟是要把
别人折磨到如此地步?~~ 当然,这事还是太恶心了,只停留在愤愤不平时的思想冲动
阶段。
我就知道自己一定有病,应该不是子宫增生这么简单,可是什么病、病到什么程度,大
概还只能等到以后有更多的检查的时候才能知道,交给时间去处理吧。
今年3月3日那次去看医生,到手的账单我已经花去 $132.08,和YYYYYY imaging
consul $37.54,但超声波检查的账单还没有到手,估算应该会需要自己付$600左右。
d**********o
发帖数: 1321
425
表哥(1)
我很想写出之前右手背上、拇指腹上方一瓣拇指温热的感觉,但时过境迁,那股温热我
再也找不回来,只是那曾经发生出现过的右手背上、拇指腹上方一瓣拇指温热的感觉刻
在了记忆里。
有人说我之前写与舅舅、表哥家的亲情关系时,字字是骨、句句带筋、棉里藏针,可我
也只能说,就如同此时的自己我愿用最真诚的文字记下自己当前的感情状态一样,为不
给自己找麻烦,任何时候我站出来写,写出来的都该是那时候自己的所思所想啊。
我是一个成长在边远小镇的农村女孩,爸爸妈妈教会我的是做人的质朴与善良,但受他
们成长、生存环境的限制,他们并没能教我游刃有余的人际关系处理方式和手段。自己
的成长过程,就是一路磕磕碰碰、摸着石子过河的过程。国内时我学习上一直相对顺遂
,考研,出国,我没有经历过任何送礼环节,我不懂得、不知道该花多少钱为舅舅买多
轻多重的礼物。所以这个被舅舅push、作了人生中第一次这种送礼尝试的过程,以及表
哥家人物在我眼里的出场次序,都会在人的心里留下烙印。别人说,因为懂得,所以慈
悲;我想说的是因为对这家人的不够了解,所以难免心生恐惧,对自己眼下的生活作最
真诚的纪录就是对自己最好的保护了。
后来的自己,对表哥,也有了些许的怀疑。其实这个不可原谅的细节,关注、关心过我
的人,应该也早就知道了。
d**********o
发帖数: 1321
426
表哥(2)
去年春天官司之前,我去找过表哥。在他所在的教学楼楼梯间,我想跟着去上他讲的课
时,他真的是把推倒、掀翻,臀部磕在了楼梯棱上~~!! 摔得很重很重,一时间站不起
来;站起来了,走起路来,巨痛下不知道该如何迈开脚步~~ 后来,几天后回到家后,
第一件事便脱光衣服照镜子,那块地方紫青了一条楼梯棱~~!!
表哥的属相星座上是这么写的:“一般人会说这位肖马者在爱情关系中不会长久,并宣
称双子肖马者需要情感关系的改变以经历其隐约企求的刺激,然而一般人都没有尽力去
发现在这位表面肤浅者的内心其实是在追求某些他所彻头彻尾笃信的理想,他希望人们
能更好些。更具了解力而更加慷慨与仁慈。双子肖马者无法忍受他人的讥消行为。他们
总在寻找某位理想的对象,对方没有过错可述,而也将会为他献出忠诚。”
表哥,真的是在追求他隐约企求的刺激,还是在他精神追求的马拉松上再登高峰,对我
的考验自动实现了精神上的升级?
是的,那个冬天,当我打电话给舅舅,问我与表哥的亲情关系,舅舅把我往火炕里推了
一把;亲人的经历、爸妈晚年真的不再吵架了,让我愿意去相信人性是会转变的,愿意
相信后来的舅舅和表哥是真心为我好的,但当时的节骨眼上,还会觉得,没有真心付出
过,就不会有真心回报;现在,表哥真的真心付出了,真的想把我赶走,我,清楚地知
道那个人是爱自己的,却也真的开始犹豫、想走了
在爸爸出车祸后两三个月的昏迷里,我一一没能回家照顾爸爸;2006年8月8日早上,叔
叔开拖拉机、载着爸妈婶婶把我送到镇上,那一别,竟是我与爸爸和叔叔的永别。我大
概还是原谅不了来自表哥的那一记推吧~~ 那时还看<非诚勿扰>。节目上黄老师尚且劝
说,不要真的打啊~~ 摔倒时,我是胳膊还帮撑了一下,头没出事;如果我再笨一点儿
,如果我摔得不平衡,如果我不小心磕着的是脑袋、不小心摔成了脑振荡,那接下来的
日子又会样?
d**********o
发帖数: 1321
427
表哥(3)
之前提到,我那非常有魄力的大表姐,国内EE大专的她三十多岁来到美国后重新开始,
先回到校园拿一个计算机硕士学位,毕业后赶上经济危机,回加拿大与表姐夫团聚、一
起生活了四五年;07年经济好转后就再次两地分居、一直在加州工作,后来日渐成长为
team里的核心人物,大表姐夫一直在加拿大生活、照看他们家孩子,都上大学了。
大表姐对感情非常珍惜,一个月前,她给我讲她的情感经历时说,大表姐夫对她来说,
这么多年来,他帮她维护着这个家,照顾孩子,两个人都没有情感上的出轨,这是来之
不晚、不可多得的感情,任何时候,她绝不离婚!
我,多么希望能有大表姐这样坚定的信念,像邮局里的大叔启示自己的那样,坚定地等
下去~~ 但随着这一年的筛选、过滤和进化,我还是没有这样的信念,我不知道在自己
身体状况已经不允许自己再等的情况下,我继续等下去,我会等到什么样的命运?生自
己的小孩一直是自己从十二三岁到高三,一直是自己的心头大痪;现在当自己真正有这
样生理上会影响到生育的问题时,我一定会有生育的压力,我不可能无限制地等下去,
我不知道自己接下来的命运会是什么样子的~~
我没有大表姐那样的坚定信念,心里有的却是自己脆弱、弱下的心灵在成长、与人相处
过程中留下的种种阴影。这个春天的时候,还常常被骂,这个人怎么一见到人群,立马
表情严肃变呆,嘴巴也瞬间就变成猪八戒的嘴巴~~ 别人也只是一个小地方长大的人,
别人也有别人成长过程中的阴影,别人为什么要被你们这么多美国学生围观,别人当然
是要板起脸高冷躲开的呀~~ *_^ 不知道这些阴影什么时候才能真正褪去底色。
两年前,当爸爸离去时,我能感受到的启示是,爸爸提醒我,我看不见,太多的事,因
为自己过于年轻,所以看不透彻。为此,一年半前,当自己的第一辆二手车坏掉,我将
车捐给了inheritance for blind,我也希望通过这种方式,有一天,我可以“看见”
爸爸提醒我当初我所看不见的。
正如早在两年前,当自己写自已的传记的时候,不知道将来会发生什么,此时此刻,我
也不知道自己将来会发生什么,所以我愿意以最真实、朴实的笔写下自己当下的心情。
我去查过表哥的星相,记忆里有种说法说,这类人的爱情纠葛在时空里。而我,恐怕没
有足够的时空来与他纠葛;此时,我更愿意去纠葛、探索我自己~~
d**********o
发帖数: 1321
428
写得太痛苦了
这个尾怎么这么难结
求各路神仙指点迷津
希望尽快写完~~ *_^
b*s
发帖数: 82482
429
不着急,慢慢写……

写得太痛苦了
这个尾怎么这么难结
求各路神仙指点迷津
希望尽快写完~~ *_^

【在 d**********o 的大作中提到】
: 写得太痛苦了
: 这个尾怎么这么难结
: 求各路神仙指点迷津
: 希望尽快写完~~ *_^

d**********o
发帖数: 1321
430
你倒是好
有耐性
我快坚持不下去了呀
尽快写完~~!! *_^

【在 b*s 的大作中提到】
: 不着急,慢慢写……
:
: 写得太痛苦了
: 这个尾怎么这么难结
: 求各路神仙指点迷津
: 希望尽快写完~~ *_^

相关主题
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
求助,我该接受这个教学职位吗?It's still hot!
*** 告版友书 + 总动员 *** (转载)老印还挺不好伺候的,不准备打交道了 (转载)
进入WebRadio版参与讨论
a********3
发帖数: 26787
431
额。。。表哥这段没看明白。。。
为啥不可原谅? 为啥要特意查他的星座爱情观? 难道不该查家庭观,亲人观才对吗?
楼主和他有感情纠葛么?

【在 d**********o 的大作中提到】
: 表哥(2)
: 去年春天官司之前,我去找过表哥。在他所在的教学楼楼梯间,我想跟着去上他讲的课
: 时,他真的是把推倒、掀翻,臀部磕在了楼梯棱上~~!! 摔得很重很重,一时间站不起
: 来;站起来了,走起路来,巨痛下不知道该如何迈开脚步~~ 后来,几天后回到家后,
: 第一件事便脱光衣服照镜子,那块地方紫青了一条楼梯棱~~!!
: 表哥的属相星座上是这么写的:“一般人会说这位肖马者在爱情关系中不会长久,并宣
: 称双子肖马者需要情感关系的改变以经历其隐约企求的刺激,然而一般人都没有尽力去
: 发现在这位表面肤浅者的内心其实是在追求某些他所彻头彻尾笃信的理想,他希望人们
: 能更好些。更具了解力而更加慷慨与仁慈。双子肖马者无法忍受他人的讥消行为。他们
: 总在寻找某位理想的对象,对方没有过错可述,而也将会为他献出忠诚。”

w****r
发帖数: 17566
432
嘘--

【在 a********3 的大作中提到】
: 额。。。表哥这段没看明白。。。
: 为啥不可原谅? 为啥要特意查他的星座爱情观? 难道不该查家庭观,亲人观才对吗?
: 楼主和他有感情纠葛么?

a********3
发帖数: 26787
433
哦。。。
咳咳。。。

【在 w****r 的大作中提到】
: 嘘--
c*****d
发帖数: 7143
434
楼主以前在梦版贴过吧?我还安慰过呢。。。

【在 w****r 的大作中提到】
: 嘘--
w****r
发帖数: 17566
435
很久没去梦版晃荡了。她说啥了

【在 c*****d 的大作中提到】
: 楼主以前在梦版贴过吧?我还安慰过呢。。。
c*****d
发帖数: 7143
436
我也是瞎猜的,也许不对,就也是写和舅舅表哥的故事。。。

【在 w****r 的大作中提到】
: 很久没去梦版晃荡了。她说啥了
w****r
发帖数: 17566
437


【在 c*****d 的大作中提到】
: 我也是瞎猜的,也许不对,就也是写和舅舅表哥的故事。。。
d**********o
发帖数: 1321
438
第四学期(1)
期末考试后,因为私人原因,我离开到加州前在学校停留一周。这期间,拿到了自己的
期末成绩,知道自己的EC又拿了B之后,我去找自己的导师,想同他好好谈一下。
面对第一学期同cs210代课老师达成的“君子协议”在这一学期、在自己眼前眼睁睁地
看着它被撕毁、面对自己被这个系压迫了两年的成绩,cs336, cs445老师都给了C,面
对AI、EC自己这么喜欢、老师却使尽办法只给B的成绩,面对这个在这所学校里随时都
可能被改写的命运,我迷惑了:不管我在这里、在这所学校、在美国这片国土上,对自
己的命运作怎样的抗争,似乎,我都永远抗争不过这无边的黑暗,我终将、我注定会被
这片黑暗给吞噬掉?我不服,我要去找自己的导师谈~~
我问导师说,我不明白为什么在自己最喜欢的programming的科目上,我从来也都拿不
到A?导师平静地回答说,他认为,那是因为我是转专业过来的,我本来就没有这个专
业本科的强硬基础~~!! 导师的这句话激起了我本能的愤怒,我告诉导师说,当我33岁
决定留下来的时候,我希望为自已的生活make a change; 我不是为在这里多拿这一个
学位,我是为能在这里一一美国这个国度、这片国土里,拿下这个专业的学位只是前提
,我是想找到工作、找到一片用武之地、在这个国度生存下来的呀~~!
与导师谈话愤怒之余,我感觉自己在自己导师这样假定的前提下,我变得已然无语了,
我这三年的命运为何要被如此设定?
d**********o
发帖数: 1321
439
第四学期(2)
既然导师、系里的老师已然早早地将自己的命运如此设定,那么,好吧,小伙伴们一起
来细数一下,2012年我回到学校想拿计算机硕士学位后,我可能会有的几种死法吧:
转专业的第一个学期,如果我听导师的话当初跳过CS121、没修C++课,那后来的编译课
、EC课,我必定会跟不上课,保不准这些们课上轻易挂掉、过劳死;即使我选了cs121
课,那学期,我的代课老师也是系里最为宽松的代课老师,而不严厉、不严格的c++教
育、迎接我的终将是预计的第二年编译课、EC课的鞭策与炙烤! 我也还可能在CS121学
期末,老师给成绩时不反抗,直接得C死也会成为一种死法。
我也还可能在第一学期,听前导师的话,选了前导师的CS270 system software课,第
一学期直接被这个近乎变态老头直接整死;还有可能,在C++跳过、编程不够过硬的情
况下,我的CS445编译课,直接得D死。
而且,现在的自己正在经历着最后一种死法:雪藏、得BBBBBBB。。。,毕业了直接滚
回国,永无翻身之日被气得活活敝死!
而不管有多少种可能的死法,似乎,眼前,自己正在经历着的死法都是最为严厉、逃脱
不了、惨不忍睹的~~
再回头看看那些我选过的课,我并没有想在操作系统的课上得A,没想在 RTOS 代课老
师不能从代码上帮我的情况下得A,我只是想在自己比较喜欢的programming的课上得A
而已~~!!
d**********o
发帖数: 1321
440
第四学期(3)
回头再来看EC课最后一个半月的针锋相对。从我那次用余某的马甲发出求救后,小伙伴
们都知道我醉翁之意不在酒,代课老师就真的不知道吗?这个进化算法课,老师把最后
的1/3学期的课程讲成了乱七八糟;整个EC课,他讲 no free lunch Theorem, 他讲
Competitive co-evolution, 既然要公平竞争、竞争进化,这个学校、这个系的代课老
师却不给自己公平况争的机会;他讲cooperative co evolution,却自始自终,自已的
命运在这个系里都是被改写,所有的错都错在这个系、这个系里的代课老师身上,而所
有错误的结果,却都只能由我自己来承担?
这们EC课,老师若是心里没鬼,他为何不讲同样重要的self-adaption,不去讲
survivor selection?EC代课老师是为谁服务的、在维持观点?还用说么,还用问么?
EC代课老师当初是谁给拍板进这个学校的?当然,我必须肯定,因为直觉的分析能力,
EC老师的课成为系里最受欢迎的课之一;因为对科研的执着精神,是系里拿了tenure后
少有的、还有那么点儿研究兴趣的老师。
早在EC最后一个项目之前,早在大A在系里签辩前的某个中午,我就在CSAC同大A谈过。
大A是EC代课老师的硕士研究生,今年春季找到工作后毕业的。我问过大A他,他的硕士
论文发文章情况和EC代课老师的发文章情况。大A说,他们大概有两篇文章在路上,可
能迟早会发表,一部分工作是EC代课老师的ph.d学生做的。呵呵,代课老师的网站上六
七年没有曾发表文章的更新,这个小学校的代课中年老师们,哪个不是在拿到tenure后
就再也不曾发表一篇文章,EC代课老师,连他的硕士研究生、博士研究生都未必能真正
发表文章,EC课的最后一个项目,代课老师居然是狠打舆论、鼓励学生去发表文章来装
点门面,这个小学校居然也是要留我这样没有青春年华、身体严重带病的人在这里为他
们的科研贡献力量,想起来也还真是讽刺搞笑~~!!
相关主题
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
老印还挺不好伺候的,不准备打交道了 (转载)急问一个b超的问题,希望得到贵版版友的帮助
老印还挺不好伺候的,不准备打交道了 (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
进入WebRadio版参与讨论
d**********o
发帖数: 1321
441
第四学期(4)
那再回来看回来读书这个决定。我的前室友尚且说这个学校的本科学生,有很多学生完
全没有资格来这个学校读书,他们的“高考”成绩很多都很差的。而我当时,也只有这
个学校cs120 4个学分得B的成绩。若说是这个成绩对他们来说真是一个concern,那他
们完全可以拒绝我入学,我也没什么好多想的,就直接回国,也不失为一条很好的出路
。那这个学校、这个系的commitee当初既把我留了下来让我读硕士、可成绩上又如此压
迫别人,让别人没有资格在industry生存,我也只是一个小人物,为什么我这两年、三
年的命运要遭如此劫难?科班出生、年轻有为的板砖同学29个月OPT都不用,就直接在
这个学校读博了,难道他们还想逼出来一个高龄单身女博士不成?2012年,站在人生的
十字路口,接下来的这两三年,是谁在摧残我的命运?
这个学校,早在2010年的时候,我还为当时自己所在的统计系捐出过$1000,他们何至
于待自己如此?
如果我将来能够顺利地生下自己的小孩还好,若我真的因为再一年的拖延和耽误,病情
真的加重到丧失了生育的能力,我想我一定没办法不去恨,恨这个当初没有人文怀、把
我生生阻隔、耽搁在这里的学校,恨这个十八岁时舅舅介绍带入我的世界的、这个见死
不救的发达国度的社会制度,恨这个发达国家的文明、文化也不过如此,枉费我耗尽八
年努力、万里走一回,还把接下来八年青春时光浪费在这里!
去年秋天,系里想方设法不允许我选统计相关课。为什么他们不允许我去选统计相关的
课,系里这么做的目的不正是要阻止我成功吗?为什么平生唯一一次我的导师会写出那
般严厉的邮件?那么,对这个学校来说,教育的意义难道是教愚么,难道就是要从工作
过的、或是国内有钱的中国学生那里收取学费吗?
d**********o
发帖数: 1321
442
第四学期(5)
五月份之后,EC代课老师开始讲developmental system。是啊,正如这次八月份我来所
看见的,满镇到处的坑坑洼洼,到处都在修建;正如这个学校想要说的,正如这个小镇
本身也正在建设,这也还只是一个发达国家中的一个发展中学校,它的不完美也是它迈
向完美的必经之路。只是不知道碾压在这条建设道路上的冤魂如我,家财散尽(累计超
过$33000的学费)、耗尽年华(两年硕士变成三年)、牺牲健康,这个学校接下来又将会
如何对待我?是一如这个学校一早为自己设定的命运,是三下五除二地打发掉我完事,
一毕业就让滚回国?还是,我还能沉冤昭雪、还能获得公平竟争的机会?若是,我又该
要等到何时?
话说到头来,这个学校再不好,它还是属于自己的学校,它还是2006年那个带给自己希
冀、愿望的学校。也是这次整理邮件,我才发现,原来编译课,我也给代课老师写过那
么多封寻求帮助的邮件呀~~ 这些教我课的代课老师,他们没有功劳,也有苦劳啊。即
使他们教课的效果可能未必真的足够好,但他们愿意真诚地教我们,尽着他们的最大努
力,也是应该值得感激的。我愿用再接下来一年的时间,来与这个学校同呼吸、共同成
长。只是,我也真心期待,属于自己的公平竞争的机会会早日到来。
顺便,也交待一下春天那个车坏掉后的结果吧。
后来,等到五月份,我还是打算去加州,而我需要车。临时情况下,当我等到四月份的
退税,还了闺密$1000之后,我还是打算把这破车再修一下。经历了四五月份舆论的发
酵,他们也不好意思再对我过分。我的车已经在别人家门口停了几个月,修车当然还是
在他们家修。后来是里面一个师傅告诉我到 autozone 店去买零件,这样原本要$833.
24的维修费用就变了 $267.11 的零件费用和 $178.48 的劳工费。在我们这里寒冷的冬
天,原本一二月份电池就不太好,几个月不开电池老化后,换了电池花了 $105.88, 再
买上最便宜的保险 $170.90 for 6 months,我就开车去加州了。
d**********o
发帖数: 1321
443
写给实习老板的感谢信
** from: (me~~) <(me~~)@gmail.com>
to: C@(实习公司)
date: Mon, Jun 3, 2013 at 5:51 PM
subject: Thank you so much!
mailed-by: gmail.com
Dear C,
This is the most cherished opportunity ever during my life, and I have
dreamed to be able to work here so long. Thank you so much for offering me
this opportunity to work for you! I will spend all my available and
potential time, energy for you, for this position, together with Sherry's
help.
Again, thank you so much for the help down from my heart!
Sincerely,
(me~~)
** from: C
to: (me~~) <(me~~)@gmail.com>
date: Tue, Jun 4, 2013 at 11:50 AM
subject: RE: Thank you so much!
mailed-by: (实习公司)
: Important mainly because of the people in the conversation.
Hi (me~~),
You are welcomed. We will make every effort to make it an interesting and
great learning experience.
Looking forward to having you joining the team.
C
** from: (me~~) <(me~~)@gmail.com>
to: C
date: Tue, Jun 4, 2013 at 12:14 PM
subject: RE: Thank you so much!
mailed-by: gmail.com
: Important mainly because you often read messages with this label.
Hi C,
Thanks! I look forward to joining the team, working for you and enjoying the
great fun learning and working as the intern!
I will see you soon!
Sincerely,
(me~~)
d**********o
发帖数: 1321
444
再说实习公司
亲爱的小伙伴们,一年前从加州回学校路上的大哭,所有的细节都是真实的,所有的涉
及到的technical也是真实的,大概我这个人还是比较能够透过现象看本质的吧。
那年暑假的实习是实习公司在帮我,他们耗费了大量的人力、物力去年四月组建一个
team,一年后这个team解散。虽然我是被大表姐refer到这个组去实习,但就像我对C邮
件里说"A friend in need is a friend indeed.",表面上是C和大表姐帮了自己,实
刚背后是这个公司是帮助自己。这个实习,的确从经济上帮到自己不少。
身处实习期间的自己,认识不到这个实习、来自于 A 的各种启蒙启迪、对自己专业的
巨大帮助,外加这一年来各门课的B,和与 cs210 代课老师的“君子协议”,使得我全
然忘记了,实习的机会是别人公司给的,我还在那里试图为自己争取一点儿我从学校拿
不到的credit。这个争credit的过程争得多不应该! 后来到编译课的期末考试,当我考
试考到脑袋滋滋响的时候,我终于能够看见,专业上自己的巨大进步,从内心里感激 A
、感激公司曾经提供给自已的学习机会。实习期间,同C一直以来的沉默相比,我争
credit争得太不应该了。
自已接下来一年的生活应该是这样子的:我的硕士学位的OPT早在自己拿到统计学位的
时候就用完了,所以这个计算机学位完成时,我不会再有实习的机会。我愿用最辛勤的
努力,来争取明年四月前拿到H1B工作签证的申请,这样自己才能真正最终在这个国度
生存下来。
每个人的道德水准不一、定力不同。当个人的成长史塑造了今天自己复杂的性格,当拿
到检查结果确认的病情成为了压倒自己爱情的最后一根稻草,也请给这样一个苦难的历
程一份在这个国度生存的权利与机会。
这是一个曾经叛逆的精灵,这也是一个觉醒的灵魂。这个灵魂承载了个人成长史上太多
生活的苦难,这个灵魂也探索、发崛了爱情人生的真谛,为人类文明贡献出了、贡献出
着自己的物质和精神力量。这同样也是一个值得得到别人帮助的灵魂。
不管实习期间,自己弯弯拐拐的肠子当时有多少想不通、想不明白,有多少自己认为的
委屈,今年春天,当自己的求救信发出去,在舆论间引起反响的时候,自己曾经实习过
的公司还是那个愿意伸出援助之手、站出来帮助自己的人。为此,我深怀感激、非常感
激这个公司的企业文化,愿意去帮助如我般真正有需要、值得帮助的人。一个国家因为
有这种公司的存在,而推动加速了人类文明的前进步伐。一个公司,也必将因着这种优
秀的企业文化赢得人心,拥有更大的市场、更好的发展前景。
d**********o
发帖数: 1321
445
QQ群
呵呵,来到这个QQ群,就不得不再叹一下了。这是一个QQ群,也是一个小社会,有上千
人寄居在这里。
在这样一个QQ群,对于来自任何一个人举手之劳的帮助,为什么这个小人都会发出由衷
的感激,会去想想、探问一下这些名字的背后,有着怎样的故事?这样一个小人在这上
千人的QQ群里,也只呆了两三个月的时间,即使后来从这个群离开了一阵子,依然对这
个QQ群、这个群的群主心存感激,对mitbbs上版上别人一个问候关心心存感激,可为什
么,这个小人呆在这样一个因着一辆自行车、有着人文关怀的学校里,就从来感觉不到
温暖?
真要来写这个群,我就要真实地写生活中活生生存在的人物了。大学时候听一位女作家
的报告,隐约记得她说过,以真实人物为原型写小说的时候,不管写的是真实人物好的
还是不好的方面,都会对真实人物造成伤害,所以,尽管这部传记性质的故事99%都来
源于真实生活,真实生活中的人已经被我写进去太多了,此时,一定要真来写这个群,
为减小对当事人的伤害,我还是只能少写为妙。
前面的<冒牌医生与假想病人>,是我自认为所有自己写出来最好的短篇了,早年写自己
亲舅舅家表哥的人生可能也还勉强算是比较不错的一篇。借助这个最好的短篇,我应该
也算是写出了自己对这个QQ群群主的各种作法理解与感激。正是这位心地善良、心怀天
下苍生的年轻人,十多年来,借助这个QQ群,帮助无数人加速了专业上自我提升这一步
骤。也因为自己在这个QQ群感受过的温暖与感动,我想我会永远感激这位群主、感恩来
到这个QQ群的。
呵呵,最好玩儿的,是四月底我在这个QQ群遇见一位大神。这位大神不是之前我刷题时
帮助过我的人,却是我到群一个月之后,通过旁听一场mock interview,让我瞬间明白
之前29个月OPT实习期间,自己面试失败无数的phone interview究竟失败在了什么地方
。那种奇幻的感觉,仿佛这个人瞬间将我自己聋着的耳朵叫醒,瞎着的眼睛睁开~~!!
不知道这一点儿的人以为,我欣赏这位大神只是因为他英语好;而我这里,也还因为那
骨骨节节的存在、面试官与面试者进退之间脉络分明,这是之前29个月里我面试时从来
没能今天这般警醒、当时意识不到的。他还听得懂我的儿童语言,能揣摩出别人心里是
怎么想的、想说的是什么话。当然,所谓一见钟情,也得是最终终成眷属才叫一见钟情
吧。那若修不成正果呢?显然就不是了啊~~ 所以,在我这样三十多岁的年龄,有了前
面遇见表哥时打下的坚实基础与提升,了解、试探和考验都还在继续,默默撤退也不是
没有可能,就祝自己好运吧~~ *_^ 当然,不管将来发生什么,我想我都应该感激这位
大神,是他那种魔幻般的存在,帮我加速了与表哥之间那血肉模糊的撕裂过程。不管最
终的结果会怎样,我都会感激这个人。
那是一位大神,那么追随大神的人就海了去了。大神又岂有可能只属于我?!! *_^ 这
也是一位三十多岁的姐姐,有了姐姐这样的行为,就难免有或真爱或缺点儿主见的mm们
跟风追随,追随的是大神、还是跟风着我,我就搞不清楚了(所以偶尔,我也需要稍微
帮纠正一下由自己造成的不良风气啊,因为之前我参与有份,罪恶在前,罪过罪过)~~
。对于与我有缘份的mm,我也会像当年的情敌push我一样,希望能在友情的道路上,陪
她走一程。而同时,我也是一根地地道道的草根平民;对于QQ群白富美的出现与存在,
就如同这样一位mm对之前关系稍好一点儿的大神与我心怀好奇一样,作为草根平民,我
也很想窥探一下白富美的日子、生活、思想是什么样的呀! 这大概就是QQ群里这么多的
不相关者热衷于支持白富美的原因吧~~ 若我们看不到白富美与偶滴大神在一起,大概
也一定很希望亲眼目睹白富美的mm花落谁家吧(虽然我心里无数次地默念了无数次另一
位大神的名字)~~ 不要问我结果,我也不知道结果是什么样的,这也是QQ群的一个by-
product魅力所在啊~~!!
嘿嘿,有我们这样略为扰乱风气者,也就有科学怪叔叔们,就怎么也看不顺眼这一切呀
。于是也就不难理解,这样上千人的QQ群,每当午夜降临的时候,就看见偶尔有些人会
站出来黑别人,看着一个又一个的人来黑,看着一个又一个的人被黑,仅只看着,也是
一件很搞笑、很惬意的事啊,成为QQ群午夜场一道独特的风景线。当然,某天,如果有
人看你不顺眼,轮着你自己被黑,就也得有强大的神经视而不见、一笑而过了~~
d**********o
发帖数: 1321
446
~~全文完~~
d**********o
发帖数: 1321
447
嘿嘿,给你打分成功~~
让它过去吧
都要过去了
*_^

【在 a********3 的大作中提到】
: 额。。。表哥这段没看明白。。。
: 为啥不可原谅? 为啥要特意查他的星座爱情观? 难道不该查家庭观,亲人观才对吗?
: 楼主和他有感情纠葛么?

d**********o
发帖数: 1321
448
嘿嘿 ;)

【在 w****r 的大作中提到】
: 嘘--
d**********o
发帖数: 1321
449
这身衣服也很漂亮
多谢mm~~~

【在 c*****d 的大作中提到】
: 楼主以前在梦版贴过吧?我还安慰过呢。。。
b*s
发帖数: 82482
450
kudos……

~~全文完~~

【在 d**********o 的大作中提到】
: ~~全文完~~
相关主题
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
将军们没发现国内体制内涨了不少工资么请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了
博士还有两年毕业,今年要孩子还是明年要孩子请教一下各位教授
进入WebRadio版参与讨论
d**********o
发帖数: 1321
451
一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。
多年来我一直跟随你们这帮我从不曾露面的朋友,笑看大家嘻笑耍骂,默默修行,也很
感谢你们大家带给我的快乐。选择来贵版续写这个故事,是因为这里有铅笔头老师,狐
帅,瓜老板,可爱的小碧妹妹等等等等, 窃以为,贵版是mitbbs的一汪清泉,一缕清
风, 这里有着诸多各种样的原创和自由自在的灵魂,贵版版友的灌水风格,相互间的
包容,和自己的曾经写故事的痛苦经历都让偶觉得, 能在贵版续写,自己作为写作者
的情绪能够较好地不受外界环境影响, 却也能受各位老师启迪精进。加上版上诸多老
师朋友都有自己的连载故事,我也很真诚地希望能够向版上的各位大牛学习写作,希望
能把自己的故事写得更精彩。但作为潜水员的我也弱有担心,不速之客的到来会否打扰
大家的清幽闲适,会否给贵版带来不便,贵版的版友们会否介意?所以特来先行报到~~
(现在还不会,计划在一两个月后等眼下的生活安定时来继写)。如若这里的版友们并不
支持,我应该会选择滚回自己的dreamer老家,在哪里孤独地继续?
l*****o
发帖数: 19653
452
请继续。。。


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

h*****i
发帖数: 9112
453
这么客气,我都脸红了


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

l*******Q
发帖数: 1995
454
正能量的东西当然好啊。。为啥说的那么惨兮兮的样子呢,为啥总说最后一次呢,点解


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

L**********s
发帖数: 12988
455
一縷清风
l*****o
发帖数: 19653
456
说你了吗?

【在 h*****i 的大作中提到】
: 这么客气,我都脸红了
:
: ,
: 乐。

L**********s
发帖数: 12988
457
自动对号入座?

【在 l*****o 的大作中提到】
: 说你了吗?
h*****i
发帖数: 9112
458
君子要时时自省
你脸红了吗?

【在 l*****o 的大作中提到】
: 说你了吗?
l*****o
发帖数: 19653
459
也许红了,也许没有,即便红了,也得晚上才知道。。。

【在 h*****i 的大作中提到】
: 君子要时时自省
: 你脸红了吗?

L**********s
发帖数: 12988
460
自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?

【在 h*****i 的大作中提到】
: 君子要时时自省
: 你脸红了吗?

相关主题
offer选择,请支招求助,我该接受这个教学职位吗?
Assistant Prof.工作两年想换学校。请教!*** 告版友书 + 总动员 *** (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙Hey there Delilah - 一首两年前的新歌 (转载)
进入WebRadio版参与讨论
h*****i
发帖数: 9112
461
不脸红的自省不是真自省

【在 L**********s 的大作中提到】
: 自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?
l*******Q
发帖数: 1995
462
鉴定,此楼已歪成美容楼
h*****i
发帖数: 9112
463
有个神器叫做镜子,推荐使用

【在 l*****o 的大作中提到】
: 也许红了,也许没有,即便红了,也得晚上才知道。。。
l*****o
发帖数: 19653
464
因为火柴自省的方式就是擦火柴皮。。。

【在 L**********s 的大作中提到】
: 自省为啥就会脸红?是bso自己皮肤细嫩,白里透红么?
h*****i
发帖数: 9112
465
火柴火焰的光是泛黄的,侬该检查视觉了

【在 l*****o 的大作中提到】
: 因为火柴自省的方式就是擦火柴皮。。。
l*****o
发帖数: 19653
466
取决于温度和燃烧成分。。。

【在 h*****i 的大作中提到】
: 火柴火焰的光是泛黄的,侬该检查视觉了
l*****o
发帖数: 19653
467
现在不都用手机当镜子吗?你懂得,美人相机那种效果。。。

【在 h*****i 的大作中提到】
: 有个神器叫做镜子,推荐使用
L**********s
发帖数: 12988
468
不用那么麻烦,请参照古已有之的法子。。。

【在 h*****i 的大作中提到】
: 有个神器叫做镜子,推荐使用
l*****o
发帖数: 19653
469
我觉得古法不可取,要先找个平整的地方,还不能漏水,还要有点凹度,还要采光好。
。。

【在 L**********s 的大作中提到】
: 不用那么麻烦,请参照古已有之的法子。。。
h*****i
发帖数: 9112
470
出门挖坑即可

【在 l*****o 的大作中提到】
: 我觉得古法不可取,要先找个平整的地方,还不能漏水,还要有点凹度,还要采光好。
: 。。

相关主题
Hey there Delilah - 一首两年前的新歌 (转载)老印还挺不好伺候的,不准备打交道了 (转载)
It's still hot!老印还挺不好伺候的,不准备打交道了 (转载)
老印还挺不好伺候的,不准备打交道了 (转载)老印还挺不好伺候的,不准备打交道了
进入WebRadio版参与讨论
l*****o
发帖数: 19653
471
结论:自省需挖坑。。。

【在 h*****i 的大作中提到】
: 出门挖坑即可
l*****k
发帖数: 5933
472
"我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
赞!~
艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
幸。
楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金
牛女们对我长期的一如既往的人参公鸡我也不能取得如此辉煌的成就~~~
再次感谢我LP~~~
我真得做菜去了哈~~~
侬就写吧,我看侬这么曲折的经历,可以写一部平凡的世界也说不定哦~~~
就是得注意身体~~~,平时多吃瓜果类食品~~


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

b*s
发帖数: 82482
473
在线等……


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

K**3
发帖数: 74
474
赞1


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

a********3
发帖数: 26787
475
欢迎新妹纸~
瓜老板不要吓新妹纸~!要注意你作为偶像滴形象啦~



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

h*****i
发帖数: 9112
476
侬这个排名很讲究啊,哈哈



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

l********1
发帖数: 5909
477
求解?何以晚上才知道?

【在 l*****o 的大作中提到】
: 也许红了,也许没有,即便红了,也得晚上才知道。。。
b*s
发帖数: 82482
478
毛……

求解?何以晚上才知道?

【在 l********1 的大作中提到】
: 求解?何以晚上才知道?
l******k
发帖数: 27533
479
哈哈,什么时候对你人生攻击啦
原来侬有颗玻璃心呀
还“们”呢,除了我还有谁?



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

l******k
发帖数: 27533
480
你看出了什么名堂?

【在 h*****i 的大作中提到】
: 侬这个排名很讲究啊,哈哈
:
: ,

相关主题
急问一个b超的问题,希望得到贵版版友的帮助将军们没发现国内体制内涨了不少工资么
为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤博士还有两年毕业,今年要孩子还是明年要孩子
有患巧克力囊肿后成功怀孕的版友吗?求助,这段感情该不该继续?现在眼睛肿的跟金鱼眼似的,他却睡得香
进入WebRadio版参与讨论
j*****x
发帖数: 18139
481
矮油,
惭愧地匍匐在地以突破人体极限的姿势高举一牌,
上书两个大字
“欢迎欢迎热烈欢迎,期待期待非常期待”


乐。

【在 d**********o 的大作中提到】
: 一如大家可以搜到,我是那个过去写过 <成长的故事> 的书写者。
: 我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。
: 我想我还需要再最后一次地记录自己的生活,这两年的精修我的生活已然发生了本质生
: 猛的变化,个中艰辛一言难尽。作为曾经的依赖者寄生虫,作为过去两年生活被关注过
: 的小人物,也希望能够最后一次用自己的生活经历探讨、谱写普世价值, 尽自己的最
: 大努力最后一次发挥正能量(偶确信小苗苗默默地从小长大长到今天,已然完成了人生
: 一半的修行),我希望分享自己的经历,为海外留学生的生活作下自己的记录和借鉴。

d**********o
发帖数: 1321
482
没想到瓜老板这么热心
一句小小的关心 偶竟然觉得很温暖
改天偶帮瓜老板卖西瓜去~~ 呵呵



【在 l*****k 的大作中提到】
: "我小时候爸爸作过木匠、砌匠,那时我一个小丫头片子帮爸爸弹墨线盒, 搬半砖头,
: 在这样的环境下耳濡目染, 我从小偏爱数学。虽然从小到大我所受到的都是理工科教
: 育,但我却有一颗崇尚文艺的心。我出生在一个普通的农民家庭,小时候唯一的课外读
: 物就是自己和姐姐们的 <语文> 课本。高中的时候渐或明白一些诗词。"
: 赞!~
: 艾玛,亦不留神成大师了~~~能和倩碧,狐狸,小碧三位老师并驾齐驱,真是三生有
: 幸。
: 楼主你只要好意思贴,我就好意思指点,我就有这么个好意思为人师的优点~~~~
: 咳咳,能有今天这样的成就和地位,跟各位老总,包,皮,牛,茶,狐,娜,果,味,
: 湖,柴,狮,省略号等等等等的关怀和指导是分不开的。当然,没有苏肘子粉丝团和金

d**********o
发帖数: 1321
483
狐帅这样偶很害怕~~
狐大仙可是偶景仰的大神, 怎可以这样~~ 谢啦

【在 j*****x 的大作中提到】
: 矮油,
: 惭愧地匍匐在地以突破人体极限的姿势高举一牌,
: 上书两个大字
: “欢迎欢迎热烈欢迎,期待期待非常期待”
:
: ,
: 乐。

d**********o
发帖数: 1321
484
轻量版剧透
2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
日毕业;第一学期同 的老师达成不成文默契:系里允许我两
年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
,沉默,上课不回答问题,默默地自己学习。甚至老师一再给B,都没计较,毕竟学校允
许我两年毕业。
2013年四月之后,导师问我找工作怎么样,我告诉他系里大牛说我学得好学得快的话当
年12月就可以毕业。我喜欢现在这个专业,所以想要拿到自己的硕士学位再走。导师说
即便现在,我还可以找学校等地方所非工业界H1B离开这里,但我想着自己近在咫尺的
学位,坚绝没找,想要拿到自己的学位。
春天的学期里我很为自己秋天的学费操心,没有经济来源。我旁听算法的导师课堂上他
暗示若能作两年研究,他或系里可能能有有限的经费可以帮助我。但考虑到还有暑假,
我可以找实习,既然自己实在没有攻克三年的耐力,依靠自己去找经济来源会更好些,
至少需要自己先偿试一下,便示弱装笨默拒了别人的好意。
2013年秋天,我暑假挣到钱便都交了秋天的学费(到这时累计三学期我已然交了多过$
33000的学费交尽了自己挣的每一滴血汗,毕业在望)。因为没有春天的学费,我找系里的
大牛求情,想要毕业,他允许我春天part-time注册两个research学分到八月毕业,并
建议我换了导师。我感激老师能为学生辛辛苦苦两年的人力物力时间投资的生路考虑,
毕竟每个选择留下来的人心里都有着希望。并承诺大牛,若能在这个国度生存下来,必
将为学校donate些钱好让系里老师们多点儿科研经费。
2013年秋天那时选编译课,课堂上若有感觉代课老师想要黑我,课堂气氛显得诡异,便
不再沉默,整个学期正当防卫性回答问题四次,但最终还是没能逃脱得C的命运。
面对这个C的结果,因为之前的课程老师全给B, GPA 3.0以下,老师稍微一个不小心或
是小动作,小兵都将死于无形,小兵便开始了刀锋上讨生活的殊死挣扎,像刺猥一样竖
起全身的寒毛,破斧沉舟,殊死防卫!
秋天里后来系里小秘说有一个老师愿意支助我春天给我奖学金。因为转专业毕竟我只学
了不到两年,多学一些课程还是有帮助的。加上自己始终有回报学校的心, 我便坦然
接受了。拿系里的奖学金,便理所当然地选导师给推荐的课,导师让选什么就选什么,
我只需要1个Directed Study学分导师希望我选2个省得他麻烦,小兵便听了导师的。我
问过系里的小秘是哪位老师帮忙支助了我,但小秘不愿意,没有告诉我是谁。系里别的
同学tutor十小时改一门作业十小时,他们安排小兵tutor十五小时,改作业五小时,小
兵也默默承受,没有任何抱怨。
可春天里,一如去年秋天,系里舆论上仍不但施加压力希望我能拖一年,可姐老了,拖
不起啊。包括最近EC的代课老师说“No Free Lunch Theory”。小兵怕代课老师不知道
,便去他办公室找他告诉他说了先前我同大牛承诺过的话, 因为小兵并不愿意从来没
有想要白白点用系里的资源, 一如第一学期同代课老师达成的默契。
同系里的这一切都说得这么清楚了,可舆论上系里释放出的信号似乎还是不放人。小兵
实在不知道该怎么办了,不知该如何破现在的状况。
而这么多年来,小兵的身体状况日益恶化。2001年7月29日小兵在武汉市第一外科医院
作了阑尾炎切除手术。因为那次发病当时正处生理期间,医院非常正规地作了B超检查
,发现右侧卵巢囊肿,便在作手术时特请妇科医生在场,一并作了右侧巧克力卵巢囊肿
穿刺手术。手术后伤口感染,到十一期间伤口彻底长好。来美国后2009年春夏最先感觉
身体不适。但因还不严重加上经济原因,便一直拖着。2010到2012年8月OPT期间因为自
己身体还过得去,这期间从来不曾买医疗保险便也一直没看医生。这次回学校读书,身
体的不适一次次侵袭,看过几次小病,而这期间小兵也真正意识到作为女性她的生理周
期已经紊乱很长一段时间了,而且生理期痛日益严重。小兵严重怀疑其右侧囊肿发作。
虽然一拖再拖,可读了再多书如果健康都不能保证,活这一辈子又是为什么,虽然一直
交学费房租,向朋友已然借了不少钱,但想到自己的身体状况,还是最终觉得健康更重
要,借债也得看病!今年三月在病痛的折磨下最终鼓足勇气去看了医生,作了
ultrasound 检查,检查结果子宫增生(参数是4.3 X 5.1 X 10.1cm)。小兵因为这两
年在系里小镇上受到了孤立心理上略为扭曲,对医生超声波检查的结果也稍有怀疑,因
为很多病征都与至少右侧卵巢囊肿相符(极小可能性手术伤口感染造成右侧脏器粘连),
但在作ultrasound 检查时即使小兵当时就说了右侧更严重,希望检查员检查右边,但
检查员的超声波探头依然始终只放在左边。多年来(至少从2009年开始)小兵右半侧生殖
器官麻木,现又确诊子宫增生,外加怀疑右侧囊肿严重加重(至少同2001年完全没感觉
比较起来非常严重了)严重的话变可能会需要切除, 小兵为自己的身体状况极为担心。
这个13岁遭遇性侵,接下来五六年生活在梦魇里,一直担心自己将来不能生小孩,甚至
间接导致高考失败的小兵,在短暂地遗忘这件事几年后,近年来却又再次成为心头大患
。后来诊断增生后看的妇科医生认为不容易确诊是什么原因导致的,只有三种选择的药
物止痛让小兵对这边的医疗略显绝望。八年来小兵不曾回家,期间爸爸车祸离世,妈妈
劳累成疾,病倒并被诊患脑动脉瘤却并未作肿瘤手术。小兵希望能尽早毕业,拥有一份
工作,尽早回国看妈妈,也对自己的身体作彻底的检查。小兵希望并呼吁社会舆论监督
和帮助,希望能尽早参加工作,尽最大可能保存将来作母亲的权利,希望还能够拥有一
个健全、完整的人生。
小兵1979年润6月22日出生,阳历8月14日,狮子座,AB血型,今年35岁。热爱工作,是
个工作狂。小兵希望能有一个工作岗位能让自己尽早治病,根除心头大患。而小兵也愿
意在工作上发挥自己旁若无人,挑战极限的个性,愿意前往接受任何有挑战的工作(只
要有相对不错的mentor或manager指导),加班加点在所不辞获得工作上的满足感,也
以这种方式回报公司。小兵从来也不是贪心的人,在国内献过三次血共计600 CC,在美
国为现在的学校donate过$1000, 并将自己的第一辆旧车在无意修理时捐献给了社会慈
善机构。小兵愿意接受社会舆论的监督,将来回报学校和社会,作一个对社会有贡献的
人。也很希望知道现在的困境缰局能有什么好破法。
Q****n
发帖数: 1351
485
向小兵致敬

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再给B,都没计较,毕竟学校允

l*****k
发帖数: 5933
486
我靠~~~~
J都是发生在了一个人身上的事情???
这是真人真事还是侬臆想杜撰的?

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再给B,都没计较,毕竟学校允

Q****n
发帖数: 1351
487
这对瓜老板的用生命点评有影响吗?

【在 l*****k 的大作中提到】
: 我靠~~~~
: J都是发生在了一个人身上的事情???
: 这是真人真事还是侬臆想杜撰的?

Q****n
发帖数: 1351
488
我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
物。。。

【在 l*****k 的大作中提到】
: 我靠~~~~
: J都是发生在了一个人身上的事情???
: 这是真人真事还是侬臆想杜撰的?

l******k
发帖数: 27533
489
哪三种药物止痛呀?
有效的话一个就够了
not always the more the better呀

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再给B,都没计较,毕竟学校允

l*****k
发帖数: 5933
490

有点SHOCK
一时全无头绪

我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
物。。。

【在 Q****n 的大作中提到】
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

相关主题
请版友帮忙查一下VIN:KMHCG45C91U181477。 小弟来美国两年了Assistant Prof.工作两年想换学校。请教!
请教一下各位教授郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙
offer选择,请支招求助,我该接受这个教学职位吗?
进入WebRadio版参与讨论
l*******Q
发帖数: 1995
491
我选择不发言

【在 l*****k 的大作中提到】
: 擦
: 有点SHOCK
: 一时全无头绪
:
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

i*****a
发帖数: 7272
492
看着不像小说。没有比身体更重要的了,别的先放一边。这个世界会无缘无故帮人的也
许不多但无缘无故害人的更少。身体好了,精神面貌会更好,做事情就会顺手一些,一
步一步脚踏实地,会走出困境的。
美国对学生的保险和医疗都会有些照顾,搞清楚这些门道,尽早康复。

【在 Q****n 的大作中提到】
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

G*******h
发帖数: 1391
493
坐等有头绪的瓜老板专评

【在 l*****k 的大作中提到】
: 擦
: 有点SHOCK
: 一时全无头绪
:
: 我脚着是自传体故事,因为故事显然木有展开,面比较窄,除了主角,缺乏其它个性人
: 物。。。

L**********s
发帖数: 12988
494
妹纸,先治病要紧,其他都是浮云。也别想太多,很多病都是心理问题造成的。

【在 d**********o 的大作中提到】
: 轻量版剧透
: 2012年夏天,在OPT到期后,被以前上学的小学校录取。邮件往来里导师只允许我第一
: 学期选CS150和CS121 共计7个本科生学分的课。邮件里我直接说我有经济上的困难,一
: 万多元的学费只能选7个不计入毕业课程的学分让我想要放弃,但导师允许我可以跳过
: cs121后抱着对爱情的一线希望将自己留了下来, 却成了苦难的开始。
: 来到学校后,第一个学期,告诉导师我老了,不能呆太长时间,愿用生命学习,争取早
: 日毕业;第一学期同 的老师达成不成文默契:系里允许我两
: 年毕业,但不可以争系里的奖学金,因为我又要毕业又要奖学金的话势必对其它学生不
: 公平。看到系里学生的现状,我亦不忍心自已残忍,便默认配合老师被系里雪藏,低调
: ,沉默,上课不回答问题,默默地自己学习。甚至老师一再给B,都没计较,毕竟学校允

d**********o
发帖数: 1321
495
一种是打针,每针$200, 每个月打一次连续6个月后再检查,
另两种不记得了
本身超声波检查我的保险只报$400,还剩至少大几百(账单还没到)还得自己出
因为医生说只能止痛,就觉得又看了个医生还是只能止痛,
那痛偶还是忍了
等改天回国再来个彻查吧,不过还是觉得时间有点儿等不起啊~~

【在 l******k 的大作中提到】
: 哪三种药物止痛呀?
: 有效的话一个就够了
: not always the more the better呀

d**********o
发帖数: 1321
496
2012归去
我小的时候,爸爸待我和姐姐更为慈爱,尤其记得冬日腊月的早上寒风呼啸,我和姐姐
都懒懒地躲在被窝里舍不得起床,爸爸总是就着一块老式的手表每天早上早早起床,为
我和姐姐煎油饼用纸包了好让我们走在上学的路上边走边吃。
人总是很奇怪,在那最温暖最幸福的日子里,我却因为心里的那一丝别扭,总是对爸爸
冷冷的,有着一种若有若无的距离;可慢慢长大在经历了高考的洗礼之后,在远离家乡
的大学生活里,在离开大陆来到海外的这些年孤独漂零的日子里,爸爸对我的教育,给
过我的温暖和感动才真正转化为血脉亲情和精神支柱支撑着我去战胜生活中一次又一次
的困难和考验。
爸爸出了事情后,虽然姐姐、姐夫,妈妈和我,亲友我们大家都有心理准备,但爸爸的
离去还是给了我不小的打击。想到以后的日子里再也听不到爸爸慈祥亲切的声音,听不
到他略带文艺的唠叨和叹喟,我的生活已然变成无根的浮萍,对爸爸的思念和悲痛就像
狂风过境的野草般倒伏辽阔。
妈妈这次发病来势很急,当邻居对姐姐说妈妈好像有点儿迷糊,认不得人时,姐姐便随
即播打了120,并要离家最近的姐姐迅速赶回家,120先把妈妈送到了县里,很快转又送
到了市里的医院,检查出来说妈妈是有脑种瘤的,手术有风险,医药费大概需要至少十
万左右。爸爸的离去已经是让我很愧疚,没能为爸爸做什么,可次妈妈病成这样,我怎
么忍心不给妈妈好好治病?电话里我把自己当前的状况以及眼下可能会需要回学校读书
,可能回国的打算都对姐姐说清楚了,当时的电话里我们姐妹达成一致,为妈妈治病,
爸爸的意外来得太突然,希望妈妈能够有机会好好安享晚年。但第二天再打电话回去问
妈妈手术情况时,姐姐说亲友们还是认为不要太勉强,等妈妈这次病好,她自己能够调
整精神状态会比手术来得更有效。我心里难受,在妈妈的劫难面前,我又一次地作了逃
兵,而心里也很感激姐姐,不给妈妈治病的话我是无论如何也说不出口的,但她看到了
我的困难,帮我做出她认为对大家比较好的决定。而之后姐姐还在家默默无言地照顾着
妈妈。
春夏的那份工作之后,我心里还有着自己恋恋不忘的人,从大学学计算机VB编程开始,
对这个专业,我始终都还有着敬畏和向往。尽管舅舅和表哥都是要我惧重考虑作自己的
决定,但为了爱情,为了给自己一个机会,我还是申请了这个专业的硕士,准备可能回
学校读书。
申请自己以前的学校,因为研究生院的申请材料早就有了一份,所以申请和录取的过程
都非常顺利,只是在后来同导师谈论秋季入学选课的问题时被撞了一下腰,无论如何,
我不可能每学期交上万美元的学费而只能选7个不计入毕业学分的课,我已经33岁了,
如果这样一个学位一定要等那么久,那我还是应该接受现实,准备回国。好在后来老师
还是允许我选课的,连很重要的cs121 c++编程课都可以让我跳过,便最终决定留下,
拿着原本该为妈妈治病的钱留下来读书。
于是, 就像四岁那年坐在外公牵着缰绳的牛背上努力想像着远方的医院和献血会是什
么样子的懵懂孩童,就像十八岁那年被舅舅科普地球的另一端有一个神奇国度的懵懂想
往,现在我怀揣着对爱情的一丝眷恋和执着,又一次地开车走在了通往以前学校的5 号
公路上,懵懂依旧,却心想着这一刻将是梦想起跳的地方。
a********3
发帖数: 26787
497
沙发等~~~

【在 d**********o 的大作中提到】
: 占座更新
L**********s
发帖数: 12988
498
祝福

【在 d**********o 的大作中提到】
: 占座更新
d**********o
发帖数: 1321
499
选课邮件
* 6/26
I am a new cs-majored graduate student with a statistics master’s degree. I
got your contact information from Karen today. It was my lucky to get
introduced to you through email, and I do need you to help assist me in
selecting classes for coming fall semester.
From our department’s course information, since I have a MS statistics
degree, I guess I don’t need to select math176, math170 and math175. And I
have taken CS120 in fall 2009 and got a “B” as the grade. So I am thinking
I should take the following courses for fall 2012:
CS121 Computer Science II MWF 10:30AM – 11:20AM 4
credits 3 ON WAIT LIST
CS150 Computer Organization and Architecture MWF 2:30PM – 3:20PM 3
credits
CS210 Computing Languages MWF 9:30AM – 10:20AM 3 credits
CS240 Computer Operating Systems MWF 2:30PM – 3:20PM 3 credits
CS270 System Software MWF 11:30AM – 12:20PM 3 credits
I am worried that I may not be able to select CS240 because the time is
completely interrupted with CS150. I know I am pursuing a graduate program
but taking undergraduate courses for this semester, but I am not sure how
many course credits I can take at most. So far without cs240 I have 13
credits. I need your suggestion if I should take some more CS courses for
this semester. I am quite interested with CS383 (Software Engineering) as
well, dreaming if I can take this one in fall semester, I may be able to try
my best to find some intern for summer 2013, but I also need your
suggestion on this one.
By the way, I have taken several credits for Visual Basic programming and
one class for database theory. I am thinking if I can take one or more
course for this semester, I may want to select some courses taught using VB
programming or taught about database.
I don’t have any valid account for selecting classes until the beginning of
the fall semester. So please take your time and offer me some valid
suggestions.
* 6/27
Great to have you as a new student.
I have not seen the paperwork yet from the graduate committee to see their
recommendations. I have read your letters of recommendation and your
statement of interest. I also see that you are not in town so we cannot
meet face to face, so let's try email, although it will be more difficult
that way.
So let's start with a few questions.
What are your goals? This is an important question for not just me but for
you. Are you interested in getting a job in a particular area going on to
do research? Do you have a passion for a particular topic in computer
science? It is not necessary that you have that defined right now but if you
do it could help us select the best courses for you.
Your choice of study may also be limited by funding that is available
depending on how much you need a research job.
Programming is the important skill that you need to harness to do your work.
Please, tell me about the programming experience you have had.
My guess is that you are making the right decision to "get back to basics"
in your classes. If you can afford the time and money then you can take
the full breadth you suggest below. But it is possible to focus your course
work to hone the skills you need for your area of interest.
Some of the courses you have listed below have prerequisites for the reason
that you need to know the material from one course for the follow on course.
For example, CS121 is a good background for CS210. You can get in a lot
of trouble in CS210 without the info from 121. Again it depends on how
much programming you have had. Starting off with some successes may build
a solid base and confidence so again 121 might be a good choice.
I look forward to your responses to my questions and patience to try to do
this by email.
OK. So you aren't in town.
Then let's try to do this by email.
1. what programming experience do you have?
2. what area of computer science are you wanting to study?
* Hi, Dr. XYZ, 6/28
No, I don’t have a clearly defined particular topic of interest right now.
I have a MS Biology/Agriculture from China, a MS Statistics from U of I, and
a MS Computer Science years later, and after two and half years’
professional work, I feel I have programming and computation interests,
together with some business intuition. I would like to combine my background
and personal characters together, but still, I like to challenge myself in
job market in marketing. So I guess I will spend some time and do some
research to figure this one out.
“Your choice of study may also be limited by funding that is available
depending on how much you need a research job.” I feel confused about this
one. If you can help explain a little bit, that will be great.
The programming experience I have had including a 3 credit undergraduate
course “Computer program design” from Huazhong Agriculture University (
Wuhan, China) teaching Visual Basic programming, a 4 credit undergraduate
course CS120 from U of I using the C++ as teaching programming language, and
statistical SAS programming. I have got four SAS certifications, base,
advanced, predictive modeler and clinical trials. And I do think I have some
interest in programming, coding and computation.
I will check with the graduate school later after I have got formally
accepted to see how many credits I can take at most for one semester. I
agree with you that for the first semester, I will focus on my course work
to build a solid base and confidence for later development. I will take
CS121, CS150, CS270, and put CS210 and some other courses into consideration
. I will also need to ask some Chinese friends’ experiences and suggestions
on CS121 and CS210 relationship and difficulty to make my final decisions.
* Hi me, 6/28
Have you thought about bioinformatics? A strong stat and biology
background combined with computer expertise. If you like stat and biology
this might be ideal. There is a strong market for these skills. If you
are coming in the Fall you might want to take the BCB intro computing
courses. This will get you involved with that end of computing and sharpen
your computing skills at a very basic level.
Coding is a strong component of a successful student. This is coding more
like C++ than SAS or Visual Basic. If you only have "some interest" in
programming are you more interested in theory or hardware than programming?
Most successful students love programming.
You can take 20 credits or more if you like but there are limits on how many
you *should* take. And there are limits on your credits if you are
working as a TA or RA.
You won't be able to take 210 and 270 without having taken 121 and 150 first
.
If you really need to take 121 then you are not ready for 210.
270 will require some solid coding skills. If you feel you need to take 121
then 270 may be a problem as well.
It is always good idea to ask your friends about their experiences to get a
good understanding of what is ahead.
* Hi, Dr. XYZ, 7/1
I have taken one bioinformatics course back in China from graduate study in
Chinese Academy of Agricultural Sciences, but since I have only experienced
limited computer science skills, I am not quite sure bioinformatics will be
my favorite/interest. But since this area may also be a window for me, I can
try one BCB into computing course for this semester.
I guess it won’t work if I skip CS121 and select CS150, CS210 and CS270 for
this semester. I agree with you that this time for the new computer science
major, and I do want to build a solid base for later development. I have
checked with my friends that CS210, CS240 and CS270 are also open in spring
semester, so that will make me feel better if I have to select CS121 for
this semester. I hope I can select slightly more computer science courses
for this semester. I just feel that I pay more than $8000 tuition fees and
select only 7 credits computer science courses will make me feel slightly
pressed. I hope we can discuss and negotiate a better choice for this
semester.
By saying I have some interest in programming, coding and computation, I
mean my most interests lie in programming, coding and computation. And I
will try to have more coding (like C++) practice and experience.
* Hi me, 7/5
But you can't get a master's degree without computer skills. So you will
have to have computer skills which then makes bioinformatics a possible
choice.
I recommended CS121 because you got a B in CS120. I would expect a someone
preparing to go into a CS graduate program to be able to get an A in CS120
without trying hard. So I find this a concern. I therefore recommended a
solid base in programming.
Second the 200 level courses assume proficiency in the 100 level courses. If
you believe there were extenuating circumstances in getting the B in CS120
such as difficulty with the language and believe that you understand the
material from CS121 then I won't stop you from skipping CS121. But with the
information I have, it seems like CS121 is a good idea.
* Hi, Dr. XYZ, 7/15
I understand your concerns. The reason I got B for CS120 was because I was
focused on my two SAS Certification tests in that semester (I selected 12
credits courses, and passed two SAS certifications in four months). I did
not devote enough time and energy on that course, but I do have confidence
on myself. I feel slightly hesitate and my main concern is on financial side.
* Hi me, 7/15
If you feel confident in your coding abilities and want to try to move
directly to higher classes, you can do that since you are a master's student
. In the same way that a medical doctor must rely somewhat on what symptoms
the patient reports, I as your advisor must rely to some degree on your
evaluation of your skills. The B in CS120 is definitely a warning flag to
me. But I also believe students to some degree make their own decisions.
Skipping 121 could be a big mistake or it could work out just fine.
* Hi, Dr. XYZ, 7/16
Thank you so much for the consideration and understanding. I know you are
being responsible for me as the advisor.
I will work hard and try my best this semester to make it work out just fine
.
d**********o
发帖数: 1321
500
第一学期
回到学校后,我就写邮件同导师约好了见面时间,想讨论一下我秋天究竟该如何选课。
好玩儿的是,老师在自己帮我列选课选项之前,带我去见了系里的大牛。后来知道系里
的大牛是安全领域里的专家,每年都有诸多的会议,天南海北地跑,经常都很忙。不过
那天他正好在,在大牛的办公室里,根据我的需要(我希望能够两年拿到自己的硕士学
位),列了一个两年计划的列表,但第一学期仍然只有CS121 和CS150两门课,后来一年
的课程明显要重很多,我感觉这样选课第二年压力会非常大。我对大牛的选课建议是不
满意的,于是导师帮用他的手机拍了大牛白板上选课的照片,回到导师的办公室里,我
们再讨论出另一个选课计划。
选的结果是,虽然导师同意了我可以跳过CS121编程课,但我自己坚持要选那门课,因
为我清楚地记得09处秋天时我linked list弄得还不是很透,要在programming上取得胜
利,CS121带实验4个学分坚决不能跳,我同导师商量跳过了CS150,选了CS210
language programming, CS270 system software,CS385 Theory of Computation和
为下学期计入学分准备的CS336 Introduction to information assurance共记16个学
分。当时我的课还是在系里main office小秘帮选的,注册课程的时候小秘还意外。不
过看看陪我一起来这里、站在我旁边的导师,还是默默地将我的课注册好了。
CS270是我的导师带课。开学的前两个星期试上课的时间里,对于作业,上课进度等等
在我这样的一个新生的眼里这代课的老头已然有了近乎变态的严厉和疯狂。这还只是我
转专业的第一个学期,我还有着自己新转专业的心理障碍,我还有自己对作业的恐惧,
我不接受,不应该,也不需要在自己还没有完全准备好的情况下来接受过于严格的挑战
来挫败自己。我选几门自己认为合适,自己能够弄得来的课程就好了。于是在可以改课
的前两周deadline之前,我就同导师商量,将cs270改成了cs240。这是一个外国老师教
的课,那个老师为人很好,没有现在的老师这么严格,学起来可以稍微放松一点儿。
是的,对于新专业的作业,我还是有着本能的恐惧, C++的实验因为09年秋天上过4个
学分的CS120,所以还一如既往地顺利;CS210 第一次作业要求用lisp写9个recursion
函数,字符串的三个我没写出来,我只写出了6个;CS240的作业我就被吓得早早地开始
写,星期五的下午还在CSAC里写,但被系里的老师提醒tutor, 系里的学生问的问题如
果简单不要直接给答案,让他们自己先想想。
大概是自己选课选得太多了吧,开学不久就得到了老师的一记不知所以的打击。那是我
相对进展顺利的C++课堂上。前几周还在上CS270的时候老师建议我们用Linux系统,于
是我跑回去装系统,自己的台式机大电脑XP + Ubuntu 12.05顺利地装好了,可自己的
笔记本win7 + Ubuntu 12.05 却被自己整成了grub failure,几个星期没能用成笔记本
。于是有天晚上当CS121有一个实验自己的程序因为double 调用destructor出现个什么
类似看起来很像的东西时,原本脆弱的小心脏就又被吓得魂飞魄散,立即写邮件向老师
求救。我的邮件老师没有回,第二天一早我就去了CSAC,那里的tutor帮我找出了原因
。上课前从老师的讲台经过时我高高兴兴地告诉老师我的问题解决了,却没想到因为一
种效应,那堂课成了我的灾难。
其实当时老师说了什么我已经不大记得了,大致是说有些人笨,都没想到怎么选了现在
的这专业吧。课堂上的同学们那堂课会意老师的暗示,很多学生发出奇怪的声响。而那
时我的Tic-Tac-Toe一步move早就已经写了出来,而面对来自老师的突入其来的变故还
是让我没时间反应。在刚转专业的脆弱心理下,在同学们奇怪的声响里,我摘下了扎着
马尾巴的像皮筋,眼泪在头发的遮掩下无声的流淌。同学们的声响还要继续,而这堂课
我早就已经上不下去。后来,后来,再后来,我身边的同学终于开始提问老师,眼看就
要成为同学们注意的焦点,我趴下了,不愿意让别人看见此时自己的面孔。记忆里那天
我原本因为解决了问题很开心,可是那堂C++课特别的长,完全不知道老师究竟说了什
么,而如我般脆弱的灵魂在这个系里也从此充满了自我保护和正当防卫。
1 2 3 下页 末页 (共3页)
进入WebRadio版参与讨论
相关主题
offer选择,请支招老印还挺不好伺候的,不准备打交道了 (转载)
Assistant Prof.工作两年想换学校。请教!老印还挺不好伺候的,不准备打交道了 (转载)
郁闷,工作两年后回去找导师帮在系里找个研究工作,可是不帮忙老印还挺不好伺候的,不准备打交道了
求助,我该接受这个教学职位吗?急问一个b超的问题,希望得到贵版版友的帮助
*** 告版友书 + 总动员 *** (转载)为刚双满月的女儿寻求医疗救助,女儿得的是淋巴管瘤
Hey there Delilah - 一首两年前的新歌 (转载)有患巧克力囊肿后成功怀孕的版友吗?
It's still hot!将军们没发现国内体制内涨了不少工资么
老印还挺不好伺候的,不准备打交道了 (转载)博士还有两年毕业,今年要孩子还是明年要孩子
相关话题的讨论汇总
话题: error话题: type话题: expecting话题: syntax话题: unexpected