- 博客(11)
- 收藏
- 关注
原创 结束了,my编译
到FTP交掉了最后的实验。整个编译课程都结束了。紧赶慢赶的在deadline之前完成了任务。边考试还在边做编译器神马的伤不起。 编译器做了部分的优化,虽然有些优化看起来很水,但是用起来发现还真没有那么水。看着最后能跑的parser,感觉也是很爽的有木有。真的可以让一个代码通过编译然后在SPIM上跑起来。 虽然明知道试卷做的不太好,还是希望实验上能赶回一点。这算是
2013-07-07 13:20:07 448
转载 Sublime Text2 快捷键汇总
一个好的编辑器,能大大提高编程的效率。如果能熟知软件的快捷键,那更能让你得心印手。这些内容都是我网上和自己实际使用过程中所收集而来的,在网络上应该也算比较全面的了吧。欢迎大家补充,我也会在以后慢慢添加上来。插件使用方法:Ctrl+Shift+P 调用命令面板,我们就会找到一些以“Package Control:”开头的命令,我们常用到的就是几个 Install Package (安装扩展)、L
2013-06-23 20:48:57 496
转载 Linux内核文档之rbtree.txt
red-black树是什么样的树,为什么需要red-black树?------------------------------------------------ red-black tree(RB树)是一种平衡二叉树,它主要用于存储或者说索引可排序的键 值对数据。RB树(红黑树)与radix树和hash表都不同。radix树是一种比较适合用于 存储稀疏的数据集而
2013-06-23 15:28:38 526
原创 RBTree on Linux
linux下内核中本来就有rbtree的实现。在做语义分析的时候,完全可以将所有的符号表组织成一个红黑树。 以下复制于linux内核中的rbtree.h以及rbtree.c rbtree.h #ifndef _LINUX_RBTREE_H#define _LINUX_RBTREE_H#include #include struct rb_
2013-06-23 15:27:50 646
原创 just a log
这篇日志只是用来记录我今天是多么的倒霉啊……好不容易改完的词法和语法,shift+delete了……好不容易又做了一遍去吃饭了,锅贴排到我就木有了!!正好木有了有木有……用许畅班的测试用例跑,除了int型的数据都会死循环规约有木有,改了老半天才发现自己编译的时候写错了目标文件名,编译成了Parse,而不是parser啊……我每次都是用的Parser啊……又好不容易过了这个test又
2013-06-21 20:07:14 448
转载 使用自动化语法分析工具BISON
BISON语言的分析,可以让我们把精力专注在语法规则上,而不是具体的分析函数编写上。对整个DBMS我们需要按照BISON),然后由BISON是编译程序的翻译器。BISON自由定义部分:/* 语句这部分被BISON二.语法栈的联合(UNION)UNION{ } exp : exp ‘+’ exp | exp ‘/’ exp; 是表达式,LT_INTEGER对应
2013-05-05 11:01:00 1353 1
原创 发现了一个Stanford的在线网络公开课程,关于编译原理的
https://class.coursera.org/compilers/lecture/index这是 Stanford大学 Alex Aiken教授 以Cool语言为例的 编译原理课程的 教学视频,分享给大家
2013-04-08 15:37:16 2516
转载 Lex示例与分析
一.Lex(Lexical Analyzar) 初步示例先看简单的例子(注:本文所有实例皆在RetHat Linux下完成):一个简单的Lex文件 exfirst.l 内容:%{#include "stdio.h"%}%%[\n] ;[0-9]+ printf("Int : %s\n",yyte
2013-03-21 19:20:36 4814 1
原创 flex使用初步(转载+修改)
感谢成林君在人人上发了个日志用来说明flex的用法,根据他的用法,我大概明白了flex的工作机制。以下将在成林君的日志的基础上进行flex的使用初步剖析。黑字部分为原文,红字部分为我添加内容。1.下载flex:http://gnuwin32.sourceforge.net/packages/flex.htm 下载Setup文件(词法分析器) 下载bison:h
2013-03-21 19:16:13 1238
翻译 Cool语言的词法结构
cool语言的词法单元有:整数、类型标识符、对象标识符、特殊语法符号、字符串、关键字和空白符cool语言的整数:0-9组成的非空串cool语言的标识符由数字、字母和下划线组成,类型标识符以大写字母开头,对象标识符以小写字母开头,还有两个特殊的标识符(但不是关键字)self和SELF_TYPEcool语言的字符串:位于双引号""中间,换行用斜杠/,‘\c’代表字符'c',\b backs
2013-03-20 17:20:50 2070
原创 关于编译器实验的设想
主要是希望能够学习斯坦福的Cool语言编译器,也从斯坦福的网站下了关于Cool语言编译器的手册。 其实主要是希望能够做一些面向对象语言的编译器。关于这一想法有两种设想路线。1、全部按照Cool语言的方式进行开发。由于Cool是为了简化编译器的设计而构造的一种小型面向对象语言,还要重新了解这一语言的语法等。看到斯坦福的一些例子,可以看出其主要应用了面向对象的思想比较重。class
2013-03-13 16:42:33 705
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人