汉字编程语言的跨平台编译研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:lys520168
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
一直以来计算机编程语言都以英语为主,对母语非英语的人来说学习编程的第一步都是学习英语,这增加了普及编程知识和培养编程人才的难度。设计非英语的编程语言有利于不同国家和不同教育水平的人学习编程知识和技术。近年来随着移动互联网的兴起,人们更加依赖智能手机,对应用程序的需求也越来越多。在智能手机上使用汉字编程,对于只会中文的人而言可以提高程序可读性,降低编程难度。虽然开发一款智能手机的应用程序并不难,但是在不同操作系统上开发同一款应用则需要使用不同的开发环境,这样做开发周期很长,所以跨平台编译器就显得非常方便和重要。本文的主要内容是设计汉字编程语言,开发对应的中文云编译器和改进MoSync跨平台编译系统。汉字编程语言的文法使用BNF(Backus-Naur Form)格式定义,支持汉字定义变量名和函数名,可以进行四则运算和逻辑运算,表达式类型包括赋值语句、循环语句和条件语句,同时还支持自定义函数和函数调用。中文云编译器由客户端和云端两部分组成,客户端基于MoSync编译系统和PhoneGap框架实现,以HTTP格式向云端发送源代码;云端部署编译器的词法分析、语法分析、类型检查和虚拟机,其中词法分析使用Unicode编码,语法分析输出抽象语法树结构的中间代码,类型检查负责检查中间代码的数据类型和表达式结构是否合法,虚拟机能够把中间代码翻译成一组可执行的指令序列。MoSync是基于虚拟机的跨平台编译系统,它根据不同平台输出不同格式的可执行文件。本课题改进了MoSync编译系统的打包输出模块,增加了统一的数字签名,不论任何平台都能够输出统一格式的可执行文件。本课题的工作包括:设计了一套完整的汉字编程语言文法,实现了跨平台运行的中文云编译器,能够分析汉字编程语言,实现在智能手机上编程;改进了MoSync跨平台编译系统,使下载和安装应用更加便捷。
其他文献
随着不断增长的分布式多媒体应用的需求,以及Internet上商业化应用的飞速发展,对网络的服务质量(QoS:Quality of Service)提出了更高的要求,高效的QoS支持变得越来越重要。IE
进入二十一世纪以来,随着互联网的迅速发展,我国网络游戏出版业取得了长足发展,逐渐成为互联网出版业和互联网信息服务业新的增长点。游戏产业已经成长为新兴产业。东北大学网络
Internet规模迅速扩大,但其基于TCP/IP协议的体系结构一直沿用至今,虽然这种结构是非常成功的,但它依旧存在不少缺陷,其中最为突出的问题之一就是其体系结构所依赖的模型使其
随着计算机技术尤其是多媒体技术和互联网技术的蓬勃发展,消费类电子产品、通信设备、电视电影广播、计算机技术正日益紧密地结合起来,计算机与通信、娱乐业融合的趋势不可逆
目前移动通信技术仍在不断发展,新的技术、新的设备、新的业务不断出现,又使得移动通信网的维护和管理变得日趋复杂;而在通信网建设超前,管理网建设滞后的情况下,没有强大而
XML一出现,就在Web服务以及数据库中得到了充分的应用,并且成为各种应用程序中交换和处理数据的重要格式。本文就XML和数据库尤其是Oracle数据库之间进行数据格式互换,以及在C++
社会信息网络普遍存在于现实世界中的许多领域,比如微博网络、电子邮件网络、科学合作网络等等。在现实生活中,这些网络通常以社区的形式组合在一起,社区结构具体表现为一组顶点
随着网络技术的飞速发展,核心交换技术不断提高,千兆局域网方案逐步得到普及。作为保障网络安全的重要手段之一,入侵检测系统不可避免的受到高速网络的影响。现有的入侵检测
随着城市道路交通的复杂化以及车辆的剧增,交通拥塞情况越来越严重,车辆导航系统越来越受到人们的重视,路径导航也成为热门的研究方向。目前对车辆路径导航系统的研究主要从静态
电子现金是纸币的电子化,是由电子现金公司(银行)发行的,并承诺其价值的序列密码。电子现金作为一种理想的支付工具具有成本低、安全性高、离线交易等特点。本论文在Brands电