summaryrefslogtreecommitdiff
path: root/prolog/problems/algol/algol_for_3/en.py
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@fri.uni-lj.si>2016-05-22 17:48:30 +0200
committerTimotej Lazar <timotej.lazar@fri.uni-lj.si>2016-05-22 17:48:30 +0200
commitbbcb29a202436fc0e222e187f1fadf0b1f305465 (patch)
treefed504361df37c4ce01b5b13c1082d5f3234de79 /prolog/problems/algol/algol_for_3/en.py
parent4973979e40dfdc26dafe1cdeddf8e0bce859ba5d (diff)
Prolog: update denotational_semantics problems
Diffstat (limited to 'prolog/problems/algol/algol_for_3/en.py')
-rw-r--r--prolog/problems/algol/algol_for_3/en.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/prolog/problems/algol/algol_for_3/en.py b/prolog/problems/algol/algol_for_3/en.py
new file mode 100644
index 0000000..2f46d36
--- /dev/null
+++ b/prolog/problems/algol/algol_for_3/en.py
@@ -0,0 +1,18 @@
+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 = {}