论文部分内容阅读
一直以来计算机编程语言都以英语为主,对母语非英语的人来说学习编程的第一步都是学习英语,这增加了普及编程知识和培养编程人才的难度。设计非英语的编程语言有利于不同国家和不同教育水平的人学习编程知识和技术。近年来随着移动互联网的兴起,人们更加依赖智能手机,对应用程序的需求也越来越多。在智能手机上使用汉字编程,对于只会中文的人而言可以提高程序可读性,降低编程难度。虽然开发一款智能手机的应用程序并不难,但是在不同操作系统上开发同一款应用则需要使用不同的开发环境,这样做开发周期很长,所以跨平台编译器就显得非常方便和重要。本文的主要内容是设计汉字编程语言,开发对应的中文云编译器和改进MoSync跨平台编译系统。汉字编程语言的文法使用BNF(Backus-Naur Form)格式定义,支持汉字定义变量名和函数名,可以进行四则运算和逻辑运算,表达式类型包括赋值语句、循环语句和条件语句,同时还支持自定义函数和函数调用。中文云编译器由客户端和云端两部分组成,客户端基于MoSync编译系统和PhoneGap框架实现,以HTTP格式向云端发送源代码;云端部署编译器的词法分析、语法分析、类型检查和虚拟机,其中词法分析使用Unicode编码,语法分析输出抽象语法树结构的中间代码,类型检查负责检查中间代码的数据类型和表达式结构是否合法,虚拟机能够把中间代码翻译成一组可执行的指令序列。MoSync是基于虚拟机的跨平台编译系统,它根据不同平台输出不同格式的可执行文件。本课题改进了MoSync编译系统的打包输出模块,增加了统一的数字签名,不论任何平台都能够输出统一格式的可执行文件。本课题的工作包括:设计了一套完整的汉字编程语言文法,实现了跨平台运行的中文云编译器,能够分析汉字编程语言,实现在智能手机上编程;改进了MoSync跨平台编译系统,使下载和安装应用更加便捷。