当前位置:文档之家› 一种面向对象编译器体系结构框架

一种面向对象编译器体系结构框架

一种面向对象编译器体系结构框架!

林奕"朱怡安"付游

#西北工业大学计算机科学与工程系"陕西西安$%&&$’(

摘要)对编译系统体系结构进行了新的研究和探索"基于传统编译理论和新的发展趋势"提出了基于领域模型的面向对象编译系统构造框架**+,"以及编译过程对象化与基于程序设计语言基本规律的设计思想-并实现了一个分析系统的原型"取得了较好效果-

关键词)面向对象"编译"领域模型"框架

中图分类号)./0%1文献标识码)2文章编号)%&&&3’$45#’&&’(&03&1&&3&6

编译技术是现代软件技术的重要组成部分-无论在系统软件还是在模式识别等其他领域"编译技术都起着非常重要的作用-作为发展较早的计算机理论"编译技术已经具有较为成熟和完整的理论体系"编译器体系结构也有了很大发展-与此同时"以编译理论为基础"也出现了许多得到广泛应用的编译器构造工具-然而"这些工具都只是某种分析技术的工具化"它们的分析能力依赖于该分析方法的分析能力-目前还没有一种工具可以从整体上解决构造编译系统的所有复杂问题-基于这些工具开发的编译系统存在着诸如模块化等原则与形式化7自动化原则间的矛盾-另外"当需要在其他应用领域中使用编译技术进行分析7推理和实现自动机等时"这些工具有时可能无法发挥作用-本文首先研究了编译系统体系结构发展的新趋势-然后"基于程序设计语言的普遍规律"提出了针对程序设计语言处理领域的面向对象编译系统体系结构框架#**+,88 *9:;<=3*>?;@=;A+B C D?E;>,>F C;G B>H("并从软件复用和体系结构的角度研究了系统框架的各种特性-

I编译技术的发展与面临的问题

近几年来"编译器的组成已从管道#D?D;E?@;(体系结构逐步发展为以树结构为核心的仓库#>;D B J?=B>K(式体系结构L%M"从而将编译过程中紧密耦合的各个部分分解为相对独立的多个阶段-编译器也成为了由相互独立并协作的分析7综合模块组成的软件系统-

编译过程可以分为分析与综合两个阶段-因此"目前常用的各种编译器构造工具可以分为两大类)即构造出完整编译器的工具和构造编译器前端的工具-N F<<和O;P是两种最为常用的前端构造工具-此外"类似的工具还有.Q O72R.O S T U O V7 .2W/S72X,Y X U,L’M等-分析技术除了在编译系统中应用外"作为一种有效的模式匹配技术"也被广泛应用于构造各种识别算法#如自然语言理解7自动证明系统7基于规则的知识库7数据挖掘等(以及再工程和逆向工程等领域中-在需要处理程序设计语言的应用中#如再工程和逆向工程("对分析技术的要求与编译系统不尽相同-传统的语言分析技术面临着如下问题)Z被分析语言的多样性造成语法的多变性[\针对静态抽象的语法和特定的语法分析算法实现动态的语言识别过程-这极大地增加了分析器设计7实现的难度"降低了系统结构的灵活性[ ]在使用N F<<等工具时"编译器的设计7实现与调7测试过程的分离使维护系统一致性更加困难[^分析器依赖于某语言的具体语法"导致其单一的识别能力[_分析器构造工具对具体分析算法的依赖性使得对语法的部分修改可能导致整个语法规则的变化"从而可能引起分析器整体设计的变动-

’&&’年5月第’&卷第0期

西北工业大学学报

‘B a>@F E B b R B>=c G;J=;>@/B E K=;J?=K

2a f g’&&’

h B E g’&R B g0

!收稿日期)’&&%i&$i%1基金项目)国防重点实验室基金#j j‘X j1k6k%k l m&0%0(资助作者简介)林奕#%j$6i("男"西北工业大学博士生"主要从事计算软件与理论7分布T并行计算的研究-万方数据

相关主题
文本预览
相关文档 最新文档