O语言是一款中文计算机语言(或称套装),各部分开发状态:
O汇编语言(简称OASM,√)
O中间语言(简称OML,√)
O高级语言(简称OXX,×)
界面描述语言(简称OFL,√)
窗口设计(√)
目前窗口设计、界面描述语言、O中间语言已经能很好的整合在一起(1.0.2.2版),基本有VB的事件驱动和窗口设计功能(但还不能创建COM控件,自带控件也很少)。
O汇编语言
顾名思义O汇编语言也是一门汇编语言,它具有传统汇编语言的基本特点,也有与它们诸多不同之处。O汇编语言一个最大显著的特点是支持语言配置,使得它可以支持所有你想支持的语言,当然,O汇编语言的初衷是为了支持中文,所以它可以非常好的支持中文汇编。如果你已经习惯了其它英文的汇编模式,比如你喜欢用EAX、EBP类似这样的方式来命名寄存器,不要紧,只需要修改一下语言配置文件,这可以轻松做到。O汇编语言另一个显著的特点是指令使用非常直观和人性化,在不缺失汇编语言灵活性的情况下,使汇编语句的语意可以很直观地表现出来,这主要得益于用了一些象征性的符号,使得汇编语句不再是千篇一律的 (指令 寄存器,内存操作数) 这样的格式,而是更像 (寄存器 操作符 内存操作数)这样的格式,不但容易理解,而且便于记忆,使汇编语言不再那么枯燥,使人一团雾水。
当然,在这里我还是着重介绍怎么用中文来编写程序,汇编语言通常是分段的,O汇编语言也是如此,下面是O汇编语言的基本格式:
.位模式 32 ∥指明是16位、32位还是64位的代码
文本编写方式 符号编写方式
∥这里包含一些头文件和库的引用
.包含文< 文件名 > 《 》
.引用库< 库文件 > 〈 〉
∥数据段
.数据段︻
{
} ︼
∥只读段
.只读段 ﹃
{
} ﹄
∥外部引用段
.引用段 ︽
{
} ︾
∥代码段开始
.代码段︷
{
∥开始函数定义
∏主函数()
{
∥这里添加代码
}
} ∥代码段结束 ︸
首先介绍注释方式,O汇编语言使用行注释与块注释方式,并分别支持两种符号编写方式。第一种支持C语言模式的注释方式,即:以”//”双左斜杠为行注释符,以”/* */”作为块注释符。第二种方式是以‘∥’这个符号作为行注释的开始,以”「 」”这两个符号作为块注释符。在一行中只要遇到行注释符,这行内以这个符号之后的文字都被忽略,在两个注释块符号之间的所有文字也都被忽略。
// 这行内这之后的文字被忽略
/*
这些文字被忽略
*/
∥ 这行内这之后的文字被忽略
「
这些文字被忽略
」
O中间语言
O中间语言可以说是汇编语言的抽象,它和汇编语言一样,使用单句的语法,除了基本的条件句和函数调用外,基本的一条指令对应一条语句,因此,它比C语言在语法上更低级一些。这样设计的目的是为了保持底层足够大的灵活性,使前端代码比较容易地映射到中间语言。C语言毋庸置疑是很强大,Pascal语言也非常强大,但是你很难将两者代码进行相互转换,如果使用中间语言作为中间层,就能够兼容两者的语法。
与O汇编语言相比之下的特色:
1.去除了汇编中段的概念(方便调用API,仍保留“引用段”)。
2.增加了控制台和动态链接库的创建。
3.增加数组支持。
4.增加for语句,格式:设(;;;){}
5.增加do...while语句,格式:执行{}当()
6.增进循环语句。
7.增加"字符"变量。
8.去除了汇编语言中的寄存器概念。
9.增进了语法,“如果”也可以写成“若”等。
10.支持英文语句,如“函数”可写为function,如果写为if,否则写为else,.包含文写为.include等等。
12.可以直接使用O汇编的函数,须在引用段进行调用,调用方式为API的调用方式。
13.增加了指针支持。