From bbcb29a202436fc0e222e187f1fadf0b1f305465 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 22 May 2016 17:48:30 +0200 Subject: Prolog: update denotational_semantics problems --- prolog/problems/algol/algol_for_3/en.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 prolog/problems/algol/algol_for_3/en.py (limited to 'prolog/problems/algol/algol_for_3/en.py') 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 = '''\ +

Extend the given DCG for mini-algol to support the for-statement. Example:

+
+% 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]].
+
+''' + +hint = {} -- cgit v1.2.1