原本想在圣诞前写完的,没想难度超出了想象,只怪当初考虑的时候太简单了,就象那概要,原本打算写一千字就够的
现在离整体写完还早,不过先贴出刚写完的,以表歉意,让各位关心的人等太久了
熬了几个通宵后,才写了第一部分的大半段,实在效率不高,实在感觉有点点累,贴后要几天的休息,才写剩余的
主要是文章的大结构变动了很多次,希望能写的尽量直观易懂,只怪当初语文没学好,那时老不及格的就是我了,后悔
这里简单介绍一下文章的结构和写时的一些考虑,希望对大家有帮助,不妥之处请指出
文章大概分五部分
第一部分是基本功能的介绍 —— 以传统方式分析编译器和调试器
这段分析基本是圣诞后开始的,幸好相关书籍较多,能查到不少内容,特别是调试部分,最后拿SOFTICE来做样本对比,才找到了重心,不
过关于SOFTICE的实现原理的资料好象没有,只是大致猜了主要功能的实现,有一个还没时间细查,就是关于内存范围断点的设置,相信和分页
机制相关,等睡醒后去查
第二部分是视图分析和文档分析
将引入图论概念来分析视图的基本元素,但现在只是一个总体的概念,具体如何操作还未细想,因为这个灵感的获得还不到一个星期,圣
诞前的那段时间一直在考察UML,最后发现它并不是本质部分,逆向工程的分析才是中心,一直进展不大,那时也写了几千字,基本得作废吧,
大概在元旦后的一天,才想到视图的本质是元素关系,用图论是很恰当的,但是图论中的一些概念如子图等要经过一些修改才能使用,希望大
家帮我一起思考
问题是: 高级语言源代码的所有细节看成一张图,元素就是每个基本语句和函数,如何从图中分离出状态变化过程,类处理过程等等,假
如是中间代码或者是汇编级代码,如何分析出各个函数模块
文档分析相对简单点,以动态文档生成为中心铺开,不过具体细节还未考虑,这也是称为初稿的原因,现在写的多数是原始概念的堆积,需
要再处理后才能成为正文
第三部分是库设计分析
库包括类库和函数库,是一个独立部分
分析的工具是视图和面向对象理论,以及操作系统的接口分析
对此考虑还不多,只是一个简单影象
第四部分是
编辑器功能分析,总结前面模块的接口,结合EMACS的特点考虑细节
第五部分是整体结构分析 ——综合分析
基本是这样的思路
下面介绍一下初稿(一)的结构
首先是总体目标
然后是第一部分的功能分析
在编译器分析中,考虑思路是
语言无差异 ---> 组件结构 ---->内部组件结构
调试器分析中
各种调试方案讨论 ---> 纯软件实现方案 ---> 基本硬件调试功能的结合 ---> 特殊硬件功能的结合
后面还缺的是调试器的结构分析,和由调试器引出的安全体系考虑
基本是这样了,大家多提意见呀,我是要去睡了