当前位置:Linux教程 - Linux文化 - 开发工具设计的序言

开发工具设计的序言


原本想在圣诞前写完的,没想难度超出了想象,只怪当初考虑的时候太简单了,就象那概要,原本打算写一千字就够的

现在离整体写完还早,不过先贴出刚写完的,以表歉意,让各位关心的人等太久了

熬了几个通宵后,才写了第一部分的大半段,实在效率不高,实在感觉有点点累,贴后要几天的休息,才写剩余的

主要是文章的大结构变动了很多次,希望能写的尽量直观易懂,只怪当初语文没学好,那时老不及格的就是我了,后悔

这里简单介绍一下文章的结构和写时的一些考虑,希望对大家有帮助,不妥之处请指出

文章大概分五部分

第一部分是基本功能的介绍 —— 以传统方式分析编译器和调试器
这段分析基本是圣诞后开始的,幸好相关书籍较多,能查到不少内容,特别是调试部分,最后拿SOFTICE来做样本对比,才找到了重心,不

过关于SOFTICE的实现原理的资料好象没有,只是大致猜了主要功能的实现,有一个还没时间细查,就是关于内存范围断点的设置,相信和分页

机制相关,等睡醒后去查

第二部分是视图分析和文档分析

将引入图论概念来分析视图的基本元素,但现在只是一个总体的概念,具体如何操作还未细想,因为这个灵感的获得还不到一个星期,圣

诞前的那段时间一直在考察UML,最后发现它并不是本质部分,逆向工程的分析才是中心,一直进展不大,那时也写了几千字,基本得作废吧,

大概在元旦后的一天,才想到视图的本质是元素关系,用图论是很恰当的,但是图论中的一些概念如子图等要经过一些修改才能使用,希望大

家帮我一起思考
问题是: 高级语言源代码的所有细节看成一张图,元素就是每个基本语句和函数,如何从图中分离出状态变化过程,类处理过程等等,假

如是中间代码或者是汇编级代码,如何分析出各个函数模块

文档分析相对简单点,以动态文档生成为中心铺开,不过具体细节还未考虑,这也是称为初稿的原因,现在写的多数是原始概念的堆积,需

要再处理后才能成为正文

第三部分是库设计分析

库包括类库和函数库,是一个独立部分
分析的工具是视图和面向对象理论,以及操作系统的接口分析
对此考虑还不多,只是一个简单影象

第四部分是

编辑器功能分析,总结前面模块的接口,结合EMACS的特点考虑细节

第五部分是整体结构分析 ——综合分析

基本是这样的思路


下面介绍一下初稿(一)的结构


首先是总体目标

然后是第一部分的功能分析

在编译器分析中,考虑思路是
语言无差异 ---> 组件结构 ---->内部组件结构

调试器分析中
各种调试方案讨论 ---> 纯软件实现方案 ---> 基本硬件调试功能的结合 ---> 特殊硬件功能的结合

后面还缺的是调试器的结构分析,和由调试器引出的安全体系考虑

基本是这样了,大家多提意见呀,我是要去睡了

[email protected]