ADP
Programming Language ADP

English

Sourceforge.net

SourceForge.JP

Loading

チュートリアル(コード例)

Hello Wold
・コード(helloworld.p)
,printn("Hello World.");
・実行例
D:\sample>adp helloworld.p
Hello World.
ADPは、プログラムを読み込みコンパイル後、ゴール節の評価(実行)を行います。
helloworldの例では、printn述語の評価を行っています。
printn述語は組み込み述語(ライブラリに相当)で、引数の項を画面に表示します。

式(四則演算)の例
・コード(expression.p)
,$x=10 ,$y=20  ,printn( $x + $y ); # 足し算
,$x=30 ,$y=40  ,printn( $x - $y ); # 引き算
,$x=50 ,$y=60  ,printn( $x * $y ); # 掛け算
,$x=70 ,$y=80  ,printn( $x / $y ); # 割り算
,$x=90 ,$y=100 ,printn( $x % $y ); # 剰余
・実行例
D:\sample>adp expression.p
30
-10
3000
0
90
ADPは、四則演算に対応しています。

ゴール節の評価(常にANDで行っている)
ゴール節の項は、コンマ , で区切られていますが、このコンマには AND の意味があります。
以下の例を見てみましょう。

・コード(condition.p)
,$x = 10 ,$y = 20 ,$x < $y ,printn("$x is smaller than $y."); # -- (1)
,$x = 10 ,$y = 20 ,$x > $y ,printn("$x is bigger than $y."); # -- (2)

・実行結果
D:\sample>adp condition.p
$x is smaller than $y.
(1)のprintnは実行されていますが、(2)のprintnは実行されていないことが解ります。
(2)の途中にあります。
$x > $y
は条件式になりますが、$xは10で$yは20になっていますので、評価は偽になります。
この場合、以降の処理には進みません。バックトラック(後述)されます。
ADP(Prolog)では、ゴール節の項はそれぞれ評価され、真であれば次の項の評価に移り、偽であれば次の評価は行われません(バックトラックされます)。


Powered by ADP.