欢迎来到天天文库
浏览记录
ID:35133144
大小:1.33 MB
页数:50页
时间:2019-03-19
《浅议一种基于xml和模板语言的代码自动生成技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、复旦大学硕士学位论文一种基于XML和模板语言的代码自动生成技术姓名:柳飞申请学位级别:硕士专业:计算机应用技术指导教师:曹文君20030518摘要代码自动生成技术有着非常广泛的实际应用。本论文在考察代码自动生成技术,尤其是基于模板语言的生成技术的基础上,提出了一种新的基于XML和模板语言的代码自动生成技术。该技术提供了一种新的模板语言SpongeTL及其应用框架Sponge。Sponge设计思路提供了一种高效的生成器设计方法。其核心是模板语言SpongeTL。它基于XML描述文法,并利用XSLT来生成其解析器。同时借鉴其他模板语言的转义设计方法,使
2、得SpongeTL语法虽简单却有着较强的功能。Sponge框架使得SpongeTL更容易嵌入到其它应用系统中。此外,对于一般非商业化生成器对Unicode支持不够的缺陷,Sponge的设计方法也提供了较好的解决方法。关键字代码自动生成XSLTXPath模扳语言垒!!!!竺!一一——AbstractAutomaticgenerationofcodehasbeenappliedbroadly.Thisthesisreviewsvariouscodegenerationespeciallycodegenerationbasedontemplatelang
3、uage.Then,thisthesisrepresentsanewtechnologyofcodegenerationbasedonXMLandtemplatelanguage.AnewtemplatelanguagenamedSpongeTLandanapplicationframeworknamedSpongearedesignedinthisthesis.ThedesignideaofSpongeprovidesallhigheffectivemethodtodesignacodegenerator.ThecoreofSpongeisSpo
4、ngeTLwhichisrestrictedtoXMLSchema.AndtheparserofSpongeTLisgeneratedusingXSLT.AlthoughthesyntaxofSpongeTLissimple,itmaybeveryusefulaccordingtoitsdesignoftransferredmeaningderivedfromthedesigningofothertemplatelanguage.SpongeframeworkmakesSpongeTLeasytobeembeddedintootherapplica
5、tionsystems.Furthermore,SpongeprovidesabetterwaytofitUnicodewhichnormalnon-tradecodegeneratorsmaynotsupportverywell.Keywordscodegeneration,XSLT,XPath,templatelanguage2前言第一章前言本部分主要论述了代码自动生成技术的发展背景及其研究概况,解释了选择该题目的目的和实际意义,最后列出了论文的主体结构以及论文的创新点和未来的展望。1.1.背景在过去的几十年中,涌现出了许多软件设计方法的理论和
6、技术。从结构化程序设计概念的提出,到模块化(Moduladzation)、面向对象(Object-Oriented)技术的深入人心,泛型技术(GenericProgramming)1的日渐受重视等等,这些技术都已被逐渐应用到软件设计实践中,为推动软件生产力的发展发挥了巨大的作用。此外,多种设计理论,如设计模式(DesignPatterns)2面向方面的设计(Aspect.Oriented)3,以及再生式程序设计(GenerativeProgramming)等等也逐渐受到重视。这些技术涵盏了代码复用到软件架构复用等多种层次上的软件复用。4随着软件开发
7、对软件复用的迫切需求,代码自动生成技术作为软件复用常用的一种技术手段也越来越受到研究人员的关注。各种各样的代码生成器层出不穷。平心而论,代码自动生成技术并不是一个全新的概念,只是近年来它的作用又重新得到了认识。尤其随着企业级软件应用的蓬勃兴起,软件开发技术的一系列变革,代码自动生成技术的市场也得到了快速发展。可以举一个常见的应用代码自动生成技术的例子。分布式系统EJB规范中定义了容器(Container)的设计规范。在设计实体Bean时,开发人员只需要设计远程接口(Remote)、主接口(Home),或者本地接口(Local)、本地主接口(Loca
8、lHome)以及bean本身等要素,容器会自动生成实现这些接口的实现类,以及实际的bean类。EJB的这种架构,很好的将系
此文档下载收益归作者所有