摘要: 第一章:设计思路 在看《c算法》,按照作者的要求,为一个简易的语言设计一个解释器,然后搞了一个下午。 觉得自己太混乱了,什么也没完成。 然后想写一篇博客(本篇)梳理一下思绪,但是上网上看了一篇别人写的语言解释器,瞬间更乱了。 觉得自己做的好没有意义。但是还是抒写一下思路吧。 1.1 内置类型 我明明想了内置类型,但是设计的时候,还是把string给忘了。 所以,共设计了三种内置类型,int,double,string。 所以,这支持者三种常量,10,10.203,'string' 除了string型c语言没有之外,int和double就是c语言的int和dou... 阅读全文
posted @ 2013-09-14 21:50 李可以 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/qiongyue-logs/76788670.html特殊符号大全⊙⊕@#&〓\㊣℡﹋﹌☆★○●◎◇◆□■▓△▲▼▽◢◣◤◥⊿※§··々‖$£¤¢♂♀≈≡∷∮∑∈⊥‖∠⌒⊙≌∽√≈≤≥ΘΞ∏ΦΩξ≈≡≠=≤≥<>≮≯∷±+-×÷/∫∵∴∠⌒⊙≌∽√)§№☆★○●◎◇◆□■△▲※→←↑↓〓#&@\^_※☆★△▲ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑一二三四五六七八九十⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⒒⒓⒔⒕⒖⒗⒘⒙ 阅读全文
posted @ 2013-09-12 16:22 李可以 阅读(1160) 评论(0) 推荐(0) 编辑
摘要: 因为工作遇到的困难,我向suricata的某个作者发送了邮件。On Wed, Sep 11, 2013 at 8:22 AM, likeyi wrote:Dear Tom DeCanio:Very glad to see you, I am now reading the source code that writed by you.I am a user for this source code, and now I have met some problems.One is that I found when I configure the suricata as IDS mode, I. 阅读全文
posted @ 2013-09-12 13:22 李可以 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 据说:BASH能调用linux的应用程序,这是其最大的优点,也是其最大的缺点。PERL那复杂的语法确实看得让人想吐。python很优美,但是据说对正则的支持不够,没有perl强大。总结一下学习到的内容,看看python强大在哪里吧。http://sebug.net/paper/python/ch04.html#s01一、基本概念: 1.1 字面常量 一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的数,或者如同'This is a string'、"It's a string!"这样的字符串。它们被称作字面意义上的,因为它们具备字面的 阅读全文
posted @ 2013-09-05 21:42 李可以 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: 交叉汇编器,程序下载器,调试器都还没写。 阅读全文
posted @ 2013-09-03 20:42 李可以 阅读(182) 评论(0) 推荐(0) 编辑
摘要: opcode55511CPU指令集算术运算指令整数运算指令(7)000000rsrtrd保留add rs,rt,rd000001rsrtimmaddi,rs,rt,imm000010rsrtrd保留sub rs,rt,rd000011rsrtimmsubi,rs,rt,imm000100rsrtrd保留mul rs,rt,rd000101rsrtrd保留div rs,rt,rd000110rsrtrd保留mod rs,rt,rd浮点数运算指令(4)000111rsrtrd保留fadd rs,rt,rd001000rsrtrd保留fsub rs,rt,rd001001rsrtrd保留f... 阅读全文
posted @ 2013-09-03 20:41 李可以 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 【打造自己的虚拟机】编程模型第1章 为什么想写一个虚拟机学习《操作系统概念》这本书很久了,但其实写一个CPU一直是我的梦想,在学硬件电路设计的时候,我们的课程设计就是设计一个简易的CPU,8条指令。而我自己也用Verilog设计一个简单的CPU,29条指令。但是感觉要想深入了解计算机,还是要知道当今CPU所提供的编程模型。所以我准备写一个虚拟机,来看看这个CPU到底是怎么和外界合作运行的。在编写这个CPU模型的时候我主要参考了三本书。《操作系统概念》《链接与加载》《计算机组成与设计-硬件/软件接口》由于hennessy的影响,我在设计指令的时候参照一下几点:简单来自规整越少越快优秀的设计需要适 阅读全文
posted @ 2013-09-03 20:40 李可以 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 读阮一峰翻译的《lisp为什么这么先进》最后一段话非常有感触。程序的形式,应该仅仅反映它所要解决的问题。代码中其他任何外加的形式,都是一个信号,(至少对我来说)表明我对问题的抽象还不够深。我是这样来理解的,假如我想在一堆数据里检索某一个字符是否存在。应该怎么写呢?if(search(string,text)==ture)print "yes"elseprint "no"可是马上问题升级了,这个对象在内存中吗?假如在磁盘的文件系统中,我是否应该先fopen一下。可是这一堆数据我分开存放了,不是存放在一个文件中。再假如,我是在一个数据中心,这一堆数据,其实是 阅读全文
posted @ 2013-08-29 15:59 李可以 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 觉得这一章写的很乱,我懒得看windows的知识,也懒得看ibm的知识,所以直接上unix吧。一、目标文件中都有什么?一个目标文件包含五类信息。头信息:关于文件的整体信息,诸如代码大小,翻译成该目标文件的源文件名称和创建日期等。目标代码:程序和数据重定位信息:一个位置列表,链接器在修改目标代码的地址时会对他进行调整。符号:该模块定义的全局符号(导出),以及从其它模块导入的符号,或者由链接器定义的符号。调试信息:目标代码中与链接无关但会被调试器使用到的其他信息。二、设计一个目标文件格式。一个目标文件可能是可链接的(可重定位的),可执行的,可载入的(共享库)。一个可链接的目标文件包含目标代码所需的 阅读全文
posted @ 2013-08-28 21:22 李可以 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 链接器和加载器,以及编译器和汇编器与体系结构的细节密切相关,这包括硬件体系结构和操作系统对目标计算机在体系结构方面的约定。硬件体系结构的两个方面影响到连接器:程序寻址和指令格式。应用程序二进制接口ABI包含了应用程序在这个系统下运行时必须遵守的编程约定,ABI包含一系列的系统调用和使用这些系统调用的方法,以及可以使用的内存地址和使用机器寄存器的规定。ABI要求每个程序包含一个该程序各例程使用的所有静态数据的地址表。内存地址直接顺序和对齐,大端小端,无须争论,小端指低位在低字节,对齐是必须的。过程调用和可寻址性对于局部和全局静态数据,编译器可以为一个例程引用的所有静态变量创建一个指针表。如果某个 阅读全文
posted @ 2013-08-27 23:46 李可以 阅读(204) 评论(0) 推荐(0) 编辑