User:Jan jelo/BF interpreter in Thue
Jump to navigation
Jump to search
This is a Brainfuck interpreter in Thue by User:Jan jelo
(input and output are unary numbers(each output wrapped by (
and )
),the value of each cell is an unbounded natural number)
{0>}+::=+{0>} {0>}-::=-{0>} {0>}<::=<{0>} {0>}>::=>{0>} {0>}[::=[{0>} {0>}]::=]{0>} {0>}.::=.{0>} {0>},::=,{0>} {0>}p+::=p+{+|>} {0>}p-::=p-{-|>} {0>}p<::=p<{<|>} {0>}p>::=p>{>|>} {0>}p[::=p[{[|>} {0>}p]::=p]{]|>} {0>}p.::=p.{.|>}o(o {0>}p,::=p,{,|>} {+|>}+::=+{+|>} {+|>}-::=-{+|>} {+|>}<::=<{+|>} {+|>}>::=>{+|>} {+|>}[::=[{+|>} {+|>}]::=]{+|>} {+|>}.::=.{+|>} {+|>},::=,{+|>} {+|>}!::=!{+|>} {+|>}|::=|{+|>} {+|>}*::=*{+|>} {+|>}q::={<1}q* +{<1}::={<1}+ -{<1}::={<1}- <{<1}::={<1}< >{<1}::={<1}> [{<1}::={<1}[ ]{<1}::={<1}] .{<1}::={<1}. ,{<1}::={<1}, !{<1}::={<1}! |{<1}::={<1}| *{<1}::={<1}* p{<1}+::={0>}+p p{<1}-::={0>}-p p{<1}<::={0>}<p p{<1}>::={0>}>p p{<1}[::={0>}p[ p{<1}]::={0>}p] p{<1}.::={0>}.p p{<1},::={0>},p *q{<1}::=q{<1}* |q{<1}::=|{<1}q !q{<1}::=!|q{<1} {-|>}+::=+{-|>} {-|>}-::=-{-|>} {-|>}<::=<{-|>} {-|>}>::=>{-|>} {-|>}[::=[{-|>} {-|>}]::=]{-|>} {-|>}.::=.{-|>} {-|>},::=,{-|>} {-|>}!::=!{-|>} {-|>}|::=|{-|>} {-|>}*::=*{-|>} {-|>}q*::={<1}q {-|>}q|::={<1}q| {-|>}q)::={-|>}q|) {<|>}+::=+{<|>} {<|>}-::=-{<|>} {<|>}<::=<{<|>} {<|>}>::=>{<|>} {<|>}[::=[{<|>} {<|>}]::=]{<|>} {<|>}.::=.{<|>} {<|>},::=,{<|>} {<|>}!::=!{<|>} {<|>}|::=|{<|>} {<|>}*::=*{<|>} *{<|>}q::={<|>}q* |{<|>}q::=q{<1}| !{<|>}q::=!|{<|>}q {>|>}+::=+{>|>} {>|>}-::=-{>|>} {>|>}<::=<{>|>} {>|>}>::=>{>|>} {>|>}[::=[{>|>} {>|>}]::=]{>|>} {>|>}.::=.{>|>} {>|>},::=,{>|>} {>|>}!::=!{>|>} {>|>}|::=|{>|>} {>|>}*::=*{>|>} {>|>}q*::=*{>|>}q {>|>}q|::=|{<1}q {>|>}q)::={>|>}q|) {[|>}+::=+{[|>} {[|>}-::=-{[|>} {[|>}<::=<{[|>} {[|>}>::=>{[|>} {[|>}[::=[{[|>} {[|>}]::=]{[|>} {[|>}.::=.{[|>} {[|>},::=,{[|>} {[|>}!::=!{[|>} {[|>}|::=|{[|>} {[|>}*::=*{[|>} *{[|>}q::={[|>}q* {[|>}q*::={<|[1}q* {[|>}q|::={<|[0}q| {[|>}q)::={[|>}q|) +{<|[1}::={<|[1}+ -{<|[1}::={<|[1}- <{<|[1}::={<|[1}< >{<|[1}::={<|[1}> [{<|[1}::={<|[1}[ ]{<|[1}::={<|[1}] .{<|[1}::={<|[1}. ,{<|[1}::={<|[1}, !{<|[1}::={<|[1}! |{<|[1}::={<|[1}| *{<|[1}::={<|[1}* p{<|[1}[::=[{0>}p +{<|[0}::={<|[0}+ -{<|[0}::={<|[0}- <{<|[0}::={<|[0}< >{<|[0}::={<|[0}> [{<|[0}::={<|[0}[ ]{<|[0}::={<|[0}] .{<|[0}::={<|[0}. ,{<|[0}::={<|[0}, !{<|[0}::={<|[0}! |{<|[0}::={<|[0}| *{<|[0}::={<|[0}* p{<|[0}[::=[{<2}p +{<2}::={<2}+ -{<2}::={<2}- <{<2}::={<2}< >{<2}::={<2}> [{<2}::={<2}[ ]{<2}::={<2}] .{<2}::={<2}. ,{<2}::={<2}, |{<2}::=*|{3>} {3>}+::=+{3>} {3>}-::=-{3>} {3>}<::=<{3>} {3>}>::=>{3>} {3>}[::=[{3>} {3>}]::=]{3>} {3>}.::=.{3>} {3>},::=,{3>} {3>}p+::=+{3>}p {3>}p-::=-{3>}p {3>}p<::=<{3>}p {3>}p>::=>{3>}p {3>}p[::=[{<2}p {3>}p]::=]{<4}p {3>}p.::=.{3>}p {3>}p,::=,{3>}p +{<4}::={<4}+ -{<4}::={<4}- <{<4}::={<4}< >{<4}::={<4}> [{<4}::={<4}[ ]{<4}::={<4}] .{<4}::={<4}. ,{<4}::={<4}, **|{<4}::=*|{3>} (*|{<4}::=(|{0>} {]|>}+::=+{]|>} {]|>}-::=-{]|>} {]|>}<::=<{]|>} {]|>}>::=>{]|>} {]|>}[::=[{]|>} {]|>}]::=]{]|>} {]|>}.::=.{]|>} {]|>},::=,{]|>} {]|>}!::=!{]|>} {]|>}|::=|{]|>} {]|>}*::=*{]|>} *{]|>}q::={]|>}q* {]|>}q*::={<|]1}q* {]|>}q|::={<|]0}q| {]|>}q)::={]|>}q|) +{<|]1}::={<|]1}+ -{<|]1}::={<|]1}- <{<|]1}::={<|]1}< >{<|]1}::={<|]1}> [{<|]1}::={<|]1}[ ]{<|]1}::={<|]1}] .{<|]1}::={<|]1}. ,{<|]1}::={<|]1}, !{<|]1}::={<|]1}! |{<|]1}::={<|]1}| *{<|]1}::={<|]1}* p{<|]1}]::={<5}p] +{<|]0}::={<|]0}+ -{<|]0}::={<|]0}- <{<|]0}::={<|]0}< >{<|]0}::={<|]0}> [{<|]0}::={<|]0}[ ]{<|]0}::={<|]0}] .{<|]0}::={<|]0}. ,{<|]0}::={<|]0}, !{<|]0}::={<|]0}! |{<|]0}::={<|]0}| *{<|]0}::={<|]0}* p{<|]0}]::={0>}]p +{<5}::={<5}+ -{<5}::={<5}- <{<5}::={<5}< >{<5}::={<5}> [{<5}::={<5}[ ]{<5}::={<5}] .{<5}::={<5}. ,{<5}::={<5}, |{<5}::=*|{6>} {6>}+::=+{6>} {6>}-::=-{6>} {6>}<::=<{6>} {6>}>::=>{6>} {6>}[::=[{6>} {6>}]::=]{6>} {6>}.::=.{6>} {6>},::=,{6>} +{6>}p::={6>}p+ -{6>}p::={6>}p- <{6>}p::={6>}p< >{6>}p::={6>}p> [{6>}p::={<7}p[ ]{6>}p::={<5}p] .{6>}p::={6>}p. ,{6>}p::={6>}p, +{<7}::={<7}+ -{<7}::={<7}- <{<7}::={<7}< >{<7}::={<7}> [{<7}::={<7}[ ]{<7}::={<7}] .{<7}::={<7}. ,{<7}::={<7}, **|{<7}::=*|{6>} (*|{<7}::=(|{0>} o*o::=~* o(o::=~( o)o::=~) {.|>}+::=+{.|>} {.|>}-::=-{.|>} {.|>}<::=<{.|>} {.|>}>::=>{.|>} {.|>}[::=[{.|>} {.|>}]::=]{.|>} {.|>}.::=.{.|>} {.|>},::=,{.|>} {.|>}!::=!{.|>} {.|>}|::=|{.|>} {.|>}*::=*{.|>} {.|>}q*::=*{.|>}qo*o {.|>}q|::=qo)o{<1}| {.|>}q)::={.|>}q|) i::=::: {,|>}+::=+{,|>} {,|>}-::=-{,|>} {,|>}<::=<{,|>} {,|>}>::=>{,|>} {,|>}[::=[{,|>} {,|>}]::=]{,|>} {,|>}.::=.{,|>} {,|>},::=,{,|>} {,|>}!::=!{,|>} {,|>}|::=|{,|>} {,|>}*::=*{,|>} {,|>}q*::={,|>}q {,|>}q|::=qi{<1}| {,|>}q)::={,|>}q|) PROGRAM::=++++++++[-<+++++++++>]<. ::= (|{0>}pPROGRAM!q)