diff options
Diffstat (limited to 'prolog/problems/denotational_semantics/prog_listswap_2')
-rw-r--r-- | prolog/problems/denotational_semantics/prog_listswap_2/common.py | 18 | ||||
-rw-r--r-- | prolog/problems/denotational_semantics/prog_listswap_2/en.py | 12 |
2 files changed, 25 insertions, 5 deletions
diff --git a/prolog/problems/denotational_semantics/prog_listswap_2/common.py b/prolog/problems/denotational_semantics/prog_listswap_2/common.py index e08337d..b3da01f 100644 --- a/prolog/problems/denotational_semantics/prog_listswap_2/common.py +++ b/prolog/problems/denotational_semantics/prog_listswap_2/common.py @@ -1,10 +1,10 @@ id = 175 -number = 79 -visible = False +number = 10 +visible = True facts = None solution = '''\ -program --> [begin], instructs175, [end]. +prog_listswap --> [begin], instructs175, [end]. instructs175 --> instr175. instructs175 --> instr175, instructs175. @@ -13,3 +13,15 @@ instr175 --> [left]. instr175 --> [right]. instr175 --> [swap]. ''' + +# nothing to do in this exercise +initial = '''\ +prog_listswap --> [begin], instructs, [end]. + +instructs --> instr. +instructs --> instr, instructs. + +instr --> [left]. +instr --> [right]. +instr --> [swap]. +''' diff --git a/prolog/problems/denotational_semantics/prog_listswap_2/en.py b/prolog/problems/denotational_semantics/prog_listswap_2/en.py index ad0e9b1..89907bd 100644 --- a/prolog/problems/denotational_semantics/prog_listswap_2/en.py +++ b/prolog/problems/denotational_semantics/prog_listswap_2/en.py @@ -2,9 +2,17 @@ name = 'prog_listswap/2' slug = 'list-manipulation language' description = '''\ -<p>Write a DCG for manipulating list elements. The first symbol in every word is <code>[begin]</code>, followed by any sequence of "instruction" symbols from the set {<code>left</code>, <code>right</code>, <code>swap</code>}, and finally <code>[end]</code>. The starting symbol should be named <code>prog_listswap</code>.</p> +<p> +Write a DCG for manipulating list elements. The first symbol in every word is +<code>[begin]</code>, followed by any sequence of "instruction" symbols from +the set {<code>left</code>, <code>right</code>, <code>swap</code>}, and finally +<code>[end]</code>. The starting symbol should be named +<code>prog_listswap</code>. +</p> -<p>Example words: <code>[begin,right,swap,end]</code>, <code>[begin,right,left,end]</code>.</p> +<p> +Example words: <code>[begin,right,swap,end]</code>, <code>[begin,right,left,end]</code>. +</p> ''' hint = {} |