summaryrefslogtreecommitdiff
path: root/prolog/problems/denotational_semantics/algol_for_3/en.py
blob: 53e5e2b0e41a685d14ffef33b2f600a1af643fa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# coding=utf-8

id = 178
name = 'algol_for/3'
slug = 'interpreter for mini-algol with for-statement'

description = '''\
<p>Extend the given DCG for mini-algol to support the for-statement. Example:</p>
<pre>
  % for a := 0 & a < 5 & a := a + 1 do
  % begin
  %   print(a)
  % end
  ?- _Program = [begin,for,a,:=,0,&,a,<,5,&,a,:=,a+1,do,begin,print(a),end,end],
      algol_for(_F, _Program, []),
      apply([a=2], Output, _F).
    Output = [a=5,printout=[0,1,2,3,4]].
</pre>
'''

hint = {}