跳转到内容

Scriptol/Scriptol 编程语言

来自维基教科书,开放世界中的开放书籍

Scriptol 编程语言

[编辑 | 编辑源代码]

简洁的语法

[编辑 | 编辑源代码]

C++ 语法

for(int x = 0; x < 10; x++)
{
 printf("%d\n", x);
} 


Scriptol 语法

for int x in 0 .. 9 print x

Scriptol 不需要在语句末尾使用分号。行尾也表示语句结束,除非多条语句位于同一行,在这种情况下,它们用分号隔开。如果一条指令跨两行,编译器会识别该指令。

面向目标的设计

[编辑 | 编辑源代码]

与 C 这种为有限硬件而设计,Perl 这种日积月累不断添加功能,以及其他依赖作者幻想的语言不同,Scriptol 遵循目标化的规则,并且接近计算机世界中最常用的语法,即 XML 语法。XML 带有标签,并具有类似于 C 的单行语法。Scriptol 具有单行语法(见上文),并带有标签。

for 
... 
/for

通用运算符

[编辑 | 编辑源代码]

一些编程语言使用相同的运算符来表示不同的含义。例如,C 编程语言使用 “*” 运算符来表示 “解引用” 和 “乘法”。C 编程语言使用 “&” 来表示 “取地址” 和 “二进制与”。

Scriptol 试图避免这种混淆,通过使每个运算符在其所有不同的使用方式中都具有非常相似的含义。

例如,范围运算符 “ .. ” 用于

  • 作为 “for” 循环中的范围(见上文)。
  • 作为数组或字典的区间(见数组)。
  • 作为表达式中的范围。


if x in 0 .. 9 
  print "x inside range"
/if

来自现实世界的类型

[编辑 | 编辑源代码]

在 1970 年代,C 和 Pascal 发明了与硬件相关的类型:char、long、short、char *、float 等。

Scriptol 使用与现实世界相关的类型:text、number、integer、natural、real、array、dict、dir 等。

可读性

[编辑 | 编辑源代码]

C++ 代码中复杂且难以理解的部分 ...

int x[] = { 1, 2, 3, 4 };
int i;
for(i = 0; i < 4; i++)
{
  if(x[i] == test) std::cout << test << " found" << std::endl;
} 

可以被替换为一个简单明了的 Scriptol 语句。

if test in { 1, 2, 3, 4 } print test, "found"
华夏公益教科书