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 = {}
|