摘要 | 第3-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第9-16页 |
1.1 研究背景 | 第9页 |
1.2 国内外研究现状 | 第9-14页 |
1.2.1 面向最终用户编程 | 第9-10页 |
1.2.2 领域特定语言 | 第10-14页 |
1.2.3 研究现状分析小结 | 第14页 |
1.3 研究目的和内容 | 第14-15页 |
1.4 本文的内容组织 | 第15-16页 |
第二章 高校信息系统领域特定语言的研究与设计 | 第16-45页 |
2.1 三层 DSL 语言 | 第16页 |
2.2 第一层 IDSL | 第16-34页 |
2.2.1 IDSL 语言的设计方法 | 第17-18页 |
2.2.2 IDSL 语言的总体结构 | 第18页 |
2.2.3 IDSL 语言的 Model | 第18-21页 |
2.2.4 IDSL 语言的 View | 第21-31页 |
2.2.5 IDSL 语言的 Logic | 第31-32页 |
2.2.6 IDSL 语言的 Restriction | 第32页 |
2.2.7 IDSL 语言的预定义类型、操作和 Entity | 第32-34页 |
2.2.8 IDSL 语言的变量 | 第34页 |
2.3 第二层 UIDSL | 第34-36页 |
2.4 第三层 SIDSL | 第36-43页 |
2.4.1 挑战与解决方案 | 第36-37页 |
2.4.2 SIDSL 设计方法 | 第37-41页 |
2.4.3 SIDSL 语言的定义 | 第41-43页 |
2.5 本章小结 | 第43-45页 |
第三章 领域特定语言到 Java 的代码生成工具的开发 | 第45-66页 |
3.1 领域特定语言到 Java 的代码转换的总体技术方案 | 第45-48页 |
3.1.1 技术路线 | 第45-46页 |
3.1.2 基于重写规则的程序转换 | 第46-48页 |
3.2 IDSL 到 Java 的代码生成工具的总体设计 | 第48-52页 |
3.2.1 代码生成工具的架构 | 第48页 |
3.2.2 基于 Eclipse 的 Spoofax 插件 | 第48-49页 |
3.2.3 Spoofax 平台下 IDSL 语言结构 | 第49-50页 |
3.2.4 代码生成工具的工作流程 | 第50-52页 |
3.3 IDSL 到 Java 的代码生成工具的转化规则设计 | 第52-62页 |
3.3.1 IDSL 的 SDF 描述 | 第52-53页 |
3.3.2 基于 SSH 框架的 Java EE 工程抽象 | 第53-56页 |
3.3.3 使用 Stratego 语言描述转换规则 | 第56-62页 |
3.4 关键问题及其解决方案 | 第62-64页 |
3.4.1 基于内容的转换 | 第62-63页 |
3.4.2 容器类的遍历 | 第63页 |
3.4.3 列表下标取值的模拟 | 第63-64页 |
3.4.4 条件操作的使用 | 第64页 |
3.4.5 转换文件的生成 | 第64页 |
3.5 本章小结 | 第64-66页 |
第四章 实验 | 第66-72页 |
4.1 IDSL 实验 | 第66-69页 |
4.1.1 实验过程 | 第66页 |
4.1.2 实验结果与评估 | 第66-69页 |
4.2 UIDSL 实验 | 第69-70页 |
4.2.1 实验过程 | 第69页 |
4.2.2 实验结果与评估 | 第69-70页 |
4.3 SIDSL 实验 | 第70页 |
4.3.1 实验过程 | 第70页 |
4.3.2 实验结果与评估 | 第70页 |
4.4 本章小结 | 第70-72页 |
第五章 结束语 | 第72-75页 |
5.1 主要工作及总结 | 第72-73页 |
5.2 研究展望 | 第73-75页 |
参考文献 | 第75-78页 |
致谢 | 第78-79页 |
攻读硕士学位期间已发表的学术论文 | 第79-80页 |
附录一 部分 Entity 重写规则 | 第80-85页 |
附录二 部分 Form 重写规则 | 第85-95页 |