CN1991765A - 手持终端应用程序的开发装置和方法 - Google Patents

手持终端应用程序的开发装置和方法 Download PDF

Info

Publication number
CN1991765A
CN1991765A CN 200510135993 CN200510135993A CN1991765A CN 1991765 A CN1991765 A CN 1991765A CN 200510135993 CN200510135993 CN 200510135993 CN 200510135993 A CN200510135993 A CN 200510135993A CN 1991765 A CN1991765 A CN 1991765A
Authority
CN
China
Prior art keywords
application program
source code
development
handheld terminal
compiler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200510135993
Other languages
English (en)
Inventor
李�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JINYUANJIAN COMPUTER TECHNOLOGY Co Ltd BEIJING
Original Assignee
JINYUANJIAN COMPUTER TECHNOLOGY Co Ltd BEIJING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JINYUANJIAN COMPUTER TECHNOLOGY Co Ltd BEIJING filed Critical JINYUANJIAN COMPUTER TECHNOLOGY Co Ltd BEIJING
Priority to CN 200510135993 priority Critical patent/CN1991765A/zh
Publication of CN1991765A publication Critical patent/CN1991765A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种应用程序的开发装置,该开发装置用于使用跨平台语言开发能够在多种手持终端上运行的应用程序。该开发装置包括:编辑器,用户在其上编辑源代码;编译器,用于对用户输入的源代码进行编译,生成能够跨平台运行的应用程序;模拟器,用于模拟手持终端环境,使编译器编译出的应用程序在其上模拟运行,用户通过模拟结果对源代码进行调试。通过本发明的开发装置,可以轻松地编辑、编译和调试出能够跨平台运行的应用程序。

Description

手持终端应用程序的开发装置和方法
技术领域
本发明涉及用于开发应用程序的装置和方法,尤其涉及用于使用跨平台语言开发能够在多种手持终端上运行的应用程序的装置和方法。
背景技术
文曲星以前具有的开发手段主要有6502汇编语言,GVBASIC语言和WINIDE语言(C语言)。这三种方式各有利弊,汇编语言执行速度快,但学习困难开发效率低,通用性差,需要自己编写函数,要求用户对硬件有较深入的了解;GVBASIC语言容易学习,适用的机型多,但速度慢,功能有限而且不稳定,GVBASIC语言的目标代码比汇编语言小一点,但函数很少,编程效率较汇编语言效率高很多,也要求用户对硬件有一定程度的了解;WINIDE语言容易学习,速度快,函数较丰富,运行效率较高,但也要求用户对硬件有一定程度的了解,适用的机型少。
需要一种技术,能够开发出可以在多种手持终端上运行的应用程序,能够屏蔽硬件的多样性,达到程序通用的目的。
发明内容
本发明的目的在于提供能够克服现有技术中存在的至少一种缺陷的应用程序开发装置,该开发装置使用跨平台语言开发能够在多种手持终端上运行的应用程序。其中,手持终端是诸如电子词典的低端手持终端。跨平台语言是GVmaker语言。
该开发装置包括:
编辑器,用户在其上编辑源代码;
编译器,在接收到用户输入的编译命令后,对通过编辑器编辑后的源代码进行编译,生成可以在多种手持终端中运行的应用程序;以及
模拟器,接收到用户输入的模拟命令后,模拟手持终端中的运行环境,使通过编译器编译过的应用程序在其上模拟运行。
该开发装置还包括:
用户界面模块,用于接收用户输入的命令,并显示编辑器、编译器、和模拟器的信息。
本发明还提供了应用程序的开发方法,该开发方法用于使用跨平台语言开发能够在多种手持终端上运行的应用程序。手持终端是诸如电子词典的低端手持终端。跨平台语言是GVmaker语言。该开发方法包括:
第一步骤,用户在编辑器中输入源代码;
第二步骤,使用编译器对输入编辑器中的源代码进行编译,产生可以在手持终端中运行的应用程序;以及
第三步骤,通过模拟器模拟在手持终端中的环境,使编译器编译出的应用程序在模拟环境中运行,并且用户根据模拟结果对源代码进行修改和调试。
在第一步骤中,用户可以通过用户界面模块输入源代码,输入的源代码是由GVmaker语言编写的。用户可以在编辑器中设置标签,以记忆用户想要设置的位置。
在第二步骤中,编译器对源代码进行词法分析、语法分析、语义分析、以及目标代码生成。如果有词法或语法错误时,编译器产生编译提示信息,并将其通过用户界面模块显示给用户,用户通过编译提示信息对编辑器中的源代码进行修改,编译器重新编译修改后的源代码,直到不再发生错误,生成在手持终端中使用的应用程序。
在第三步骤中,生成的应用程序在模拟器模拟的环境中运行,如果有错误,则模拟器产生提示信息,通过用户界面模块显示给用户,用户根据提示信息对源代码进行修改,重新进行编译和模拟,直到实现用户的构想或达到用户的需求。
使用本发明提供的应用程序开发装置和方法,可以容易地编写出能够跨平台使用的应用程序,可以使开发出的应用程序用于多种诸如电子词典的手持终端上运行,达到了通用的目的。
附图说明
图1是根据本发明的用于开发手持终端上使用的应用程序的开发装置100的框图。
图2是根据本发明的采用虚拟机的GVmaker技术的整体架构200;
图3是根据本发明的一个实施例的应用程序的开发装置300的框图;
图4是根据本发明一个实施例的应用程序的运行平台(手持终端)400的框图;
图5是根据本发明一个实施例的GVmaker集成开发环境的主界面;
图6是根据本发明一个实施例的GVmaker集成开发环境Windows菜单;
图7是根据本发明一个实施例的GVmaker集成开发环境分成两块面板的文件窗口;
图8是根据本发明一个实施例的GVmaker集成开发环境中的打印设置对话框;
图9是根据本发明一个实施例的GVmaker集成开发环境中的Find对话框;
图10是根据本发明一个实施例的显示在用户界面中的编译提示信息;
图11是根据本发明的一个实施例的显示在用户界面中的源代码的第5行加黑显示;
图12是根据本发明的一个实施例的显示在用户界面中的另一编译提示信息;
图13是根据本发明的一个实施例的显示在用户界面中的再一编译提示信息;
图14是根据本发明的一个实施例的模拟器界面;
图15是根据本发明的一个实施例的显示在用户界面中的模拟过程中的一个提示信息;
图16是根据本发明的一个实施例的显示在用户界面模块中的源代码中的第2行加黑;
图17是根据本发明的一个实施例的双击调试信息窗口的空白区后出现的窗口;
图18是根据本发明的一个实施例的双击调试信息窗口name列的变量名后出现的变量删除、修改窗口;
图19是根据本发明的一个实施例的调试信息窗口;
图20是根据本发明的一个实施例的另一调试信息窗口;
图21是根据本发明的一个实施例的打包工具的主界面;以及
图22是根据本发明的手持终端中使用的应用程序的开发方法的流程图。
具体实施方式
GVmaker语言是一种跨平台语言。这里所说的跨平台是指同一程序的目标代码能够不加修改地在不同硬件平台上直接运行,与可移植不同。但是,跨平台不是绝对的,而是相对的。绝对的跨平台语言要么是不存在的,要么是无用的。举例来说:有一个GVmaker程序需要20KB的内存才能运行,那么这个程序在只有8KB内存的平台上显然无法正常运行。那么为了保证所有GVmaker程序都能在8KB内存的平台上运行,是不是可以限定所有GVmaker程序只准使用8KB的内存呢?答案是,不能为了绝对的跨平台能力而限制语言本身的能力。
GVmaker的跨平台能力是由GVmaker虚拟机(GVM)来保证的。显然,如果编译器把GVmaker程序直接编译为某一种CPU的机器码是不行的。因为跨平台首先要能跨CPU。如果某种语言的程序的目标代码只能在某种CPU上运行,这样的语言是不配称为跨平台语言的。GVmaker编译器把GVmaker程序编译为虚拟机器码。虚拟机器码可以由GVmaker虚拟机识别并执行。为不同的硬件平台配备各自的GVmaker虚拟机,从而保证同一GVmaker程序的目标代码能够在不同的硬件平台上运行,也就是跨平台。
GVmaker虚拟机保证了操作的安全性,一方面防止了程序非法访问内存,另一方面防止程序执行非法或危险的指令。任何内存访问都要通过虚拟机来执行,所以虚拟机本身有能力判断哪些地址是非法的,从而防止非法访问内存。任何虚拟机代码也必须通过虚拟机才能变为真实的机器可识别指令,所以虚拟机可以过滤危险的指令。如果为GVmaker加上运行一般汇编代码的能力(类似C的内嵌汇编),就违反了跨平台原则,而且增加了语言的危险性。
为安全而增加的内存地址和代码检查会显著影响程序的速度。为了平衡这两个矛盾的原则,设计了两种虚拟机,一种虚拟机具备检查能力,称为GVmaker认证机,另一种虚拟机不具备检查能力,但是运行速度快。在GVmaker认证机上顺利通过认证的程序就可以放心地在不具备检查能力的虚拟机上快速运行了。
图1示出了开发手持终端上运行的应用程序的开发装置的框图。该开发装置100包括:编辑器102,用户在其上编辑源代码;编译器104,在收到用户输入的编译命令后,编译器对通过编辑器编辑后的源代码进行编译,生成可以在多种手持终端中运行的应用程序;以及模拟器106,在接收到用户输入的模拟命令后,模拟器模拟手持终端中的运行环境,使通过编译器编译过的应用程序在其上模拟运行。
其中,开发装置100还可以包括用户界面模块,用于接收用户输入的命令,并显示所述编辑器、编译器、和模拟器的信息。
图2示出了GVmaker技术的整体架构200。如图1所示,为了达到程序使用的通用性,GVmaker技术采用了虚拟机运行方式。编译好的程序可以在各种平台上运行,而不需要任何修改。但需要为各种平台开发虚拟机来执行GVmaker程序。
GVmaker技术的整体架构200包括:开发装置300(GVmakerIDE)和运行平台400两个部分。开发装置用于开发在运行平台上运行的应用程序。开发装置300包括:用户界面模块308、编辑器302、编译器304和模拟器306。运行平台为电子词典等低端手持终端,其包括:应用程序模块402、虚拟机404、操作系统模块406和硬件模块408。
图3是根据本发明的手持终端应用程序的开发装置300的框图。该开发装置用于使用跨平台语言开发能够在多种手持终端上运行的应用程序。其中,手持终端是诸如电子词典的低端手持终端,在此为文曲星。跨平台语言是GVmaker语言。
该开发装置300包括:
编辑器302,用户在其上编辑源代码,并将源代码显示在用户界面模块308上。用户可以在编辑器中输入源代码,并且对源代码进行修改。在编辑器中可以设置书签,书签用于记录在源代码中用户想要设置的位置。
编译器304,接收到用户通过用户界面模块308输入的编译命令后,对编辑器302编辑后的源代码进行编译,对源代码进行词法分析、语法分析、语义分析、和目标代码生成,即,将源代码转换成字节码(byte code),生成可以在多种手持终端中运行的应用程序。当在编译过程中出现错误时,编译器可以产生编译提示信息,通过用户界面模块显示给用户,用户可以根据编译提示信息对源代码进行修改。
模拟器306,接收到用户通过用户界面模块308输入的模拟命令后,模拟手持终端中的运行环境,使编译器编译好的应用程序在其上模拟运行,用户根据模拟结果对源代码进行修改、调试。
用户界面模块308,用于接收用户输入的命令,并显示编辑器302、编译器304、和模拟器306的信息。
当对源代码调试完毕后,可以通过PC连接线将编译后的应用程序(字节码文件传)送到文曲星中,作为在文曲星中运行的应用程序。
图4是根据本发明的应用程序的运行平台400的框图。运行平台包括应用程序模块402、虚拟机404、操作系统406、以及硬件模块408。
应用程序模块402,调试完毕以后通过PC连接线将应用程序(字节码文件)传送到运行平台,应用程序模块用于储存开发装置产生的应用程序。
虚拟机404,用于根据GVmaker指令集对字节码文件进行解释,并调用操作系统模块内的响应功能。
操作系统模块406,用于调用所需的硬件资源。
硬件模块408,用于执行虚拟机解释后的程序,实现运行平台的功能。
图5是GVmaker集成开发环境的屏幕截图。图6至图20是进行操作时的屏幕截图。刚进入开发装置(GVmakerIDE,GVmaker集成开发环境)时是看不到编辑器的,要启动代码编辑器,必须打开一个旧GVmaker源代码或新建一个新GVmaker程序。一个新文件建立后,代码编辑器就会自动启动。代码编辑器未启动时,Edit菜单下的很多命令都呈灰色,表明这些命令还不能执行。启动代码编辑器后,大多数命令被激活,呈黑色。注意,在GVmakerIDE中,只有黑色的菜单命令才可执行。灰色的菜单命令未被激活,不能执行。
一、以下对编辑器的操作进行描述
GVmakerIDE代码编辑器提供了足够的命令以能够简捷、方便地进行文本编辑。例如,如果想在编辑器中恢复刚刚误删的文字,只需按Ctrl+Z或选择Edit菜单下的Undo命令。
建立新GVmaker程序
GVmakerIDE能同时打开多个GVmaker源程序进行编辑。建立新GVmaker程序,只要从File菜单上选择New命令即可,或在工具栏上点击图标1。
打开已有GVmaker程序的方法包括:
1.点击工具栏上图标2。
2.按Ctrl+O。
3.从File菜单中选择Open命令。
4.在File菜单下的Recent Files列表中选择文件名。
前三种方法将打开Open对话框,后一种方法则能直接打开文件。
最近使用文件(MRU)列表
MRU列表包含GVmakerIDE代码编辑器最近读取过的四个文件。下拉File菜单,选择相应的文件名就可打开该文件。
Open对话框
如果要打开的文件不在最近使用文件列表内,必须使用Open命令,从Open对话框中选择该文件。Open对话框默认地显示当前工程目录下的文件。因此,无须太多的点击就能找到所要的文件。
查看文件
Window菜单提供一个文件列表,它包含了所有目前已打开的文件名。如图6所示,可以在Window菜单的下拉菜单中单击想编辑的文件名来切换当前编辑文件。想一次看到所有文件,如图7所示,可以在Window菜单的子菜单中选择Cascade(层叠)、Tile(垂直平铺)命令。
代码编辑器能在不同的窗口同时打开同一文件,允许用户同时查看同一文件的不同部分。图7显示了同一文件的两个窗口。文件在文本编辑器打开后,单击Window菜单下的New Window命令就可以打开同一文件的另一窗口。注意,这不同于关闭一文件后再次打开它。每一通过New Window命令产生的窗口有其各自独立的滚动条和光标,窗口的操作互不依赖。
可以通过单击New Window命令建立更多的窗口。单击Window菜单下的Tile(垂直平铺)命令则可重新布置各窗口。垂直布置同一文件的不同窗口能使用户的编辑更加方便。单击窗口可激活该窗口。
保存文件
不像Word那样,GVmakerIDE代码编辑器不会按时间间隔自动保存文件。在用户编辑时,应养成经常存盘的习惯,以免不测。当用户长时间编辑文件后,请及时存盘。可按以下方法来存盘:
1.单击File工具栏上的Save按钮3。
2.按Ctrl+S。
3.选择File菜单下的Save命令。
如果关闭一个修改过的文件,编辑器将自动提醒保存文件。而且,在编译器编译文件之前,文本编辑器会自动保存文件,这是因为编译器是从硬盘读取文件,而不是从内存中读取。
当保存一个文件时,新的文件就把原来的覆盖。要想保留原文件,可选择File菜单下的Save As命令,输入新文件名,然后保存新文件即可。
打印文件
打印当前文件,单击File菜单下的Print命令(或按Ctrl+P)打开Print对话框,如图8所示。在对话框内设置打印范围和纸张的方向、大小等。
为了确保正确打印,在打印之前单击File菜单下的PrintPreview命令,这样就可以进行打印预览。GVmakerIDE还允许设置打印格式。选择File菜单下的Page Setup命令。
可以通过按方向键或拖动滚动条来移动文件。在文本编辑器中通过这些方法来移动文件对使用过字处理器的用户来说是再熟悉不过了,在此我们也无须深入探讨诸如Cut、Copy、Paste等命令了。下面介绍的各种更高级的方法将有助于更准确、更有效地操作文件。
书签
在GVmakerIDE中可以设置10个书签,代码编辑器书签会记忆文件中设置的位置。无论光标在文本中何处,都可以迅速返回书签标识处。
书签是临时性的,只能维持到用户删除它或关闭文件的时候。它只标识整行,而不是光标的具体位置。当跳到某书签时,光标就会停留在该标识行的开始处。在GVmakerIDE中,书签的设置和删除是极其简单的。把光标置于该行任一地方,选择菜单Edit->Bookmarks,
从bookmark 0到bookmark 9任意选择,删除文件的所有书签,选择菜单。
Edit->Bookmarks->Clear all bookmarks,应该注意的是,关闭文件时会自动把所有书签删除。
查找文本
编辑器提供了两种不同的查找字符串的方式:
1.在当前文件中查找。
2.在当前文件中查找、替换。
这两种操作在文本编辑器中很普遍。注意,在下文中,文本和字符串同义。
在当前文件中查找
像大多数文本编辑器一样,GVmakerIDE编辑器能在整个文件中查找指定的文本,即具有查找功能。打开Find对话框(图9)有三种方法:
1.按Ctrl+F。
2.选择Edit菜单下的Find命令。
3.单击工具栏Find按钮4。
如图9所示,在Find What文本框中输入欲查找的字符串,按回车键或单击Find Next按钮则可开始查找。找到该字符串后,编辑器将高亮找到的字符串并返回编辑器模式,按F3可以继续向前查找同一字符串。
用户还可以定义查找选项以使用户的查找更有针对性。例如:指定是否区分大小写及查找方向等,这些选项都可以在Find对话框中设定。
替换文本
如果想用其它字符串替换查找的字符串就要选择Edit菜单下的Replace命令。Replace对话框和Find对话框很相似,只不过它要求输入两个字符串。第一个文本框要求输入要查找的文本,第二个文本框要求输入用于替换的文本。如果第二个文本框是空白的话,相当于删除要查找的文本。查找到指定的字符串后,按Replace按钮即可进行替换并会自动查找到下一条相符的字符串。按ReplaceAll按钮就会把所有符合要求的字符串进行替换。
加锁文件
防止意外修改文件内容,用户可以对大当前打开的文件进行加锁,加锁后仍可以进行拷贝操作,选择菜单Edit->Read only,要解锁再次点击Edit->Read only就可以了。
二、以下对编译器的操作进行描述
1.选择Compile菜单下的Compile命令。
2.单击工具栏Compile按钮5。
以上两种方法都生成不带调试信息的GVmaker目标代码(*.lav),可以直接下载到文曲星或GVmaker模拟器上运行。当编译过程中有词法、语法错误时,在编译信息区有错误信息提示(图10)。
双击错误提示行,光标自动跳到源代码发生错误这一行,并把该行加黑显示(图11)。
注意:目前的GVmakerIDE变量,函数没有定义时提示信息是一样的,例如,把上面程序里的函数Refresh()错写成refresh()时,错误信息(图12)
当出现图13提示时,表明用户的程序没有词法、语法、语义错误,已经生成GVmaker目标代码。
三、以下是对使用模拟器进行模拟和调试的描述
为了调试一个程序,首先必须在编译过程中包含调试信息。GVmakerIDE有6种方法。
1.单击工具栏Run to cursor按钮6。
2.单击工具栏Run to next line按钮7。
3.单击工具栏Debug run按钮8。
4.选择Run菜单下的Run to cursor命令。
5.选择Run菜单下的Run to next line命令。
6.选择Run菜单下的Debug run命令。
下面用具体例子对第一种方法详细说明,例子源代码如下:
    char arr_A[20]={″ABCDEFGHIJKLMN″};
void main()

  {

   int i;

   for(i=0;i<50;i++)

  {

    TextOut(i,30,″GVMAKER DEMO″,1);

    Refresh();

    Delay(20);

  }

  Delay(1000);

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<200;i=i+5)

  {

    TextOut(rand()%160,rand()%80,″测试″,1);

    Refresh();

    Delay(50);

  }

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<200;i=i+5)

  {

    Line(rand()%160,rand()%80,rand()%160,rand()%80,1);

    Delay(50);

  }

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<200;i=i+5)

  {

    Rectangle(rand()%160,rand()%80,rand()%160,rand()%80,1);

    Refresh();

    Delay(50);

  }
        
  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<2000;i=i+5)

  {

      Point(rand()%160,rand()%80,1);

      Delay(10);

  }

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<200;i=i+5)

  {

      Circle(rand()%160,rand()%80,rand()%40,0,1);

      Delay(50);

  }

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<200;i=i+5)

  {

      Ellipse(rand()%160,rand()%80,rand()%40,rand()%40,0,1);

      Delay(50);

  }

  Block(0,0,160,80,0);

  Refresh();

  for(i=0;i<50;i++)

  {

      TextOut(i,30,″THE END″,1);

      Refresh();

      Delay(20);

  }

  }
现在,把光标定位在第12行<即B1ock(0,0,160,80,0);>,单击工具栏Run to cursor按钮5,GVmakerIDE自动带调试信息进行编译,自动启动GVmaker模拟器运行,当程序运行到第12行,模拟器暂停运行(图14),返回GVmakerIDE,编译信息窗口(图15),代码编辑窗口第12行加黑反显(图16)。
此时,用户可以查看程序中的变量值,打开添加变量窗口,有2种方法
1.双击调试信息窗口的空白区,出现如图17。
2.双击调试信息窗口name列的变量名,出现变量删除,修改窗口如图18。
现在,我们在图17的name栏里输入变量i点击OK按钮,调试信息窗口如图19。name列是变量名,value列是变量值的十进制值和十六进制值,如果要删除调试信息窗口中的变量,双击调试信息窗口name列的变量名,出现图18窗口,点击Delete按钮即可。
如果要修改变量,name栏里输入变量名(如:数组arr_A)点击Modify按钮,调试信息窗口如图20,value列显示诉诸数组各单元的值。
单步运行:当程序暂停运行时,可以单击工具栏Run to next line按钮7或9,单步运行程序以及查看变量值。
图2l是根据本发明的GVmaker打包工具的屏幕截图。
打开GVmaker打包工具后,自动建立一个空文档,添加需要的文件即可,添加文件有5种方法。
1.双击列表空白处,显示文件选择对话框,选择文件。
2.点击菜单编辑->增加,显示文件选择对话框。
3.点击工具条的图标14,显示文件选择对话框。
4.按键盘的Insert键。
5.把文件直接拉到列表处(可以选择多个文件一起拉)。
删除记录:
选择要删除的记录,高亮度显示。
1.点击工具条的图标16。
2.点击菜单编辑->删除。
3.按键盘的Delete键。
4.点击工具条的图标18删除所有记录。
修改记录:修改有2种情况。
A:修改文件:
1.双击高亮度显示的记录,显示文件选择对话框,选择文件。
2.点击菜单编辑->修改,显示文件选择对话框。
3.点击工具条的图标20,显示文件选择对话框。
B:修改文曲星路径:鼠标单击高亮度显示的记录,进入修改状态,回车确定,Esc键取消。
保存当前列表信息:
1.点击菜单文件->保存,显示文件保存对话框。
2.点击工具条的图标12,显示文件保存对话框。
打开列表信息文件:
1.点击文件->打开。
3.点击工具条的图标12。
打包:编写的GVmaker程序和一些数据文件可以打包后下载到运行平台(文曲星)使用,也可以不打包分别下载到运行平台(文曲星)上。
1.文件->打包。
2.点击工具条的图标10。
图22是根据本发明的应用程序的开发方法的流程图。该开发方法用于使用跨平台语言开发能够在多种手持终端上运行的应用程序。手持终端是诸如电子词典的低端手持终端。跨平台语言是GVmaker语言。使用包括编辑器、编译器、模拟器、和用户界面模块的开发装置,来开发能够在多种手持终端上运行的应用程序,所述开发方法包括:
步骤S100,用户通过用户界面模块将源代码输入编辑器中。
步骤S200,使用编译器对输入编辑器中的源代码进行编译,产生可以在手持终端中运行的应用程序。
步骤S300,通过模拟器模拟在手持终端中的环境,使编译器编译出的应用程序在模拟环境中运行,并且将模拟结果显示在用户界面模块中,用户根据模拟结果对源代码进行修改和调试。
在步骤S100中,用户输入的源代码是由GVmaker语言编写的。用户可以在编辑器中设置标签,以记忆用户想要设置的位置。
在步骤S200中,编译器对源代码进行词法分析、语法分析、语义分析、以及目标代码生成。如果有词法或语法错误时,编译器产生编译提示信息,并将其通过用户界面模块显示给用户,用户通过编译提示信息对编辑器中的源代码进行修改,编译器重新编译修改后的源代码,直到不再发生错误,生成在手持终端中使用的应用程序。
在步骤S300中,生成的应用程序在模拟器模拟的环境中运行,如果有错误,则模拟器产生提示信息,通过用户界面模块显示给用户,用户根据提示信息对源代码进行修改,重新进行编译和模拟,直到编译和模拟过程中不再出现错误。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种开发装置,其特征在于,所述开发装置用于使用跨平台语言开发能够在多种手持终端上运行的应用程序,所述开发装置包括:
编辑器,用户在其上编辑源代码;
编译器,在接收到所述用户输入的编译命令后,对通过所述编辑器编辑的源代码进行编译,生成可以在多种手持终端中运行的应用程序;以及
模拟器,在接收到所述用户输入的模拟命令后,模拟手持终端中的运行环境,使通过所述编译器编译过的应用程序在其上模拟运行。
2.根据权利要求1所述的开发装置,其特征在于,还包括用户界面模块,用于接收用户输入的命令,并显示所述编辑器、编译器、和模拟器的信息。
3.根据权利要求1或2所述的开发装置,其特征在于,所述手持终端是低端手持终端。
4.根据权利要求3所述的开发装置,其特征在于,所述低端手持终端是电子词典。
5.根据权利要求1或2所述的开发装置,其特征在于,所述跨平台语言是GVmaker语言。
6.根据权利要求1或2所述的开发装置,其特征在于,在所述编辑器,用户可以输入源代码并对源代码进行修改。
7.根据权利要求1或2所述的开发装置,其特征在于,在所述编辑器中可以设置书签,所述书签用于记录在源代码中用户想要设置的位置。
8.根据权利要求1或2所述的开发装置,其特征在于,所述编译器用于对源代码进行词法分析、语法分析、语义分析、和目标代码生成。
9.根据权利要求1或2所述的开发装置,其特征在于,当在编译过程中出现错误时,所述编译器可以产生编译提示信息,通过用户界面模块进行显示。
10.根据权利要求1或2所述的开发装置,其特征在于,所述模拟器用于模拟所述手持终端的环境,使所述编译器生成的应用程序在其上模拟运行,当出现错误时,所述模拟器可以产生提示信息,通过用户界面模块进行显示。
11.一种应用程序的开发方法,其特征在于,所述开发方法用于使用跨平台语言开发能够在多种手持终端上运行的应用程序,所述开发方法包括:
第一步骤,在编辑器中输入源代码;
第二步骤,使用编译器对输入编辑器中的源代码进行编译,产生可以在多种手持终端中运行的应用程序;以及
第三步骤,通过模拟器模拟在手持终端中的环境,使所述编译器编译出的应用程序在模拟环境中运行,并且根据模拟结果对源代码进行修改和调试。
12.根据权利要求11所述的开发方法,其特征在于,使用用户界面模块输入源代码并且在所述用户界面模块上显示编译和模拟结果。
13.根据权利要求11所述的开发方法,其特征在于,所述手持终端是低端手持终端。
14.根据权利要求11所述的开发方法,其特征在于,所述低端手持终端是电子词典。
15.根据权利要求11所述的开发方法,其特征在于,所述跨平台语言是GVmaker语言。
16.根据权利要求11所述的开发方法,其特征在于,在所述第一步骤中,可以在所述编辑器中对源代码进行修改,并且设置标签,以记忆用户想要设置的位置。
17.根据权利要求11所述的开发方法,其特征在于,在所述第二步骤中,所述编译器对源代码进行词法分析、语法分析、语义分析、以及目标代码生成。
18.根据权利要求11所述的开发方法,其特征在于,在所述第二步骤中,如果有词法、语法或语义错误时,所述编译器产生编译提示信息,并将其通过用户界面模块进行显示。
19.根据权利要求11所述的开发方法,其特征在于,在所述第三步骤中,使生成的应用程序在所述模拟器模拟的环境中运行,如果有错误,则所述模拟器产生提示信息,通过用户界面模块进行显示。
CN 200510135993 2005-12-29 2005-12-29 手持终端应用程序的开发装置和方法 Pending CN1991765A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510135993 CN1991765A (zh) 2005-12-29 2005-12-29 手持终端应用程序的开发装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510135993 CN1991765A (zh) 2005-12-29 2005-12-29 手持终端应用程序的开发装置和方法

Publications (1)

Publication Number Publication Date
CN1991765A true CN1991765A (zh) 2007-07-04

Family

ID=38214038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510135993 Pending CN1991765A (zh) 2005-12-29 2005-12-29 手持终端应用程序的开发装置和方法

Country Status (1)

Country Link
CN (1) CN1991765A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968745A (zh) * 2010-10-27 2011-02-09 深圳市五巨科技有限公司 一种移动终端应用程序的开发系统和方法
CN101976219A (zh) * 2010-08-19 2011-02-16 北京星网锐捷网络技术有限公司 调试自动化测试脚本的方法和系统及代理装置
CN102289378A (zh) * 2011-09-30 2011-12-21 互动在线(北京)科技有限公司 自动生成应用程序的方法
CN105022620A (zh) * 2014-04-28 2015-11-04 上海未达数码科技有限公司 一种基于移动平台的应用软件开发方法
CN103870284B (zh) * 2014-04-01 2017-09-22 广州番禺职业技术学院 手机游戏开发装置与方法
WO2018184359A1 (zh) * 2017-04-07 2018-10-11 万达百汇科技(深圳)有限公司 支付终端应用仿真方法、移动终端和可读存储介质
CN110554861A (zh) * 2018-06-03 2019-12-10 苹果公司 具有编译和读取-评估-打印-循环操作的软件开发环境
CN111176629A (zh) * 2019-12-24 2020-05-19 中国建设银行股份有限公司 一种应用开发的方法和装置
CN111427562A (zh) * 2020-03-27 2020-07-17 天津光电通信技术有限公司 一种适用于单一函数的集成开发环境编辑器
CN113760762A (zh) * 2021-09-08 2021-12-07 北京房江湖科技有限公司 小程序的运行环境模拟方法、电子设备及存储介质
CN116431157A (zh) * 2023-04-19 2023-07-14 安元科技股份有限公司 一种自动生成代码的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976219A (zh) * 2010-08-19 2011-02-16 北京星网锐捷网络技术有限公司 调试自动化测试脚本的方法和系统及代理装置
CN101968745A (zh) * 2010-10-27 2011-02-09 深圳市五巨科技有限公司 一种移动终端应用程序的开发系统和方法
CN102289378A (zh) * 2011-09-30 2011-12-21 互动在线(北京)科技有限公司 自动生成应用程序的方法
CN102289378B (zh) * 2011-09-30 2014-12-03 互动在线(北京)科技有限公司 自动生成应用程序的方法
CN103870284B (zh) * 2014-04-01 2017-09-22 广州番禺职业技术学院 手机游戏开发装置与方法
CN105022620B (zh) * 2014-04-28 2019-06-25 上海未达数码科技有限公司 一种基于移动平台的应用软件开发方法
CN105022620A (zh) * 2014-04-28 2015-11-04 上海未达数码科技有限公司 一种基于移动平台的应用软件开发方法
WO2018184359A1 (zh) * 2017-04-07 2018-10-11 万达百汇科技(深圳)有限公司 支付终端应用仿真方法、移动终端和可读存储介质
CN110554861A (zh) * 2018-06-03 2019-12-10 苹果公司 具有编译和读取-评估-打印-循环操作的软件开发环境
CN110554861B (zh) * 2018-06-03 2023-08-04 苹果公司 具有编译和读取-评估-打印-循环操作的软件开发环境
CN111176629A (zh) * 2019-12-24 2020-05-19 中国建设银行股份有限公司 一种应用开发的方法和装置
CN111427562A (zh) * 2020-03-27 2020-07-17 天津光电通信技术有限公司 一种适用于单一函数的集成开发环境编辑器
CN113760762A (zh) * 2021-09-08 2021-12-07 北京房江湖科技有限公司 小程序的运行环境模拟方法、电子设备及存储介质
CN116431157A (zh) * 2023-04-19 2023-07-14 安元科技股份有限公司 一种自动生成代码的方法
CN116431157B (zh) * 2023-04-19 2024-03-08 安元科技股份有限公司 一种自动生成代码的方法

Similar Documents

Publication Publication Date Title
CN1991765A (zh) 手持终端应用程序的开发装置和方法
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1152287C (zh) 二进制程序转换设备和转换方法
CN1725177A (zh) 嵌入式设备集成开发系统及其使用方法
CN1949187A (zh) 一种程序调测系统及方法
CN1841362A (zh) 用于处理电子表格的方法和系统
CN1591410A (zh) 集成数据处理系统
CN1728094A (zh) 智能ui记录和重放结构
CN1290901A (zh) 用于提供随机输入源生成的文本的替换方式的方法和系统
CN1495609A (zh) 在计算机生成文档中提供语境感测工具和帮助内容
CN1842081A (zh) 扩展巴克斯范式字符串模式匹配和解析的方法及装置
CN1609796A (zh) 应用编程接口(api)的设计
CN1842767A (zh) 用于多个异常处理模型的中间表示
CN1811766A (zh) 用于绑定数据的可编程性
EP2972882B1 (en) Javascript debugging using just my code
CN1773508A (zh) 把源文档转换成目标网页文件的方法
JPS63201834A (ja) オブジエクト・モジユール生成方法
CN1752934A (zh) 编译器、编译方法以及编译程序
CN100345105C (zh) 办公应用程序中用于提供内容相关帮助信息的方法和系统
TW201337755A (zh) 應用程式多語言支援系統及方法
CN1664816A (zh) 实现不同平台间信息网站移植的方法
CN1313561A (zh) 信息结构化及应用产生的方法及其装置
CN1744054A (zh) 一种自动化测试辅助系统及相应的软件自动测试方法
CN1744092A (zh) 一种自动调度逻辑仿真与代码覆盖率分析的方法与系统
CN101047555A (zh) 一种设备质量检查方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20070704