/* Copyright (C) 1988,2005, Shinji Kono Everyone is permitted to copy and distribute verbatim copies of this license, but changing it is not allowed. You can also use this wording to make the terms for other programs. send your comments to kono@ie.u-ryukyu.ac.jp */ /* Tokio interpreter on prolog */ /* operator definitions */ /* @ .. next */ /* #,[] .. always */ /* <> .. sometime */ :-op(1200, fy ,[(('$define')),(('$function'))]). /* macro definitions */ /* :-op(1250, xfy ,[('$clause'),('r_call')]). macro development */ :-op(1200, xfy ,[('$clause'),('$call')]). /* macro development */ :-op(1100, xfy ,[( '|' )]). /* guard */ :-op(1160, fx ,[(tokio)]). /* Tokio formula interpreter */ :-op(1150, fy , [(if),(while)]). :-op(1150, xfy , [(else)]). :-op(1150, xfy , [(do)]). :-op(1150, xfy , (then)). :-op(1150, xfy , [('&&'),( & )]). :-op(900, fx , ['<>',#,'|a|','|t|','||',beg,halt]). :-op(700, xfy , [\=,===,' = '] ). :-op(700, xfy , [:=] ). /* static assignment instanteanous */ :-op(700, xfy , [<=] ). /* temporal assignment instanteanous */ :-op(700, xfy , [<==] ). /* static temporal assignment */ :-op(700, xfy , [<-] ). /* temporal assignment */ :-op(700, xfy , [<<-] ). /* multiple temporal assignment */ :-op(700, xfy , [<--] ). /* force constrant */ :-op(700, xfy , proj ). /* projection */ :-op(700, xfy , gets ). /* repeatedly assignment */ :-op(600, xfx , to ). /* range */ :-op(150, fy , @). /* next oprator */ :-op(140, fx , *). /* variables */