From 0140792c8111d2dd1cf9004f2e3e602ec34ed30a Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Sun, 25 May 2014 21:56:04 +0200 Subject: Cleanup. --- _khb_experiment/test.khs | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 _khb_experiment/test.khs (limited to '_khb_experiment/test.khs') diff --git a/_khb_experiment/test.khs b/_khb_experiment/test.khs new file mode 100644 index 0000000..54b9507 --- /dev/null +++ b/_khb_experiment/test.khs @@ -0,0 +1,76 @@ +proc_integers: + < @fd[f].n > @fd[f].nmax ? _then1 : _else1 > +_then1: + -1 >> @fd[f].qo + < _end1 > +_else1: + @fd[f].n >> @fd[f].qo + fd[f].trtmp.n := @fd[f].n + 1 + fd[f].trtmp.nmax := @fd[f].nmax + fd[f].trtmp.qo := @fd[f].qo + fd[f].n := @fd[f].trtmp.n + fd[f].nmax := @fd[f].trtmp.nmax + fd[f].qo := @fd[f].trtmp.qo + < proc_integers > + < _end1 > +_end1: + fd[f] := "" + ~ (.qo, .nmax, .n) + < @fd[f].return > + + proc_filter: + val << @(fd\@f\qi) + < @val != -1 ? _then2 : _else2 > +_then2: + < @val % @(fd\@f\n) != 0 ? _then3 : _end3 > +_then3: + @val >> @(fd\@f\qo) +_end3: + + <_end2> +_else2: + -1 >> @qo + <_end2> +_end2: + fd[f] := "" + ~ (.qo, .qi, .val, .n) + < @(fd\@f\return) > + +proc_primes: + .val << @.qi + < @.val != -1 ? _then4 : _end4 > +_then4: + @.val >> @stdout + .c := <> + | _par_1 | + .qi := @(.c\in) + +_end4: + fd\@f := "" + ~ (.val, .qi, .c) + < @(fd\@f\return) > +_par_1: + .n := @.val + .qo := @(.c\out) + + +proc_main: + .c := <> + | _par_2 | + fd\(@f+1)\qi := @(.c\in) + f := @f+1 + .return := _ret1 + +_ret1: + f := @f-1 + .tmp_retval := @(fd\(@f+1)) + fd\@f := .tmp_retval + ~(.tmp_retval) + < .return > +_par_2: + .n := 2 + .nmax := 5000 + .qo := @(.c\out) + + + -- cgit v1.2.3