表格格式编程方法

阅读:203发布:2022-03-21

专利汇可以提供表格格式编程方法专利检索,专利查询,专利分析的服务。并且适用于利用多种语言并通过因特网和网络环境下载的表格格式编程方法提供了一个用于定义定制表达式的可选表格(103,200),一个用于规定多任务应用的可选表格(105,260),一个用于规定标号的打印字格式的可选表格(104,230)以及一个与路径表(116)交互作用的配置状态表(113)。一个可选限定表(112)定义了一种输入配置状态的限定条件。 硬件 实施包括一个用于处理表格格式编程过程并释放主处理器用于其它应用的 协处理器 。在编程过程中,程序员提供了用户定制标号来描述所需的功能和操作。这些标号还可用于其它程序组中开发。,下面是表格格式编程方法专利的具体信息内容。

1.一种由计算设备执行的计算机程序,此计算机程序的编写方法包 括具有x种配置状态的第一表格,所述配置状态中的至少一种定义了一个 或多个限定条件;
规定了y个路径的第二表格,当满足所述第一表格中列出的一个限 定条件时,执行所述路径中的至少一个;所述程序还包括下述表格中的至 少一个:
(1)一个规定了用于表示一种编程语言的相应预定义指令的用户 定制表达式的表格;
(2)一个定义了关键字的可取字格式的表格;
(3)一个用m种任务状态定义n个任务的有效性的表格,所述任 务状态中的至少一种规定了k个有效的选定任务;
(4)一个用p种任务状态定义q个任务的表格,所述任务状态中 的至少一个规定了将被服务的有效任务的优先权;
(5)一个定义了x个限定表达式的表格,每个限定表达式表示一 种配置状态的一个限定条件;以及
(6)一个定义了y个输出表达式的表格,每个输出表达式表示一 种配置状态或所述第二表格中列出的一个路径元素的一个输出条件。
2.如权利要求1所述的计算机程序,其特征在于,用存储在用于存 储数字数据的存储装置中数据来表示。
3.如权利要求2所述的计算机程序,其特征在于,该程序被嵌入用 于销售商品的计算设备中。
4.一种用于对响应一个或多个限定条件执行一个或多个路径的计算 设备进行编程的编程方法;所述编程方法最少包括步骤:
(1)规定x种配置状态;
(2)规定一个或多个限定条件到至少一种配置状态,
(3)规定y个由所述计算设备执行的路径;
(4)分配z个标号来表示步骤(3)中的一个或多个路径元素,其 中z是一个大于等于1的整数;
(5)对于步骤(2)中的每个限定条件,当满足一个特定限定条件 时,就规定步骤(3)中的一个将被计算设备执行的路径;
(6)将配置状态中的至少一种规定为有效配置状态;
(7)为步骤(4)中的每个分配标号,定义一个用所述标号表示的 可执行程序。
5.如权利要求4所述的编程方法,其特征在于,步骤(4)中的标号 最初不能被所述计算设备执行并且另一步骤(7)被配置成能够被所述计 算设备执行所述标号。
6.如权利要求5所述的编程方法,其特征在于,还包括识别不能被 所述计算设备执行的所述标号以用于构成步骤(7)的程序的步骤。
7.如权利要求4所述的编程方法,其特征在于,用包括表格格式编 程语言在内的任何可用编程语言来构成步骤(7)的程序。
8.如权利要求7所述的编程方法,其特征在于,还包括定义用于在 步骤(1)到(6)所表示的程序和标号所表示的可执行程序之间传递参数 的装置的步骤。
9.如权利要求4所述的编程方法,其特征在于,还包括规定指向于 所述x种配置状态中的至少一种的一个或多个输出条件的步骤。
10.如权利要求4所述的编程方法,其特征在于,在一个路径或一种 配置状态中规定了至少一个输出条件。
11.如权利要求4所述的编程方法,其特征在于,还包括识别所述计 算设备管理其状态和路径所需的资源的步骤。
12.如权利要求4所述的编程方法,其特征在于,还包括指示所述计 算设备用于构成步骤(7)的程序的资源的步骤。
13.如权利要求4所述的编程方法,其特征在于,所述计算设备由两 个或多个处理器构成;通过第一处理器提供管理特定状态和路径的资源并 利用第二处理器资源运行步骤(7)的程序的至少一部分。
14.如权利要求4所述的编程方法,其特征在于,所述计算设备被定 义为第一计算设备;所述编程方法还包括通过通信连接从与所述第一计算 设备距离遥远的第二计算设备接收表示上述步骤的数字数据的步骤。
15.如权利要求4所述的编程方法,其特征在于,至少部分所述步骤 按照表格格式进行组织。
16.如权利要求15所述的编程方法,其特征在于,还包括将步骤(1) 和(2)的配置状态分成一个或多个表格的步骤。
17.如权利要求15所述的编程方法,其特征在于,配置状态或路径不 必按照顺序彼此依次列出。
18.如权利要求4所述的编程方法,其特征在于,还包括将配置状态 和路径说明转换成存在所述计算设备中的数字数据以便用于执行的步骤。
19.如权利要求4所述的编程方法,其特征在于,还包括用于转换利 用不同格式的第二编程语言的所述步骤的至少部分说明的步骤。
20.如权利要求4所述的编程方法,其特征在于,还包括用于识别由 所述步骤构成的程序位置的步骤。
21.如权利要求7所述的编程方法,其特征在于,步骤(7)的程序是 一个位于由权利要求1中的步骤构成的程序之外的程序。
22.如权利要求21所述的编程方法,其特征在于,还包括用于识别所 述外部程序位置的步骤。
23.如权利要求4所述的编程方法,其特征在于,还包括用于形成一 个独立的用于规定由步骤(1)到(7)构成的程序是有效还是无效的表格 的步骤。
24.如权利要求4所述的编程方法,其特征在于,还包括用于分配一 个表示一种配置状态的标号的步骤。
25.如权利要求4所述的编程方法,其特征在于,还包括用于分配一 个表示一个路径的标号的步骤。
26.一种用于对执行多个程序的计算设备进行编程的编程方法,包括 步骤:
(1)规定n个可由所述计算设备执行的程序;
(2)定义m种任务状态,每种任务状态规定k个有效的选定程序, 其中k是一个大于等于0的整数;以及
(3)规定步骤(2)中的一种任务状态为有效任务状态。
27.如权利要求26所述的编程方法,其特征在于,至少一个程序是一 个表格格式程序,包括:
x种程序配置状态,所述配置状态中的至少一种定义了一个或多 个限定条件;
y个由所述计算设备执行的路径;以及
当满足一个特定的限定条件时,所述计算设备执行所述路径中的 一个。
28.如权利要求26所述的编程方法,其特征在于,步骤(1)的程序 是用不同的语言编写而成。
29.如权利要求26所述的编程方法,其特征在于,还包括用于提供一 个关键字以表示构成步骤(1)到(3)的一个表格格式程序组的步骤。
30.如权利要求26所述的编程方法,其特征在于,所述任务状态不必 按照顺序彼此依次列出。
31.如权利要求26所述的编程方法,其特征在于,步骤(1)到(3) 定义了第一任务表,所述编程方法还包括定义一个不同的第二任务表的步 骤。
32.一种用于对一个远程计算设备编程的方法,包括步骤:
(1)规定x种配置状态,所述配置状态中的至少一种定义一个或 多个限定条件;
(2)规定y个由所述计算设备执行的路径;
(3)对步骤(1)的每个限定条件,当满足一个特定的限定条件时, 规定一个由所述计算设备执行的路径;
(4)规定一种限定配置状态变成有效配置状态;
(5)将表示上述步骤的数字数据存入一个本地计算设备;以及
(6)通过通信连接将步骤(5)的数字数据下载到所述远程计算设 备中。
33.如权利要求32所述的方法,其特征在于,所述通信连接是一个网 络。
34.如权利要求33所述的方法,其特征在于,所述网络包括因特网、 内联网、外联网或LAN。
35.如权利要求32所述的方法,其特征在于,还包括将一个路径元素 指向于以不同格式的第二编程语言编写而成的程序的步骤。
36.如权利要求32所述的方法,其特征在于,还包括评估所述远程计 算设备结构的步骤和将上述步骤配置成同所述远程计算设备结构运行的步 骤。
37.如权利要求32所述的方法,其特征在于,还包括将所述步骤中规 定的至少部分数据形成一个表格格式的步骤。
38.如权利要求32所述的方法,其特征在于,还包括将表示所述配置 状态和路径的数字数据存入所述远程计算设备中以便执行的步骤。
39.如权利要求32所述的方法,其特征在于,还包括将配置状态和路 径的至少部分说明转换成不同格式的第二编程语言的步骤。
40.如权利要求32所述的方法,其特征在于,配置状态或路径不必按 照顺序依次列出。
41.一种由第一处理器和第二处理器构成的多处理器计算设备,其特 征在于,所述第一处理器用于执行一个具有m种配置状态和n个路径的表 格格式程序的至少一部分。
42.如权利要求41所述的多处理器计算设备,其特征在于,第二处理 器执行用不是表格格式的第二语言编写而成的程序。
43.如权利要求42所述的多处理器计算设备,其特征在于,第二处理 器用于执行一个由所述第一处理器执行的表格格式程序所指导的程序。
44.如权利要求41所述的多处理器计算设备,其特征在于,所述第一 和第二处理器位于一个集成电路上。
45.如权利要求41所述的多处理器计算设备,其特征在于,处理器之 一可执行的至少一个指令不同于另一个处理器可执行的指令集。
46.如权利要求41所述的多处理器计算设备,其特征在于,还包括用 于在所述第一和第二处理器之间传递参数的装置。
47.一种用于构成一个适于对具有m种配置状态和n个路径的表格格 式程序进行编译的编译器的方法,包括步骤:
(1)识别表示配置状态的区域;
(2)识别表示路径的区域;
(3)识别一种配置状态的至少一个限定条件并将其与具体的路径 相连接;以及
(4)将配置状态A与一个将引用所述配置状态A作为其元素的路 径相连接。
48.如权利要求47所述的方法,其特征在于,还包括用于将步骤(1) 到(4)的功能综合为一个现有语言的编译器的过程。
49.如权利要求47所述的方法,其特征在于,在步骤(1)中还包括 一个识别表示配置状态开始部分的关键字的过程。
50.如权利要求47所述的方法,其特征在于,在步骤(2)中还包括 一个识别表示路径开始部分的关键字的过程。
51.如权利要求47所述的方法,其特征在于,还包括使一个用户定制 表达式与表格格式编程语言的一个具体指令相等的步骤。
52.如权利要求51所述的方法,其特征在于,还包括识别一个使用户 定制表达式与表格格式编程语言的预定义指令集相等的表格的步骤。
53.如权利要求47所述的方法,其特征在于,还包括根据所述表格格 式程序的指令集识别不可执行的标号的步骤。
54.如权利要求53所述的方法,其特征在于,还包括将所述不可执行 的标号与一个外部程序相连接的步骤。
55.如权利要求54所述的方法,其特征在于,所述外部程序是用包括 表格格式编程语言在内的任何可用编程语言编写而成的程序组成。
56.如权利要求47所述的方法,其特征在于,还包括区分两个或多个 程序组的步骤,其中每个程序组由至少一个配置状态表和一个路径表组 成。
57.如权利要求56所述的方法,其特征在于,还包括对所述多个程序 组之间的交互作用进行编译的步骤。
58.如权利要求57所述的方法,其特征在于,还包括定义一个用于激 活一个程序组的指令的步骤。
59.如权利要求58所述的方法,其特征在于,所述指令用一个或多个 任务表表示。
60.一种对计算装置编程的方法,包括步骤:
(1)选择一种具有预先定义的指令集的编程语言;
(2)定义用于表示选定语言的一个具体指令的替换表达式;
(3)用所述替换表达式编写程序;以及
(4)将所述程序配置成所述计算装置可执行的程序。
61.如权利要求60所述的方法,其特征在于,选定的编程语言是表格 格式编程语言,包括:
x种配置状态,所述配置状态中的至少一种定义了一个或多个限 定条件;
y个能被所述计算设备执行的路径;以及
当满足一个特定限定条件时,所述计算设备就执行一个路径。
62.如权利要求60所述的方法,其特征在于,步骤(4)是一个由编 辑器、编译器、解释程序或一个翻译程序执行的翻译过程。
63.如权利要求62所述的方法,其特征在于,还包括显示用经过翻译 的选定语言的预定的指令集组成的程序的步骤。
64.如权利要求62所述的方法,其特征在于,还包括显示用用户定制 表达式组成的程序的步骤。
65.如权利要求60所示的方法,其特征在于,还包括提供一个位于程 序内部的表格以便将所述替换表达式与相应的特定指令进行链接的步骤。
66.一种用于对响应一个或多个虚拟限定执行一个或多个路径的计算 设备进行编程的编程方法,所述编程方法包括步骤:
(1)规定x种配置状态,所述配置状态中的至少一种定义了一个 或多个限定条件;
(2)定义步骤(1)中的限定条件中的至少一个以表示一个虚拟限 定;
(3)规定y个由所述计算设备执行的路径;
(4)对于步骤(1)中的每个限定条件,当满足所述限定中的一个 具体限定条件时,再规定一个由所述计算设备执行的路径;
(5)规定限定配置状态中的一个变成有效配置状态。
67.如权利要求66所述的编程方法,其特征在于,所述计算设备被定 义为第一计算设备;所述编程方法还包括通过通信连接从与所述第一计算 设备距离遥远的第二计算设备接收表示上述步骤的数字数据的步骤。
68.如权利要求66所述的编程方法,其特征在于,还包括规定一种或 多种配置状态以构成一种输出配置的步骤。
69.如权利要求68所述的编程方法,其特征在于,所述输出配置定义 了所述计算设备的一个或多个输出终端的输出条件。
70.如权利要求68所述的编程方法,其特征在于,所述输出配置定义 了由所述计算设备产生的虚拟计算输出。
71.如权利要求66所述的编程方法,其特征在于,还包括将配置状态 和路径说明转换成所述计算设备可执行的数字数据的步骤。
72.如权利要求66所述的编程方法,其特征在于,还包括用于转换利 用不同格式的第二编程语言的配置状态和路径的至少部分说明的步骤。
73.如权利要求66所述的编程方法,其特征在于,x种配置状态和y 个路径不必按照顺序彼此依次列出。
74.如权利要求66所述的编程方法,其特征在于,还包括提供一个用 于识别由所述步骤组成的程序位置的关键字的步骤。
75.如权利要求66所述的编程方法,其特征在于,还包括将步骤(1) 中的配置状态分成一个或多个表格的步骤,每个表格中有一种配置状态被 规定为有效。
76.如权利要求66所述的编程方法,其特征在于,还包括构成一个独 立的用于确定由步骤(1)到(7)组成的程序是有效还是无效的表格的步 骤。
77.如权利要求66所述的编程方法,其特征在于,还包括下列步骤:
(6)提供一个预先定义的指令集以便对路径和配置状态编程;
(7)定义用于表示步骤(6)中的指令集的一个特定指令的替换表 达式;
(8)用替换表达式编写程序;以及
(9)将所述程序配置成所述计算装置可执行的程序。
78.如权利要求77所述的编程方法,其特征在于,步骤(9)是一个 由编辑器、替换表达式和相应的特定指令执行的翻译过程。
79.如权利要求66所述的编程方法,其特征在于,还包括规定一种配 置状态为有效的步骤。
80.如权利要求66所述的编程方法,其特征在于,将一个路径定义为 在初始化时将被执行的缺省路径。
81.一种用于在一个计算设备的程序列表中识别预定类型的字 (wordings)的编程方法,包括从多种预定字格式(wording style)选 择中选择一种字格式的步骤。
82.如权利要求81所述的编程方法,其特征在于,还包括步骤:
(1)定义x种配置状态,所述配置状态中的至少一种定义了一个 或多个限定条件;
(2)定义由所述计算设备执行的y个路径;以及
(3)当满足一个具体限定条件时,向所述计算设备分配一个路径 以执行。
83.如权利要求81所述的编程方法,其特征在于,通过一个具有关键 字的表格来定义所述字格式。
84.如权利要求81所述的编程方法,其特征在于,所述预定字型被配 置成高亮度的用户定制标号。
85.如权利要求81所述的编程方法,其特征在于,还包括形成两组或 多组用户定制字格式并且其中一组被定义为有效的步骤。
86.一种用于对响应一个或多个限定条件执行一个或多个路径的计算 设备进行编程的编程方法;所述编程方法包括步骤:
(1)规定x种配置状态,其中x是一个大于等于1的整数;
(2)规定一个或多个到于所述x种配置状态中的至少一种的限定 标号;
(3)使步骤(2)中的限定标号指向一个用于描述限定条件或所述 标注所表示的条件的独立的表达式;以及
(4)规定y个可执行路径,其中响应步骤(3)中规定限定条件来 执行至少一个路径。
87.一种计算装置,包括:
用于执行一个程序的计算装置;
用于访问于一个远程计算设备相连接的通信连接的装置;以及
用于存储所述计算装置或所述远程计算设备所执行的数字数据的存 储装置;其中所述数字数据包括具有x种配置状态和y个路径的表格格式 程序表示;所述配置状态中的至少一种定义了一个或多个限定条件;而在 满足一个提单限定条件时,所述计算装置执行所述路径中的一个。

说明书全文

技术领域

发明涉及一种通过填写不同种类的表格来实现编程功能和便于控制 程序流的对计算设备进行编程的方法。

本发明通常涉及一种编程工具,该编程工具被设计成程序员与计算机 之间的接口。这种编程方法工具广泛使用表格来表达程序员的逻辑思维过 程并使编程过程更易于为他人所理解。因此,这些改进提高了编程效率, 减少了出现程序故障和结构错误的机会。另外,一个程序员学习这种编程 方法所需的培训成本是最低的。将来任何程序员都能够很容易地读懂和维 护依据本发明而编写的程序。

背景技术

传统的编程语言定义一组编程指令和编程规则。诸如BASIC、C和JAVA 之类的通用编程语言是按照从上到下逐行顺序列表的形式编写程序。在很 多应用程序中,需要编写几百页代码来描述要求的作业功能。要求一个程 序员从很长的程序列表中指出一个程序的逻辑流程是非常困难的。因此, 程序的长短为将来的维护工作带来了困难。除此以外,多页充满了代码行 序列的程序很难被以前没有涉及此作业的其他程序员所理解。虽然已经利 用了大量的压缩指令或编程符号,但以不同编程语言编写而成的程序的长 短仍超出了一个专业程序员能够容易理解的范围。在很多情况下,一个程 序的原作者会发现经过了一个较长的时期之后,他也很难理解他或她本人 所编写的程序。压缩指令集的要求与可读性是彼此矛盾的。因此非常需要 一种编程方法,该方法能够提供压缩的程序长度并易于被其他程序员及非 专业人员所理解。
每次发明一种新的编程语言时,都定义编码符号和指令集来描述一个 程序功能。还定义规则来限制如何使用编程指令以便计算设备能够翻译和 执行利用该方法编写而成的程序。在很多情况下,为了确证所有这些指令 集并向程序员讲述编程规则,用以描述一种编程语言的指令手册超过了两 英寸厚。利用几个月来培训一个程序员学会所有的指令集并理解一种新编 程语言的所有编程规则是非同一般的。通常是通过数年的编程经验而学到 更多的编程技巧。
虽然很多编程语言允许一个程序按照该作业的结构要求来提供条件跳 转、调用功能或分支到程序的其它分段,但是一个专业的程序员在花费了 大量时间阅读该程序之后仍很难解释这些交互式分支操作在程序结构中的 逻辑流程。
市场上提供了各种可用的编程语言,每种专用于一种特定应用或按照 特殊的编程环境而设计。许多其他的编程语言被设计成程序指定硬件配置 或系统。在很多情况下,不同的编程语言使用不同的符号或表达式来表示 一个描述相似功能的指令。一个程序员在学习了多种分别具有不同格式和 指令表达式的编程语言之后,对于应当使用什么符号或表达式经常会感到 混淆不清。因此非常需要一种能够使程序员克服这些困难的新的编程方 法。
由于大多数编程语言被设计成在其指定的应用环境中能够最佳地解释 编程功能,所以很多涉及多种功能状态的编程作业最好被分解成多个模 ,每个模块是按照其指定的环境以不同语言编写而成的。因此,非常需 要一种适用于管理以不同语言编写的程序段的集成的专用编程方法。随着 因特网的普及,非常需要一种通用的编程方法,该方法适用于协调不同格 式的编程模块以形成一个组合程序,并适用于将程序下载到与主计算机距 离遥远的单个本地计算机上。对于这种类型的应用,程序必须是压缩的并 且能够根据不同本地计算机的种类进行自重构。
专利号为US5,867,818的美国专利最先引入了一种用以对一个具有多 个输入和输出端子的硬件控制器芯片进行编程的原始表格格式方法。本申 请指向在发明这种原始结构之后进行的进一步研究中所实现的各种改进。

发明内容

本发明面向学习一个通用模块结构的方法以便利用表格格式编程的概 念来对一个计算设备进行编程。本发明的一个目的是创建用以指导计算设 备操作的编程方法的一个通用模块并组建该模块以使普通人员无须接受专 业培训即可使用该模块。本发明的另一个目的是创建一个编程模块使得以 这种格式编写的任何程序易于被不具有编程语言方面的经验的其他人员所 理解或者可包含在已被编写的程序中。本发明的另一个目的是创建一个功 能通过编码过程而清楚地标识编程作业的结构的编程模块,从而能够花费 最少的量来维护该程序。其结果是,能够相当多地减少学习一种编程语 言的培训成本、编写程序的时间成本、调试程序的时间成本以及修改程序 的维护成本。通过一种用户友好的编程结构,希望在编程过程中出现较少 的编程错误,从而减少调试所需的时间成本。
本发明的另一个目的是创建一种结构编程格式,该格式能够清楚地表 达该作业的骨架结构并使该单个具有特定功能的程序模块以选定的最适于 该功能的任何语言编写。这种方法进一步提高了编程效率并减少了将来维 护工作的工作量。
本发明的编程方法包括以程序数据填写两个以上表格的步骤。各种类 型的表格被设计成用以执行不同的支持功能。一个表格被定义为一个数据 矩阵。一个表格可以是一维或多维的。通常用m行和n列表示一个表格矩 阵,其中m和n是大于等于1的整数。可用一个标签、一个表达式或一组 表达式来表示表格的每个元素。
在本发明的第一实施例中,编程方法引入了任务表的概念,任务表包 括一个用于控制多个任务的操作的数据表格。一个程序中可能存在一个以 上的任务表并且每个表格由一种或多种任务状态构成。在编程过程中无论 何时指定一种任务状态,都可以定义所指定的任务的状况和/或操作。而且 任务优先权信息可包括在操作任务表或由该计算设备的另一个单独表格以 便在以计算设备的共享资源运行多个任务的同时分配处理优先权。
在本发明的基本方面,形成一个表格来定义包括输入和/或输出信息在 内的一种或多种配置状态。当满足了一种配置状态的输入限定条件时,将 以另一个被称为事件表或路径表的表格中所表示的一系列特定操作作为响 应。将至少一种配置状态指定为有效状态。用于微控制器的表格格式编程 方法的最早版本在美国专利US5,867,818中有所描述。本申请是面向多年 的研究对基本概念的各种改进以扩大该技术的服务范围。
在本发明的另一个实施例中,形成另一个表格来定义触发一种限定符 配置状态所需的限定条件。在本发明中,首次引入了虚拟限定符的概念。 一个虚拟限定符被定义为表示来自一个物理硬件终端的任何限定条件。在 考虑到由一个软件指令所造成的结果或由整个软件程序造成的结果时,虚 拟限定符是非常重要的。虚拟限定符还涉及计算设备内部的硬件,如内部 寄存器的溢出。其可通过一个内部软件或硬件中断的结果,一个标记的产 生、极性信号、表示存在来自另一个系统的数据或存在一个标记的信号而 被触发。虚拟限定符的另一个通用例子是一个鼠标驱动程序的输出,它可 以指示一个指针随鼠标的移动而移动的方向。
在本发明的另一个实施例中,形成一个表格来定义一个输出状态的输 出配置。该输出状态可以是一个将通过一个物理硬件终端而被发送的信号 或一种虚拟计算输出状态的配置。虚拟计算输出状态被定义成任何一种不 描述硬件终端的操作的输出状态。虚拟计算输出状态的一个例子是触发一 个软件程序开始运行,或设置用于控制一个软件的特殊条件参数,或触发 软件以操作某些特定功能。
当获得合格的触发时,执行一个相应的操作。路径表或事件表是用于 将一个或多个相应操作进行分组的表格。一个路径可表示在接收到合格条 件时所要执行的一个操作或一系列操作。一个路径可被另一个路径初始 化。这个相应的操作或操作序列被称为一个路径方程(path equation)。 状态表与路径表的交互式组合与状态图所示的事件结构相似。除此以外, 表格格式编程还提供了一种能够更好地反映出人类思维的程序表示方式, 从而使其对用户更为友好。为了更好地表达程序流的描述内容,可根据程 序员的意愿为路径表中的每个路径分配一个有意义的标号。一个有意义的 命名标号可被分配给一个配置状态或一个路径。所有这些标号将帮助程序 员或其他人员理解所编写的程序的操作和逻辑流程。这是本发明的一个重 要贡献,有助于解释编译程序和减少将来的维护成本。
所发明的编程方法中所包含的另一个表格将一个输出状态下的输出条 件指向于一个特定的操作序列。可用另一个表格来表示这个序列以便简化 编程过程。
本发明中所引入的另一种类型的表格使程序员能够将表格格式编程语 言的表达式和/或语法变成所需的其它形式的表达式或符号。所包括的其它 表格定义了一组或多组程序库或外部程序以支持编程工作。
表格格式编程方法的支持之下,传统的编程过程被大大改变。当开 始结构编程作业时,程序员用状态和路径表对程序流的骨架结构进行交互 式的描述。程序员可自由地分配有意义的标号或名称以便表示每种配置状 态和路径。对每种状态配置和路径方程的有意义命名将有助于描述程序的 流程。当包括在一个路径中的一个操作难以用可得到的指令集表达或最好 用另一种语言的程序模块来描述该操作时,程序员自由地分配一个有意义 的标号来表达这个所需的操作。在编程过程的结尾,程序员应当为所分配 的每个未定义标号提供可执行的程序模块。以这种方式,通过交互式地组 织多组表格而形成了程序模块。一个具有至少一个状态表和一个路径表的 程序模块被称为一个程序组。可向每个程序组分配另一个有意义的标号以 便描述程序模块的功能。然后在需要跳转或功能调用时,这个标号可用于 另一个程序模块或程序组以指向此程序组。为方便起见,将在程序开始时 所执行的缺省的第一个程序组称为“main”程序组。在每个程序组中,应 当具有一个“start”路径,用作在初始化程序或缺省启动程序时的启动路 径。为了改善编程效率,可用不同于主程序组中所用的表格格式编程方法 的语言来构成支持程序模块。在同一程序中可使用多种不同的语言。这就 非常希望按在表格格式编程方法中具有能够在不同语言的程序模块之间传 递参数和变量为特征设计。在一个最佳实施例中,一个表格格式程序被设 计成与不同编程语言的接口并被用作在以不同语言编写的程序模块之间进 行通信的桥梁。可以说表格格式编程语言大大改变了编写程序的概念和习 惯。在一种富有逻辑和较好结构的方式下编写一个程序。通过自由地分配 有意义的标号,程序流程被尽量平滑地组合而成以便描述该编程作业。然 后每个标号与一个用任何语言编写的外部程序模块相链接。有时,可排列 成多级程序组或模块。由于每个表格格式程序组的程序长度通常非常短且 该程序具有合理的结构,从而能够容易地实现表格格式编程的上述优越 性。
对于表格格式编程来说,自由分配或使标号与指令关键字等效对于支 持多语言编程平台是非常重要的。这是由于多种语言可对同一类型的应用 程序使用不同的语法。标号的自由分配和等效特征使用户能够根据他/她的 意愿而统一标号和语法。
表格格式编程的特性使其成为一种用以增强另一种语言的编程结构的 极佳支持工具。例如,一种高级语言的编译程序可被修改成包括仅足以提 供以该语言编写而成的一个程序的骨架结构的表格格式编程函数。
由于表格格式编程方法是唯一和独立于其协同的第三种语言程序的, 所以通过只提供一个主要用于处理所有表格格式编程任务的简单表格格式 协处理器就能够简化程序管理作业。这种多处理器结构将减轻主处理器的 工作量并使其集中处理常规作业和提高尤其在多任务运行环境中的整体系 统性能。表格格式协处理器可以是一个位于主处理器外部或与主处理器共 存于同一集成电路芯片上的处理器。当表格格式编程应用于微处理器或微 控制器时,经过编译或编码的表格格式程序变成了存储在诸如ROM、EPROM 或闪速存储器之类的存储器中的用于微处理器或微控制器运行的数字数 据。然后一个由处理器和存储表格格式程序的编译形式的存储器构成的印 制电路部件被用于制造可出售的商业成品。
根据表格格式编程的结构组织,它特别适用于事件驱动的应用程序, 例如在windows环境下的编程,网站,交互式游戏或控制编程。用于事件 驱动编程中的表格格式的一个重要特征是用高度压缩的格式来表示一个程 序。大多数用于小作业的表格格式程序的长度都少于一页。证明了表格格 式编程中的一页可表示八页汇编语言程序的实验性结论是根据可用指令集 的复杂性而作出的。与很多高级语言相比,还可在相当大的程度上节省代 码的长度。这种特性使其在用作通过一个有限带宽的通信信道进行通信的 媒体时是相当经济的;在例如与网络或因特网应用中的多个本地计算机进 行通信的主系统之间。应当注意一个网络,通信连接或通信信道是指将两 个计算设备连接在一起的任何装置,包括串行端口、并行端口、USB端口、 因特网、内联网、外联网、LAN和任何使两个计算设备接口的通信装置。两 端的设备可通过有线、无线或混合连接模式进行连接。在因特网编程中, 在本地计算机执行一个下载程序之前,还需要一个估计用户计算机的系统 配置,然后调整程序设置的步骤。计算机中很多与人接口的设备配置,例 如监视器、图形卡、声音发生设备、指针控制、游戏控制器控制等都属于 将被定义的配置设置。由于因特网通信线通常是一个系统的瓶颈,所以建 议在本地计算机上执行表格格式编程的编译作业,以便利用表格格式编程 的压缩代码的优点。
图11是示出了一个本地计算机801如何与一个远程计算机803相连接 的方框图。在很多应用中,一个表格格式程序被存储在本地计算机中。根 据请求,通过一个通信连接802将该程序下载到远程计算机中。该表格格 式程序可存储在远程计算机的存储装置804中或立刻由远程计算机进行编 译。编译文件是一个用以执行远程计算机的某些预定工作的可执行文件。 这个可执行文件也可存储在远程计算机的存储装置804中。
当一个编译器被设计成用于处理表格格式编程时,着重建议使用关键 字来识别每个表格以及相应程序组的状态和位置。以任务,程序组,限定 符,状态,路径和程序库为示例关键字用于识别所示实施例中的功能表格。 应当注意表格格式编程方法的编译,翻译,解释或转换包括将表格格式程 序变换成其它程序格式,例如机器语言或任一种更高级语言的进程。该变 换进程可由用另一种编程语言编写或被一个可执行表格格式程序支持的编 译程序执行。
任务表的概念有效地提高了在多任务运行环境下进行表格格式编程的 便利性。本发明的特征如后面的权利要求所述。对计算设备的限制是指具 有计算能力的任何设备,包括计算机、微控制器、微处理器、由微控制器 或微处理器构成的印制电路部件。除计算机以外,用以支持本发明技术的 其它支持硬件包括调试硬件、诸如电缆、通信口、网络集线器之类的通信 连接以及特定的网络。表格格式程序可被显示在显示终端和印刷品上,并 可被编码为数字数据。表示该表格格式程序的编码数字数据被存储在诸如 RAM、ROM、磁盘驱动器和CD ROM之类的任何存储设备中。实施例中所用的 技术术语、关键字和标号只是作为例子,它可具有各种变形和修改,并且 能够容易地预见到表格格式的重新排列可达到相同的效果,所有这些特征 都包含在后述的权利要求范围内。结合附图的详细说明更有利于本发明的 理解。
为了充分利用本发明技术的有益之处,用户需要为计算机预处理操作 进行精心的准备。典型的计算机预处理操作包括分析程序作业说明,将方 案简化为表格格式的相关状态图。在提高程序结构清晰度的同时引入表格 格式程序组需要用户在开始应用编程技术之前清楚地识别和定义方案的具 体功能模块。由于表格格式编程方法的优点,另一个接口说明过程需要确 证表格格式程序组或模块的接口关系以便为一组程序员分配编程作业。在 网络通信或下载应用中,计算机预处理操作涉及通过一种通信连接或网络 向一个远程计算机发送表格格式程序。
通过表格格式编译器执行处理中的计算机操作,该编译器将表格格式 程序翻译成本地计算机、目标微控制器或远程计算机可执行的代码。后一 计算机操作通常是目标计算机或微控制器可执行的代码。这个可执行代码 还可被计算机或微控制器运行以便根据原始的编程说明来执行功能。编译 后的可执行代码通常存储在诸如RAM、ROM、任何可编程非易失性存储器之 类的存储装置或任何其它商业可用的存储设备中。在微控制器作为消费品 的情况下,用于存储编译后的可执行文件的存储装置通常位于出售品中而 不是位于编译计算机中。在这种情况下,编译计算机只是作为一个开发系 统或远程计算设备的程序供应方。

附图说明

图1示出了表格格式程序的一个实施例的结构。
图2A是用于定义等效于用户定义表达式的表格格式表达式的表格。
图2B示出了如何将一个名称分配给图2A所示的表格。
图3是用于定义将被识别的字的不同打印格式的表格。
图4是示出了一个任务表的不同任务状态的实施例。
图5A是示出了一个程序中的多个任务表的实施例。
图5B是图5A的数字化表示。
图6A是示出了一个表格格式组的一个实施例的程序。
图6B是图6A的实施例的另一种开发形态。
图7是示出了所包括的文件列表的表格。
图8是图7所示的表格的另一种形态。
图9示出了用于表格格式编程中的一些建议长度和描述性的指令命 令。
图10示出了现有技术中用于声音发生微空制器中的基本表格格式程 序。
图11是示出了一个本地计算机通过一种通信连接将一个表格格式程 序下载到一个远程计算机中的方框图。

具体实施方式

在下面整个详细描述中,所有附图中的相同附图标记表示相同的元 素。
首先参照图10中所示的由美国专利US5,867,818公开的基本表格格 式编程。该表格格式程序由用以对一个声音发生可编程控制器编程的两部 分构成:一个状态表和一个路径表。在状态表的第二行中,定义了控制器 的相应输入触发引脚的顺序。状态0到状态4中的每一个定义了控制器的 一种可能触发状态。例如,R:Path1元素指向于状态0的TG1,表示如果 检测到一个上升沿(用“R”表示),则执行命名Path1的路径。在Path1 中,有效状态改变到状态1,之后产生一个名为“Sound1”的声音。在发出 该声音之后,控制返回Path1并开始另一个循环的声音发生序列,直到在 State1状态中由TG1接收到一个下降沿触发(用F:Path11表示)为止。 这个程序例示出了TG1到TG4的“level hold”功能。即,当压下TG1到 TG4中的一个时,将产生一个声音。声音将是循环发生的,直到放开触发按 钮为止。
下面参照图1,图1示出了一个改进后的表格格式程序实施例中所选 定的一个表格的结构。关键字101表示程序的开始。程序员在关键字下面 的位置上指定了程序名。关键字106表示一个列出了所包括的程序模块的 表格的开始部分。关键字107表示一个定义了该程序中所用常量的表格的 开始部分。关键字102对程序中所用的变量进行说明。关键字103是一个 列出了用户定义的等效命令和语法表达式的表格。为了使程序关键字是可 区分的,程序员可利用关键字104在表格的开始部分定义关键字的打印格 式。上述所有特征是为表格格式程序做准备工作。任务表105提供了一种 或多种任务状态,用以定义哪个任务是有效的、暂停的或终止的。程序组 111由一个可选的限定表112,至少一个状态表113和一个路径表116组成。 实际的程序作业由状态表和路径表的内容交互构成。可附加输出状态表115 和输出方程表以便进一步定义程序的输出状态。最后,附加一个程序库表 121以便提供通用的命令串和子程序。应当注意上述所有表格无须按顺序排 列并且很多表格的建立只是为了提供可选的特征。另外,一个程序可包含 多个相同类型的表格,如任务表和状态表的情况。可在关键字冒号之后随 意指定表格的名称以便更好地体现该程序的含义。表格格式编程中所用的 关键字可多于一个字并且可以用指令、具体的变量、常量和系统硬件来表 示。应当注意所提供的关键字只是举例说明,还可使用其它的关键字名称。 除此以外,对表格的范围进行合理的改进是可能的,应将其视为本申请的 保护范围之内。
现在参照图2A,表格100代表图1中的表格103的具体例子。关键字 201“定制表达式(Custom Expression)”表示这个功能表的开始部分, 该表列出了等效于正规表格格式表达式的用户定义表达式。例如,假设逻 辑AND功能的正规表格格式表达式是203所指的“AND”;一个习惯用C语 言编程的程序员可随意地用202所示的C语言指令集中的“&&”来代替表 格格式命令“AND”。定制表达式适用于语言或系统设置的任何字或符号, 例如指令命令、符号和系统关键字。建议每次在定义一个替换表达式时提 供一个注释204。这个功能的优点在于为程序员提供个人化的支持,以便总 可以使用惯用的符号或表达式。但是,当打印所编写的程序时,编译器或 编辑器最好以正规表达式打印出程序清单以便于其他人员阅读。对程序编 辑器亦是如此。只要键入用户定义的表达式,将可以显示出正规的表达式。 还建议在预定的正规或用户定义的表达式之间提供一种转换功能,使用户 可以选择是以正式的形式还是以定制的形式显示或打印程序。利用这种用 户定制表达式的特征,在保持程序员使用缩写的表达式或较短的符号来表 示指令命令和语法的同时,还可利用有意义的长表达式名称使程序清单对 其他人员而言更具有可读性。利用公知的查表方法,在表格格式程序中建 立正式的语法组和相应的用户定义的等效语法和标号组。一个典型的应用 实例如图9所示,图中列出了一些较长的描述性指令集。移位操作符“BIT SHIFT LEFT”和“BIT SHIFT RIGHT”清楚地描述了所要执行的操作。但是, 这些指令对于有经验的程序员来说太长和不受欢迎。程序员将“BIT SHIFT LEFT”指令等效于C语言中的简洁而描述性较差的“<<”指令。长的指令 名使使程序易于理解但对有经验的程序员来说是无用的。“定制表达式” 表在保持长指令表达式的优点的同时有效地解决了这个问题。
由于QWERT键盘上可用的符号是非常有限的,因此从键盘上很难发现 足够的有意义符号来组成一种新的象表格格式编程方法那样与其它某些通 用记号和符号的传统用法不相矛盾的编程方法。通过使用户能够按照自己 的意愿重构指令和符号,定制表达式表可作为一种解决此问题的方式。
元素210示出了了如何将一个名称“MySign”分配给“客户表达式” 表。当为了使一个以上的用户操作或阅读程序而提供一组以上的“客户表 达式”表时,特别需要一个名称。例如,除了包括在程序中的表“MySign” 以外,另一个名为“JohnsSign”的定制表可被加到同一个程序中。如果John 想要阅读该程序,只需将“JohnsSign”表达式表设为缺省显示表,John将 可以以他所喜欢的格式来显示该程序。此表的新特性使每个用户都包括他 们自己的定制表达式设置,以便于按照他们喜欢的格式来转换或编辑程 序。
尽管图2A所示的表格提供了一种重构关键字和表达式的方法,但需要 一种为一个小作业提供另一种语言的替换表达式或命令的简单方法。这是 可以通过在用该语言规定的表达式前指定一个表示该语言的符号来实现 的。图2B示出了如何用二进制数00001111屏蔽(mask)寄存器A的内容 以便于得到寄存器A最后四位的内容,然后进一步显示这个数字。表达式 216以元素“(C:&&)”来表示“&&”指令是一个“C”语言指令。然后 利用一个预定义的“Display”命令来显示寄存器A的屏蔽值。可替换地, 利用一个微处理器的汇编语言中的“&”指令可得到执行同一功能的表达 式。标记“A:()”是一个表示括号中的操作是以汇编语言编写而成的表 达式。尽管这两种方法都很方便,但是仍没有图2A中所示的能够使一个全 程序的个人化表示式是被转换或个人化的定制表达式表功能强大。
由于表格格式编程中涉及用户指定的大量的分立标号,并且这些标号 分散在程序中并与关键字和指令命令相混合,因而对于一个阅读该程序的 用户来说,难以从其它关键字和指令命令中识别出这些标号。因此最好提 供用以识别这些标号的装置以便使该程序对用户更为友好。图3示出了一 个控制如何表现用户分配标号的程序表。表元素234提供了可选择的情况。 可用于选择的典型情况包括首字母、所有大写字母和所有小写字母。表元 素239表示可选择的字母类型。典型的可选择类型包括黑体、斜体和下划 线。应当注意元素234和239都为包括黑白打印机在内的各种显示设备提 供了卓越的识别功能。关键字231表示用于定义程序部分的识别类型的开 始部分。建议在关键字231后面设置一个由用户分配的名称以便表示下面 的设置最适用于某个特定的人员。在程序中可包括多个依据个人喜好而分 配的识别类型表,并且可为每个表分配一个用元素232表示的名称。选择 其中一个识别类型表可将打印格式设置成适用于正在阅读该程序的特定用 户。
为了表示在多任务运行环境下具有较好结构的程序流,在图4所示的 实施例中引入了一个任务控制表(此后称为任务表)。元素261是用于识 别一个任务表的关键字。元素262是一个对任务表命名的标号。提供这个 名称是为了在需要两个或多个任务表时与其它任务表相区别。元素263、264 表示可在任务表的控制下运行的不同任务或程序。任务表的每一行表示一 个任务状态。在每种任务状态下,指定一种任务条件以表示每种任务的运 行条件。下面列出了用以描述一种任务条件的表达式的几个例子:
Start:表示不论该任务或程序是正在运行、中止或已经结束,都从头 开始重新运行该程序;
Continue:表示如果一个任务已经开始运行,则继续运行之;
Pause:表示任务或程序被置于中止状态;
Run:表示如果一个任务还没有开始运行,则开始运行之;如果一个任 务或程序正在运行,则继续运行之;如果一个任务被中止,则恢复该任务 的运行;
X:表示结束该任务的运行。
在行265,任务的名称为“Task Status1”,它指示“Main”程序开 始运行而程序2到n都处于结束状态。在任务状态268,指示所有的程序运 行。应当注意对每个任务表来说,在任何时刻只有一个任务状态被指定为 有效。在具有有限资源的系统中,向正在运行的有效任务指定优先权是非 常重要的。任务状态273和274为任务们分配优先权。应当注意可以建立 一个独立的表格来描述分配给任务的优先权。由于有效任务表和优先权任 务表中每一元素的开头元素是相同的,所以可以将两种类型的任务表组合 成一个任务表,如图4所示。在这种情况下,就需要两种有效任务状态, 一种用于任务有效状态,而另一种用于任务优先权分配。
图5A示出了一个介绍任务表概念下的实际应用例子。图5B是图5A 的标号表示。这个例子由三个任务表组成。第一任务表名为“Input”,如 元素301所示。它由三个分别名为“Keyboard”、“Mouse”和“Gameport” 的程序组成。“Keyboard”是一个用于扫描键盘上的按键的程序。“Mouse” 是一个对鼠标的移动进行译码的程序,而“Gameport”则输入来自博弈端 口的触发信号。在名为“A11”的任务状态305中,运行三个程序以使计算 设备对三个输入设备都有响应。在名为“Norma1”的任务状态306中,则 只认可键盘和鼠标。不使用博弈端口是为了提高计算设备的服务效率。在 处于游戏模式时,名为“Game”的任务状态309变成唯一的有效程序或任 务。不使用键盘和鼠标是为了使计算设备将所有资源集中在游戏上。第二 任务表是一个名为“Ports”用于控制计算设备的串行和并行端口的表格。 名为“Device”的第三任务表如元素341所示。它控制驱动器程序操作 “CDRom”342、“HardDriveC”343和软盘驱动器。当任务状态“ReadCD” 345被激活时,CD Rom和Hard Drive C驱动器程序被激活而软盘驱动器程 序被终止。在需要硬盘驱动器全速运行的模式中,任务状态“HDFullSpeed” 346变成有效任务状态而硬盘驱动器变成唯一正在运行的设备。根据这个应 用实例,建议只对具有相似内容或相互关联的任务进行分组以形成一个共 用的任务表。应当注意在任何时候,每个任务表中只有一个任务状态被指 定为有效。
参照图6A,示出了表格格式程序的一个主程序组。该程序名为 “WebSale”,提供了一个通过因特网提供的销售程序的骨架结构。这个例 子示出了在表格格式编程环境下进行多种语言编程的概念。为了便于描述 该实施例而在程序中插入了行号。应当注意状态和路径方程不必是按照顺 序排列的。现在参照第1行。关键字“Group”表示一个表格格式组或程序 模块的开始部分。该组的名称为“Main”。将Main作为一个关键字用以表 示这个组是在开始运行该程序时所要执行的第一程序组。第2行以一个关 键字“qualifier”开始,它定义了在配置状态中所列出的限定符的限定条 件。在第3到6行,将术语“Icon”用作一个功能性命令,用于构造一个 图标并在单击该图标时触发该配置状态。在典型的表格格式编程中,按顺 序是数形成大量图标。在限定表中定义和命名每个图标。例如,当Icon(1) 指向于名称“Catalog”时,字“Catalog”被指定给第一图标并显示于其 上。实际上,一旦将一个名称指定给一个图标,其编号就是不重要的,除 非在一个程序中提到了术语“icon(n)”并且“n”是一个计算结果。第7 行定义了一个名为“FirstPage”的输入状态配置表。在这个表中指定了五 种限定符,即“Catalog”、“Purchase”、“Service”、“Home”和“Quit”。 每种限定符系指一个图标的触发,如第2行的限定表中所定义的。第一输 入限定符状态名为“Ready”,如第8行所示。在这种状态下,当接收到一 个代表图标“Catalog”的限定触发时,执行名为“P_catalog”的路径, 对其它限定符来说亦是如此。第9行示出了另一个名为“Hold1”的输入配 置状态。状态方程中的“x”表示相应的限定条件是无关条件,在该条件下 当出现限定触发时,该触发被阻塞或不需要响应。
下面参照提供了另一个名为“Response”的配置表的图6A中的第11 行。这是一个具有五个元素的输出状态配置表。前四个元素具有一个关键 字“Group:”,表示构成了一个程序组的程序。冒号后面是程序组的名称。 第一组名为“Info”,用于提供产品信息。第二组“Order”是一个指导用 户通过诸如登记信用卡号、产品号、定单数量、总量、选择之类的购买过 程,对数据加密并将定单发送到供应商进行译码的程序。第三组“Service” 提供了通用的交互式客户服务条件。第四组“Register”登记落户信息。 输出配置的最后一个元素是一个与计算设备的扬声器相连接的硬件端口 P3.1。当为这个端口分配一个代码P+时,一个正向脉冲串被发送到扬声器 并听到一个通知音。端口P3.1是一个硬件终端,因此将其分类为一个面向 硬件的输出。前四组都是面向软件的输出条件,因而被分类为虚拟计算输 出。任何与一个硬件输出无关的输出条件被定义为一个虚拟输出。虚拟计 算输出的含义包括任何用以产生数据的与终端无关的操作,信号或信息的 显示或产生,初始化程序,重起动程序,启动软件计时器,或计数器或操 作一个内部电路,如寄存器等。第12到17行是在状态表“Response”下 配置的输出状态。当一个“Run”命令出现在一个输出配置状态中时,运行 相应的组程序。当接收到一个“Continue”指令时,继续运行正在运行的 程序或者如果该程序还没有开始运行或处于暂停状态,则该程序保持空闲 状态。“x”标记表示不需要输出操作。利用这些描述,第12到17行的输 出状态的操作是一目了然的。应当注意在一个程序中可能存在一个以上的 输入或输出状态表。多个状态表简化了标格的结构并使编程作业更为容 易。但是,应当注意在任何时候,每种输入状态表中只有一种配置状态被 指定为有效。作为一种编程技巧,相互联系的输入限定符和输出条件可被 组合成一个状态表。还应当注意,如果需要,可将输入状态和输出状态组 合成一种混合状态。
第18行启动操作“Path(s)”。当路径名被一种配置状态的任何限 定符元素所引用时,每个路径定义一个或多个要执行的操作。第19行是一 个名为“Start”的路径,在执行Group时,该路径是一个缺省起始路径。 当首先起动该程序时,从所引用的所需操作中开始编程过程。开始操作 “CheckSystem”检查输入显示驱动器、物理端口之类的本地计算系统的配 置以得到运行程序可用的扬声器和系统资源。要估计的本地计算设备可用 资源包括计算机时间、寄存器个数、可用存储器的存储量、存储器配置、 所占用的计时器和计数器、可用的中断通道以及任何专用硬件电路配置。 “CheckSystem”操作中应包括一个根据系统参数重构下载程序的过程。下 一个步骤是显示第一页。在程序中仅将此操作定义为 “DisplayFirstPage”。然后产生一“滴滴”声。“Hold2”表示所有的输 出配置置于保持状态,如“Response”状态表所示。“Ready”指令始于输 入状态表“FirstPage”的“Ready”状态。在“Ready”状态中,无论何时 接收到图标“Catalog”、“Purchase”或“Service”的一个限定触发, 都执行相应路径20到22中的一个。在上述每个路径中,显示指示该操作 的窗口并启动促销程序。“BuySolicit”是一个用于请求销售公司产品的 交互式程序。在路径“P_purchase”中,操作“Hold1”和“Hold3”限制 除图标“Home”和“Quit”之外的来自本地用户终端的可允许响应。 “GreyButton”是一个用以改变图标颜色的操作,它不适用于例如由状态 命令“Hold1”所指定的图标“Catalog”、“Purchase”和“Service”。 当执行第23行的路径“Bye”时,结束程序“Terminate”和该程序。一个 意味着“程序组结束”的关键字“EOG”位于程序组的结尾,用于通知编译 器该程序组到此结束。
应当看到所讨论的编程方法根据组成状态和路径而交互式地描述了程 序操作。使用了由程序员分配的有意义的术语,如“Beep”、“CheckSystem” 和“Terminate”。这个过程就象编写一篇用以精确描述程序所需操作的论 文一样自然。
在此程序的编译过程中,很多程序员分配的术语仍然是未标识的,例 如“CheckSystem”、“DisplayFirstPage”和“BuySolicit”。这些程序 员分配的标号都是计算设备不可执行的,除非它们与一个可执行程序链 接。图6B中所示的下一个步骤就是需要进一步定义未标识标号的描述。使 这些标号可执行的典型方法是将它们与一个外部可执行程序相链接或以一 个来自程序库的程序来定义该标号。这就非常需要编译器提供一种能够识 别所有程序员分配标号的功能。该标识最好在通过一个黑白打印机打印该 程序时是可识别的。典型的最佳识别方法包括改变字母字格式和字型,如 黑体、斜体或下划线。然后分析每种未标识标号的要求并选择一种最适宜 的编程语言来编写一个程序以便提供所需的操作。
可以用任何语言,甚至另一个表格格式程序来编写支持程序。这些支 持程序被“包括”在用于编译器的程序中以使所有程序集中在一起。图6B 的第18行表示“CheckSystem”最好是一个用Java语言编写的前缀为“EJ” 的程序,其中“E”表示它是一个被包括在内的外部程序。操作 “DisplayFirstPage”最好用Visual Basic语言编写。在第19行中,操 作“BuySolicit”,一个征求购买的窗口最好来自一个局部或总程序库。 第23行表示局部程序库的开始部分。第24行是一个精心设计的路径方程, 它描述了征求客户的操作。这个操作包括执行一个用“C”编写的外部程序 “CheckRecord”和一个用Visual C++编写的程序“SolicitWindow”,以 便通过人机对话的形式征求购买产品的客户。第20行中的元素 “GreyButton”是指一个位于局部程序库中的路径,它由一个用于识别哪 个图标具有“x”标记的“C”程序和另一个用Visual Basic编写的程序用 于将这些图标变成灰暗颜色以表示这些图标不能被触发。
当建立了一个具有大量支持程序的程序库时,一个熟悉表格格式编程 的程序员可通由选择和引用各种通用支持程序来开始编程作业。图7示出 了构成一个包括窗口和收发器的程序时的引用的表示例。在这个引用表中 的支持程序是必须遵循的,并因此需要编译器排除不用于所要构成的程序 中的任何引用程序。
利用表格格式编程方法来管理用其它语言编写而成的支持程序需要更 高的技术要求,例如在程序之间传送参数和使变量相等的方法。如果不同 类型的程序是由不同的编译器翻译的,则要特别考虑对这些程序的正常管 理。所属技术领域的技术人员能够理解所公开的表格格式编程方法的优点 并建立一个编译系统来完成所需的操作。例如,在引用一个特殊外部程序 时,可分配预先定义的寄存器或存储器块来处理参数的传递。
从上述实施例中总结出表格格式编程的主要优点如下:
1.通过编写描述性际号可比较容易地编写程序。
2.程序的结构较好以致出现故障的机会很小。
3.对于硬件终端来说,简化了与虚拟软件输出的组合和对高级程序流 的影响。
4.表格格式程序提供了清楚简洁的表达方式并易于为第三者读懂。它 所提供的友好而清楚的表达对于进一步减少程序调试时间和缩减维护成本 是非常重要的。
5.表格格式编程方法使利用多种语言来构造一个程序变得更加简单。 根据应用环境和每种语言的特点来选择语言。
6.用表格格式编写的简明程序提供了较高的数据压缩率并使通过具有 有限带宽和数据处理效率的通信通道而从一个远程的主机终端到一个本地 计算设备的传输更加理想。
上述本发明的最佳实施例只是举出的例子,可以预想到各种修改、规 定的改变、表格的重排、指令和关键字的分配都能达到相同的效果,从而 这些修改和改进都应包括在后述的权利要求范围内。
本发明申请是申请日为1999年10月8日、申请号为99120898.6的同 名专利申请的一个分案申请。
本申请是1995年10月2日提交的申请号为08/538,426且专利号为US 5,867,818的美国专利的部分继续申请。在此引用此申请作为参考。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈