summaryrefslogtreecommitdiff
path: root/prolog/problems/denotational_semantics/algol_for_3/en.py
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/denotational_semantics/algol_for_3/en.py')
-rw-r--r--prolog/problems/denotational_semantics/algol_for_3/en.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/prolog/problems/denotational_semantics/algol_for_3/en.py b/prolog/problems/denotational_semantics/algol_for_3/en.py
new file mode 100644
index 0000000..3578b71
--- /dev/null
+++ b/prolog/problems/denotational_semantics/algol_for_3/en.py
@@ -0,0 +1,19 @@
+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 = {}