summaryrefslogtreecommitdiff
path: root/prolog/problems/algol/algol_if_3/sl.py
diff options
context:
space:
mode:
authorAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-05-29 19:04:26 +0200
committerAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-05-29 19:04:26 +0200
commit7bc5d05a777045dbd5c9feace7c52c074b146794 (patch)
tree8cdddfe9e34b101b44a8966e18e2634ec18e0281 /prolog/problems/algol/algol_if_3/sl.py
parent8204263c09d77c2b4a8648aa9cad1bba97a9a5f5 (diff)
Denotational semantics, part #2 (mini algol): tests and translations added.
Diffstat (limited to 'prolog/problems/algol/algol_if_3/sl.py')
-rw-r--r--prolog/problems/algol/algol_if_3/sl.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/prolog/problems/algol/algol_if_3/sl.py b/prolog/problems/algol/algol_if_3/sl.py
new file mode 100644
index 0000000..a75bcef
--- /dev/null
+++ b/prolog/problems/algol/algol_if_3/sl.py
@@ -0,0 +1,20 @@
+name = 'algol_if/3'
+slug = 'interpreter za mini-algol z if stavkom'
+
+description = '''\
+<p>Razširi podano gramatiko za jezik mini-algol, da bo le-ta podprla uporabo stavka "if-then-else".
+Privzemi, da morata obe veji (then in else) biti prisotni v stavku. Primer:</p>
+<pre>
+% if a < b then
+% print(a)
+% else
+% print(b)
+% end
+?- _Program = [begin,if,a,<,b,then,print(a),else,print(b),end,end],
+ algol_if(_F, _Program, []),
+ apply([a=3,b=5], Output, _F).
+ Output = [a=3,b=5,printout=[3]].
+</pre>
+'''
+
+hint = {}