论文摘要
当前网络的蓬勃发展,形成了以ASP、PHP、JSP为主流的Web页面开发技术。ASP简单实用,深受Web页面开发者的青睐。PHP编写的代码执行起来会更快,能实现同样功能的PHP代码,不用改变就可以在不同的WEB服务器上、不同的操作系统下运行。PHP的这一优点使许多Web页面开发者试图将ASP程序手工转换为PHP程序。若ASP程序很多很大,手工转换既费时又费力,因此迫切需要一种能够实现这两种程序之间自动转换的工具。 本文设计和实现了基于编译程序原理的ASP-PHP程序转换系统,实现了ASP程序到PHP程序的自动转换,提高了ASP程序转换为PHP程序的效率。 本文主要分析了编译程序词法分析、语法分析、语义分析等三个阶段的工作原理,并将其应用到本文所设计的系统中:词法分析从左至右逐个字符地对源程序进行扫描,产生一个个单词序列,用以语法分析;语法分析把源程序的记号进一步分组,产生语法树来表示ASP程序的结构;语义分析遍历语法树,查找规则库实现ASP程序到PHP程序的映射;最后再次遍历语法树,生成PHP程序。从编译程序中符号表的总体组织和表项属性信息组织来看,符号表是一种算法复杂性很高的数据结构,而且也不利于用户与图形界面的交互。本文在深入研究编译程序各阶段的实现过程的基础上,结合ASP程序和PHP程序的特点,给出了一种用对象来代替符号表的内存管理方法,因为对象结构简单,又非常适合表示层次结构,使语法树也很适合对象化。本文还利用文本组件的文档定制实现了用户与图形界面的交互,这是本文的创新之处。另外,在创建语法树时,本文采用了合成模式;在遍历语法树时,采用了访问者模式。 最后,本文利用JBuilderX等开发工具实现了ASP-PHP程序转换系统,在可操作性、实用性、通用性、可扩展性等方面达到了一定的要求,取得了较好的效果。
论文目录
摘要Abstract1 绪论1.1 研究背景1.2 研究的目的和意义1.3 国内外研究现状1.4 本文的主要工作2 程序转换原理及工作过程分析2.1 概述2.2 词法分析2.2.1 词法分析概述2.2.2 正规表达式与正规集2.2.3 有穷自动机2.3 语法分析2.3.1 语法分析概述2.3.2 上下文无关文法2.3.3 语法树2.4 自下而上语法分析方法2.4.1 归约2.4.2 句柄2.4.3 用栈实现移进-归约分析2.5 语义分析3 ASP-PHP程序转换系统的总体设计3.1 系统概述3.1.1 系统目标3.1.2 系统的运行环境3.1.3 开发平台及工具3.2 系统的需求分析3.2.1 系统的功能分析3.2.2 系统的流程分析4 程序转换子系统的设计4.1 程序转换子系统的结构框图4.2 词法分析器的设计4.2.1 词法分析的流程4.2.2 语法表的设计4.3 语法分析器的设计4.3.1 语法分析的流程4.3.2 ASP程序的上下文无关文法4.3.3 合成模式在语法树创建中的应用4.4 语义分析器的设计4.4.1 语义分析的流程4.4.2 访问者模式在语法树遍历中的应用4.5 PHP代码的生成4.6 内存管理4.7 结果对象集文本文档的定制4.8 用户与图形界面的交互5 程序转换子系统的实现5.1 词法分析器的实现5.2 语法分析器的实现5.2.1 ASP程序语法树的节点结构5.2.2 语法树创建的实现5.3 语法树遍历的实现5.3.1 语义分析的角色实现及工作过程5.3.2 PHP代码生成的角色实现及工作过程5.4 出错处理5.5 扩展函数的处理5.6 转换结果对象集的文本文档定制5.7 用户与图形界面的交互的实现5.7.1 选择PHP对象的文本文档定制5.7.2 编辑PHP对象的文本文档定制5.8 系统测试5.8.1 系统测试指标5.8.2 系统测试环境参数5.8.3 系统测试结果及分析结论参考文献攻读硕士学位期间发表学术论文情况致谢大连理工大学学位论文版权使用授权书
相关论文文献
标签:编译程序论文; 程序论文; 转换系统论文;