diff options
Diffstat (limited to 'prolog/problems/denotational_semantics/algol_3')
-rw-r--r-- | prolog/problems/denotational_semantics/algol_3/en.py | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/prolog/problems/denotational_semantics/algol_3/en.py b/prolog/problems/denotational_semantics/algol_3/en.py index c5da13e..59a9bd2 100644 --- a/prolog/problems/denotational_semantics/algol_3/en.py +++ b/prolog/problems/denotational_semantics/algol_3/en.py @@ -6,28 +6,28 @@ slug = 'interpreter for mini-algol' description = '''\ <p>A DCG for mini-algol.</p> <pre> - % apply a function to a starting state - ?- apply([a=2], Out, fun(_In, Out, eval(a+3, _In, Out))). - Out = 5. +% apply a function to a starting state +?- apply([a=2], Out, fun(_In, Out, eval(a+3, _In, Out))). + Out = 5. - % a := a+b - % b := a-b - % a := a-b - ?- _Program = [begin,a,:=,a+b,b,:=,a-b,a,:=,a-b,end], - algol(_F, _Program, []), - apply([a=3,b=5], Output, _F). - Output = [a=5,b=3,printout=[]]. +% a := a+b +% b := a-b +% a := a-b +?- _Program = [begin,a,:=,a+b,b,:=,a-b,a,:=,a-b,end], + algol(_F, _Program, []), + apply([a=3,b=5], Output, _F). + Output = [a=5,b=3,printout=[]]. - % a := 0 - % while a < 10 do - % begin - % print(a) - % a := a+1 - % end - ?- _Program = [begin,a,:=,0,while,a,<,10,do,begin,print(a),a,:=,a+1,end,end], - algol(_F, _Program, []), - apply([a=3], Output, _F). - Output = [a=10,printout=[0,1,2,3,4,5,6,7,8,9]]. +% a := 0 +% while a < 10 do +% begin +% print(a) +% a := a+1 +% end +?- _Program = [begin,a,:=,0,while,a,<,10,do,begin,print(a),a,:=,a+1,end,end], + algol(_F, _Program, []), + apply([a=3], Output, _F). + Output = [a=10,printout=[0,1,2,3,4,5,6,7,8,9]]. </pre> ''' |