版权归原作者所有,如有侵权,请联系我们

[科普中国]-开放式编程语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

开放式编程语言(Open Programming Language ,OPL)是一种用于运行Symbian操作系统的便携式设备的嵌入式编程语言。

用法它可以在诺基亚9200,9300和9500 Communicator系列移动电话/个人数字助理(PDA)和索尼爱立信P800,P900,P910系列上找到。 在经典的Psion PDA(如Series 3,5 / 5mx,Series 7和netBook / netPad)以及MC218上,OPL是标准应用套件的一部分。 OPL也包含在Psion Teklogix工业手持设备中,例如Workabout mx。 OPL是一种类似于BASIC的解释语言。 完全兼容Visual Basic的语言OVAL也已经开发完成。

历史该语言最初被称为组织者编程语言,由Psion Ltd为Psion Organizer开发。由Colly Myers设计,由Richard Harrison和Martin Stamp实施的第一次迭代。第一个实现(没有图形)是原始的Psion Organizer(称为Psion Organizer I,1984),它与Science,Finance和Math数据包捆绑在一起。作为Psion Organizer II(1986)中的内置软件,它变得真正可用,并且该语言继续用于Psion Series 3和更高版本。 Psion从便携式数字助理市场退出后,该项目推迟到2003年,当时刚刚起步的Symbian开发人员计划将其作为开源软件发布。该语言在opl-dev项目的SourceForge上开发1。

Symbian OS v8及更高版本无法使用该语言,主要原因是主要Symbian授权商诺基亚和索尼爱立信缺乏兴趣和支持。因此,OPL很可能永远不会用于新一代Symbian OS手机如索尼爱立信P990,M600,W950,P1i和诺基亚E61i和E90。截至2010年,我们鼓励诺基亚设备开发人员使用Python代替S60。

例子以下是Hello world程序的控制台版本:

PROC main: PRINT "Hello World!" PAUSE 40ENDP这里是诺基亚Series 80用户界面的GUI版本:

CONST KKeyEnter%=13PROC hello: dINIT "Hello" dTEXT "","Hello World!" dBUTTONS "OK",KKeyEnter% DIALOGENDPOPL是一种结构化编程语言。 OPL程序包含PROCed,它与其他编程语言中的函数非常相似。

在这个例子中,dINIT关键字初始化一个对话框(直观地说,所有对话框相关的函数都以字母'd'开头;为了清楚起见,这个字母是小写字母,但是该语言与案例无关)。 对话框的第一个参数是一个可选的字符串,用于标题栏中显示的对话框的标题。

dTEXT函数显示带有两个必需参数的文本:一个左对齐的“提示”字符串和一个主字符串。

dBUTTONS关键字允许您在对话框上放置按钮 - 这里有一个带有文本“OK”的按钮。 每个按钮的第二个参数既是该按钮的快捷键的特殊标记,又是对话框的返回码,在本例中为“Enter”键。

最后,在屏幕上显示先前初始化的对话框需要DIALOG关键字。

测试对话响应一个例子:

PROC test: dINIT "Your Challenge" dTEXT "","Will your answer to this question be no?" dBUTTONS "Yes",%y,"No",%n IF DIALOG=%y PRINT "No it wasn't!" ELSE PRINT "Yes it was!" ENDIF GET ENDP在这个残酷的疑问程序中,Yes按钮被分配了Ctrl + y的快捷键,而No则有Ctrl + n,分别由%y和%n表示。 在IF语句中测试DIALOG的用户输入,并在屏幕上打印适当的响应。请注意,“GET”关键字在不使用对话框的情况下获取用户输入,此处仅用于在终止程序之前等待按键(否则它将立即结束,而无需为用户提供读取文本的时间)。 DIALOG的输出也可以存储在变量中。

必须使用LOCAL关键字声明特定于过程的变量; 全局变量是用GLOBAL关键字定义的。

变量类型下表使用了一个名为'var'的示例变量。

|| ||

细节OPL通过操作系统CALL与先进的Psion Series 3功能接口,但在后来的Psion Series 5mx中,这被更改为存储在系统ROM(Z驱动器)中的所谓'OPX'库。 还为诺基亚9210,诺基亚9300和诺基亚9500通讯器提供了“OPX”库,增加了OPX例程来处理短信和管理蓝牙通讯。

其他OPL功能包括那些在开始时带有字母'g'的图形功能; 菜单上带字母'm'的那些; 和那些带有字母'd'的对话框。

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学