跳轉到內容

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"
華夏公益教科書