一直喜欢操作系统,因为这个原因后来才无意中做了程序员,但那个东西实在太大了,退而次之,做个小语言来玩玩。
基本都是来源于C/PASCAL/Oberon/BASIC/C#;用PASCAL的原因是它语法和逻辑清晰易懂,用C/C++/C#中的部分小特性,是因为这此常用也熟悉些。
另外LISP类的函数式语言虽然很先进,但更多的情况下看起来好像显的不是很自然。理想情况下,是需要实现LAMDA表达式的。
涉及到C#则只是最终语言是因为题外原因的干预,可以写程序时模拟出它的委托较简单的实现,不然最后实现事件之类的通信机制不方便,无法做图形界面的处理。
而且QT里的那种信号槽的机制实现太复杂了。但最主要的是偏向自己个人的习惯。然后最终的效果是也能方便的实现JS和XCBLIB这样在页面或界面上也能方便多线程处理的。
因为是拿来主义,名字也还没想好,但初步确定这是个类C的静态编译小语言,就先叫X吧。
--注,简单的说明:
1,为了实现简单关键字全部须大写;也不允许复杂的循环嵌套;
2,因为静态编译型语句的常用的应用领域大概也就是图型图像,硬件操作,数据库,网络几大块;所以下面的关键字尽量精减,但还是有点多;
3,下面的表内容可能会随时变化,加或减关键字(保留字)。本来循环想用VB的语法,想想为了少几个关键词还是算了。
关键字 作用
=====================
ARRAY 数组定义
BEGIN 语句
BOOLEAN 布尔类型
CONST 常量声明
CLASS 类声明
DIV 整除
DO 语句
ELSE 语句
END 语句
FUNCTION 过程声明(也叫函数或方法,但因个人偏向部分词更靠近数学上的术语;因此这里得仍然叫做函数)
INTERGER 整型
IF 语句
OF 语句
THEN 语句
TYPE 类型定义
VAR 变量定义
WHILE 语句
二,符号表(逻辑与或非,个人更喜欢AND这样的字母型式,但用了这个在数学计算时又不方便,只好扔了)
符号 作用
=====================
; 语句结束
: 类型标识
:= 赋值
= 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于
+ 加
- 减
* 乘
/ 除
, 变量分隔
( 左小括号
) 右小括号
[ 标识数组下标
] 标识数组下标
& 逻辑与
| 逻辑或
! 逻辑非
\ 转义