论文部分内容阅读
本文的目的是设计开发一个领域语言。领域语言是面向特定领域设计的语言。本文在分析“数据结构和算法”课程的特点的基础上,借鉴已有教学语言的优点,设计一个领域语言ALL06(ALittleLanguage06)用于教学实践,并开发一个实用的集成开发环境,同时对开发领域语言过程中可能遇到的问题进行探讨。
本文首先分析了领域语言的一般特点,即具有领域性、简明性和自身局限性,在此基础上探讨了领域语言开发中需要注意的问题。领域语言的开发通常包括领域语言的设计和领域语言的实现两个步骤。
然后通过对“数据结构和算法”教学实践的研究,分析ALL06应该具有的语言概念,并且分别对各语言概念进行设计。该语言具有清晰的程序结构,提供了结构加函数、接口加类、模板类三个不同角度描述数据结构的方法。该语言具有简明的语言要素,基于领域的程序检查机制、可视化的支持、多样的变换方式,可以方便课程的教学和实习。文中在对类型和运算符设计的基础上,讨论了ALL06运算符优先级的设计问题。
接着采用形式化的方法描述ALL06编译器的分析、检查、变换各部分,并实现该语言的一个集成开发环境。ALL06通过程序变换技术实现,文中通过矩阵运算,给出了一个多种变换方式下变换规则的描述方法。
最后,从“数据结构和算法”课程教学实践的角度,将ALL06语言与其他常见的通用程序设计语言进行比较。