2014-04-24 88 views
2

我有一些使用專有語言編寫的腳本。我想知道是否有類似這樣的語法的語言?什麼是語法如此的編程語言?

PROCEDURE MY_PROC_NAME DO 
    { 
     DECLARE VARIABLE ABC AS NUMBER 
     [ABC] := 123; 

     IF ([ABC] = 123) THEN 
     { 
      WHILE (TRUE) DO 
      { 
      } 
     } 
     ELSE 
     { 
      RETURN 
     } 
     #a comment 
     SomeFunction(123, 456); 
     CALL ANOTHER_PROCEDURE; 
    } 

謝謝。

+0

這並不是很多代碼。你有更多?也許有些保留字? –

+0

你的目標是什麼?按原樣運行腳本還是將它們轉換爲可以運行的另一種語言? – lhf

+0

@lhf我需要爲這種語言構建完整的解析器和分析器。所以我想如果有類似的語言,我可以在那裏使用一些免費的東西。這是一些老人寫的,所以我認爲他們應該受到一些舊語言的啓發。 – Morpheus

回答

0

看起來很像Comal。請參閱http://en.m.wikipedia.org/wiki/COMAL

+0

Comal不使用我認爲的花括號。但它非常接近。 – Morpheus

+0

我不這麼認爲。我記得Comal,這是一種簡化的Pascal。大括號是錯誤的。 –

0

這是一種命令式編程語言,在提供的示例中沒有宏,功能或面向對象的功能。它具有從Pascal(':=')和C('{}')借來的特徵。結構否則不起眼。

有一些獨特的構造。

  1. PROCEDURE name DO {}來定義一個過程(但顯然不是函數)。
  2. DECLARE VARIABLE name AS類型來定義一個變量。
  3. [ABC]引用變量的內容。

在DECLARE行上缺少分號很有趣,但可能是一個錯字。

因此,衍生語言大概可以追溯到20世紀80年代中後期。它甚至可以是Basic的一種方言(其中有很多!)。

隨着一些額外的代碼,它可能會進一步縮小範圍。