1引言程序生成器可以加快程序编码产生的速度,产生规范和正确的代码,编写一个程序生成器,它意味着不仅仅是写一个程序,而是要写一个可以写出许多程序的程序。在用户界面、数据库、中间件、语法分析和词法分析等方面,程序生成器是其开发环境中的重要部分。程序生成器的思想已经使用了很多年了,比如:语法分析器:语法分析器读入一个标记序列,并且创建一个称为语法树的描述信息的数据结构,典型的为UNIX使用程序yac。,它读入一个语言的形式描述(用某种语法表示)连同看做是语法规则的动作,然后输出一个语法分析器程序;有限状态机:可以用显示不同状态、事件及状态转移的表和(或)图对程序进行描述和说明,典型的为UNIX实用程序lex,就是一个有限状态机的程序生成器,并且用yacc来解析语言的标记;用户界面:现在大多数代码都是由GUI构造器和直观的编程工具自动生成;数据库中的程序生成器:给出数据表、关系、事务逻辑及报表模式的描述,就能生成依照指定的规格构造的数据库程序,如报表生成器、菜单生成器、屏幕生成器等;Web页面生成:Java服务器页面JSP是一种在认飞b上创建动态内容的工具。XML作为一种完全可移植的数据格式,将成为跨平台的不同系统之间的数据交换及数据显示、描述的标准。Java具有面向对象、跨平台、分布式、简捷、健壮、安全等特点,功能强大且简单易学,正在逐步成为新一代网络编程的主要开发语言,Java将是网络上的“世界语”,今后所有用其它语言编写的软件统统都要用Java语言来改写。XML和Java的结合对己有的程序生成器技术提供了新的应用背景,并且两者相互协调补充,以更简单而优雅的风格、可靠的性能,提高程序生成器的开发效率。2程序生成器的结构作为程序生成器的典型结构,它由获取数据、分析/转换数据、‘上成程序3个部分组成。生成时间:基于某一规范产生程序的时间编译时间:编译生成的程序所用的时间运行时间:执行生成的程序所用的时间哪卿卿哪图1约束时间程序生成器经过如图l所示的3种约束时间,完成程序的生成。3域工程技术域工程是一个用于高效创建一个应用(程序或软件组件)族成员的过程。它是一个确定某个专业的重要组成与需求的系统方法,对如何高效地建立一个满足用户需要的程序生成器是非常必要的。程序的自动创建依赖于对语法和期望目标的精确描述,域工程技术将此概念延伸到时间基础上分析一系列相关的程序,并能够生成和修改它们。生成系统的构造过程就是一个解决问题产生软件的程序过程。因此,域既是一个有关联的问题的集合,也是一个有关的软件应用程序的集合。域工程分为两个过程:域分析及域实现。域分析:是一个用于确定域的术语、范围、共性及变性的过程。域实现:是指在域中按照指定的要求高效构造应用及创建工具,在域分析结束时即开始。这其中包括程序生成器。任何开发过程都要经历一系列的决策。在需求分析、软件结构、界面开发、软件设计(算法、数据结构和数据表示)、软件编码与测试以及软件的使用过程中都需要做出决策。有关的最艰难的工作是做出决策而不是编码。对于域工程,最困难的是判断哪些是重要的决策,由谁来制定,什么时候制定,并且要能区分其中的重要决策和不重要决策。决策的制定,要考虑域工程的过程中下列3种重要角色的作用及其作用时间(约束时间)。域工程师:定义并建立如程序生成器那样的过程和工具。应用工程师:利用如程序生成器那样的工具创建应用程序。应用程序用户:使用应用程序。域工程时间:.由域工程师为每个应用程序族做出决策的时间,包括域分析时间和域执行时间。约束时间:由应用工程师为每个应用程序做出决策的时间,包括规划时间、生成时间、编译
java xml生成器 源码_利用XML和Java建立程序生成器
最新推荐文章于 2021-04-09 23:12:03 发布