0
|
1 /*
|
|
2 Copyright (C) 1988,2005, Shinji Kono
|
|
3 Everyone is permitted to copy and distribute verbatim copies
|
|
4 of this license, but changing it is not allowed. You can also
|
|
5 use this wording to make the terms for other programs.
|
|
6
|
|
7 send your comments to kono@ie.u-ryukyu.ac.jp
|
|
8 */
|
|
9
|
|
10 /* Tokio interpreter on prolog */
|
|
11
|
|
12 /* operator definitions */
|
|
13 /* @ .. next */
|
|
14 /* #,[] .. always */
|
|
15 /* <> .. sometime */
|
|
16
|
|
17 :-op(1200, fy ,[(('$define')),(('$function'))]). /* macro definitions */
|
|
18 /* :-op(1250, xfy ,[('$clause'),('r_call')]). macro development */
|
|
19 :-op(1200, xfy ,[('$clause'),('$call')]). /* macro development */
|
|
20 :-op(1100, xfy ,[( '|' )]). /* guard */
|
|
21 :-op(1160, fx ,[(tokio)]). /* Tokio formula interpreter */
|
|
22 :-op(1150, fy , [(if),(while)]).
|
|
23 :-op(1150, xfy , [(else)]).
|
|
24 :-op(1150, xfy , [(do)]).
|
|
25 :-op(1150, xfy , (then)).
|
|
26 :-op(1150, xfy , [('&&'),( & )]).
|
|
27 :-op(900, fx , ['<>',#,'|a|','|t|','||',beg,halt]).
|
|
28 :-op(700, xfy , [\=,===,' = '] ).
|
|
29 :-op(700, xfy , [:=] ). /* static assignment instanteanous */
|
|
30 :-op(700, xfy , [<=] ). /* temporal assignment instanteanous */
|
|
31 :-op(700, xfy , [<==] ). /* static temporal assignment */
|
|
32 :-op(700, xfy , [<-] ). /* temporal assignment */
|
|
33 :-op(700, xfy , [<<-] ). /* multiple temporal assignment */
|
|
34 :-op(700, xfy , [<--] ). /* force constrant */
|
|
35 :-op(700, xfy , proj ). /* projection */
|
|
36 :-op(700, xfy , gets ). /* repeatedly assignment */
|
|
37 :-op(600, xfx , to ). /* range */
|
|
38 :-op(150, fy , @). /* next oprator */
|
|
39 :-op(140, fx , *). /* variables */
|