User:Jan jelo/a BF interpreter in Uiua
Jump to navigation
Jump to search
This is a Brainfuck interpreter in Uiua written by User:Jan jelo.
P ← ⍣( 0°@+ | 1°@- | 2°@< | 3°@> | 4°@[ | 5°@] | 6°@. | 7°@, | 8 ) Init ← { "\0" "\0" 0 } Lt ← ⊡0 Rt ← ⊡1 Pc ← ⊡2 Pg ← ⊡3 Op ← ⊡∩°□:Pg:Pc∘. Cur ← ⊣°□Lt Th ← ⍜(Pc|□+°□): I ← Th1⍜(Lt|□⊂↙-1⧻.:⨬(+1|@\0◌)=@\xff.⊣.°□) D ← Th1⍜(Lt|□⊂↙-1⧻.:⨬(-1|@\xff◌)=@\x00.⊣.°□) L ← Th1⍜(Rt|□⊂°□)⍜(Lt|□⨬(∘|↙-1⧻.)>1⧻.°□):⊣°□Lt. R ← Th1⍜(Lt|□⊂°□)⍜(Rt|□⨬(∘|↙-1⧻.)>1⧻.°□):⊣°□Rt. In ← Th1⍜(Lt|□⊂↙-1⧻.:⨬(∘|@\n◌)=0⧻.&sc°□) Out ← Th1&pf⊣°□Lt. FindL ← °□⊣⍢( ⨬(⨬(∘ | ⍜(⊢|□-1°□) )=5°□Op°□⊣. | ⍜(⊢|□+1°□) )=4°□Op°□⊣.⍜(⊣|□Th 1°□) | ≠0°□⊢ ) Lb ← ⨬( ⍜(Pc|□+1°□) | FindL⊂{1}□ )=@\0Cur. FindR ← °□⊣⍢( ⨬(⨬(∘ | ⍜(⊢|□-1°□) )=5°□Op°□⊣. | ⍜(⊢|□+1°□) )=4°□Op°□⊣.⍜(⊣|□Th¯ 1°□) | ≠0°□⊢ ) Rb ← ⨬( ⍜(Pc|□+1°□) | FindR⊂{¯1}□ )≠@\0Cur. Run ← ◌⍢( ⨬(I | D | L | R | Lb | Rb | Out | In | Th 1 )Op. # &pf.&pf @\n | ≠°□Pc:⧻°□Pg. )⊂Init□∵P Run $ ++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++ ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+. #Hello World!