Brainfuck/Esointerpreters

From Esolang
Jump to navigation Jump to search
This list is currently incomplete, please help add on anything that belongs.

This page contains brainfuck interpreters in other esolangs.

Standard

Exechars

(2b+1v)(2d-1v)(2ci1v)(2eo1v)(3e-1)(3c+1?1=0-1)(5b?1v=0/0)(0?5v=6-4?5v=7+4+5?0<4/0)(5d?1v!0/1)(1+4/2)(2-5?5v=6+4?5v=7-4?0<4/2)(3i5v?5v!8/4?5v=8/6)(4?5v=9/6+5/3)(6r5v-5rc+5/7)
(7^5v>0*0>a?5v=8t0?5v=9t0/av+1v-1v?1v<0/5?b<1v/8+5/7)(5r100+1v)(8^1v>0*0>arav-1v)+0-0-1+4-4rc+5r5d+6r5b+7rffff+8r21+9rff+b/3t

(Cells wrap at 256, tape is infinite in one direction, using < at cell 0 does nothing, enter the code as ASCII values separated by commas, input is the "code" after a !)
(Remove the newline when actually running)

Fueue

This interpreter simulates 8-bit cells, and makes no attempt to prepare for I/O characters larger than 255 if you should get a Fueue interpreter which takes Unicode seriously. It will treat input characters ≤0 all the same, and assumes EOF has this form, which I think so far only applies to the C interpreter. However it also supports the common ! convention for ending the code, thus allowing the brainfuck program to get input.

):[)~$)[[)[~~~~()+1])][0]$%~~1)][[)~<[)$%+-~)~~~43[)[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-
)(~)+-1*256]+-~)255:]~]]!]~][)~<[)$%+-~)~~~45[)[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$6-%0]][~~~)*[)~(:+~~-)+1]-
--256%):]~]]!]~][)~<[)$%+-~)~~~62[)[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][))(($3~)<(]~]]!]~][)~<[)$%+-~)~~
~60[)[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~]]!]~][)~<[)$%+-~)~~~91[)[)~~[)~<[<<<~(~~~<)~][)[))$
12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]
<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[[~)~~!]):]]!]~][)~<[)$%+-~)~~~93[)[[85 110
109 97 116 99 104 101 100 32 93 46H][)~[))$11~<<~:(~:<]]~)~~~]!]~][)~<[)$%+-~)~~~46[)[~:~~~)<[)~~[)$--1[)
~]<~~<)<[)$%0]][):]~]]!]~][)~<[)$%+-~)~~~44[)[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])]
[~!]]]~]]!]~][)~<[)$%+-~)~~~33[)[[)~[)[H]]~!][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~]!]~][)~<[)
$%+-~)~~~0[)[[)~[)[H]]~!][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~]!]~][)[~:)~]!]:]:]:]:]:]:]:]:]
:]:][0]~]][[0]:[[0]<:[[0]<:]][73 110 116 101 114 110 97 108 32 101 114 114 111 114 58 32 116 111 112 108
101 118 101 108 32 114 117 110 116 105 109 101 32 93 46H])~!][~)]

Funciton

Funciton/Brainfuckiton

Glass

{B[(c__)k<1>=j<1>=u<0>=][(af)/kkB!(_e)$(_e)*kv.?\k*][(ae)/jjB
!(_e)$(_e)*jw.?\j*][pu*][wk1=,][vj1=,][qu1=,]}{C[(c__)aA!iI!o
O!sS!r""(_f)ic.?=(_d)ie.?<0>ae.?=/(_d)(_f)*sa.?(_f)ic.?=(_d)i
e.?<0>ae.?=(_g)(_d)*=/(_g)(_d)(_f)*";"se.?<0>ae.?=(_g)<0>=\\=
tr*sl.?=b<0>=h$gB!][(ai)gp.?<1>as.?(_a)1<-1>ae.?=/(_a),<255>
(_a)<0>=\gq.?][(ah)(_a)b*t*a(lt).?=/(_a)h(ag).?b0*<1>a0.?=
(_a)b*t*a(lt).?=\][(ag)(_b)r*b*si.?=(_a)(_b)*"+"se.?=/(_a)h
(ad).?^\(_a)(_b)*"-"se.?=/(_a)h(ai).?^\(_a)(_b)*">"se.?=/(_a)
hy.?^\(_a)(_b)*"<"se.?=/(_a)hz.?^\(_a)(_b)*"["se.?=/(_a)h(ab)
.?^\(_a)(_b)*"]"se.?=/(_a)h(aa).?^\(_a)(_b)*"."se.?=/(_a)hx.?
^\(_a)(_b)*","se.?=/(_a)h(ac).?^\][(ad)gp.?<1>a0.?<256>a(mod)
.?gq.?][(ac)ic.?(_h)ie.?=/(_h)<0>gq.?,^\s(sn).?gq.?][(ab)(_a)
gp.?=/(_a)^\(_c)<1>=/(_c)b0*<1>a0.?=(_a)b*t*a(gt).?=/(_a)^\
(_b)r*b*si.?=(_a)(_b)*"["se.?=/(_a)(_c)0*<1>a0.?=(_a)<0>=\
(_a)(_b)*"]"se.?=/(_a)(_c)0*<1>as.?=(_a)<0>=\\][(aa)(_a)gp.?
<0>ae.?=/(_a)^\(_c)<1>=/(_c)b0*<1>as.?=(_a)b*<0>a(le).?=
/(_a)^\(_b)r*b*si.?=(_a)(_b)*"["se.?=/(_a)(_c)0*<1>as.?=(_a)
<0>=\(_a)(_b)*"]"se.?=/(_a)(_c)0*<1>a0.?=(_a)<0>=\\][zg(af).
?g1=,][yg(ae).?g1=,][xgp.?s(ns).?o0.?]}{M[m(_i)C!(_i)(ah).?]
}

Piet

here

Stringle

s "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."

a " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?""
g ":"
@g 255
g "." g

#s 

h .s h
s :s
c "c" #p
f ""
b ""
m ""
.h ">" p p "."
.h "<" p :p
.h "+" *c *c "."
.h "-" *c :*c

.h "." m "o"
m "o" k #*c
m "o" k1 #:::::::::::::::::::::::::::::::*c
m "o" k 10 $ o
m "o" k 10 o ""
m "o" k !10 g1 g
m "o" k !10 #g1 k1
m "o" k !10 g1 g1 "a"
m "o" k !10 o o *g1

.h "," m "i"
m "i" #i 0 i $
m "i" k @i
m "i" i :i
m "i" g1 g
m "i" #g1 k
m "i" *c g1

.h "[" *c "" f "."
#f
#f !0 h .s h
#f !0 s :s
#f !0 .h "[" f f "."
#f !0 .h "]" f :f
#f

.h "]" *c !"" b "."
#b
#b !0 s .h s
#b !0 h :h
#b !0 .h "[" b :b
#b !0 .h "]" b b "."
#b

#s

$ o
o ""

Textile

Textile/brainfuck

Wenyan

吾有一術。名之曰「腦」。欲行是術。必先得二言。曰「代碼」。曰「輸入」。
乃行是術曰。
	吾有一列。名之曰「带」。充「带」以零。
	有數一。名之曰「指針」。
	有數一。名之曰「代碼指針」。
	有數一。名之曰「輸入指針」。
	吾有一言。名之曰「輸出」。
	吾有一言。曰「「\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ」」。名之曰「字表」。
	恆為是。
		若「代碼指針」大於「代碼」之長者。
			乃止。
		云云。
		夫「代碼」之「代碼指針」。名之曰「命令」。
		若「命令」等於「「+」」者。
			夫「带」之「指針」。名之曰「值」。
			加「值」以一。昔之「值」者。今其是矣。
			除「值」以二百五十六。所餘幾何。昔之「带」之「指針」者。今其是矣。
		云云。
		若「命令」等於「「-」」者。
			夫「带」之「指針」。名之曰「值」。
			加「值」以二百五十五。昔之「值」者。今其是矣。
			除「值」以二百五十六。所餘幾何。昔之「带」之「指針」者。今其是矣。
		云云。
		若「命令」等於「「<」」者。
			減「指針」以一。昔之「指針」者。今其是矣。
		云云。
		若「命令」等於「「>」」者。
			加「指針」以一。昔之「指針」者。今其是矣。
			若「指針」大於「带」之長者。
				充「带」以零。
			云云。
		云云。
		若「命令」等於「「.」」者。
			夫「带」之「指針」。名之曰「值」。
			加「值」以一。昔之「值」者。今其是矣。
			夫「字表」之「值」。名之曰「字」。
			加「輸出」以「字」。昔之「輸出」者。今其是矣。
		云云。
		若「命令」等於「「,」」者。
			有數零。名之曰「编碼」。
			若「輸入指針」大於「輸入」之長者。
				昔之「带」之「指針」者。今零是矣。
			若非。
				夫「輸入」之「輸入指針」。名之曰「輸入字符」。
				夫「带」之「指針」。
				凡「字表」中之「字」。
					若「字」等於「輸入字符」者。
						乃止。
					云云。
					加「编碼」以一。昔之「编碼」者。今其是矣。
				云云。
				昔之「带」之「指針」者。今「编碼」是矣。
				加「輸入指針」以一。昔之「輸入指針」者。今其是矣。
			云云。
		云云。
		若「命令」等於「「[」」者。
			夫「带」之「指針」。名之曰「值」。
			若「值」等於零者。
				有數一。名之曰「括號」。
				有數零。名之曰「位置」。
				昔之「位置」者。今「代碼指針」是矣。
				恆為是。
					若「括號」等於零者。
						乃止。
					云云。
					加「位置」以一。昔之「位置」者。今其是矣。
					夫「代碼」之「位置」。名之曰「字符」。
					若「字符」等於「「[」」者。
						加「括號」以一。昔之「括號」者。今其是矣。
					云云。
					若「字符」等於「「]」」者。
						減「括號」以一。昔之「括號」者。今其是矣。
					云云。
				云云。
				昔之「代碼指針」者。今「位置」是矣。
			云云。
		云云。
		若「命令」等於「「]」」者。
			夫「带」之「指針」。名之曰「值」。
			若「值」不等於零者。
				有數一。名之曰「括號」。
				有數零。名之曰「位置」。
				昔之「位置」者。今「代碼指針」是矣。
				恆為是。
					若「括號」等於零者。
						乃止。
					云云。
					減「位置」以一。昔之「位置」者。今其是矣。
					夫「代碼」之「位置」。名之曰「字符」。
					若「字符」等於「「]」」者。
						加「括號」以一。昔之「括號」者。今其是矣。
					云云。
					若「字符」等於「「[」」者。
						減「括號」以一。昔之「括號」者。今其是矣。
					云云。
				云云。
				昔之「代碼指針」者。今「位置」是矣。
			云云。
		云云。
		加「代碼指針」以一。昔之「代碼指針」者。今其是矣。
	云云。
	吾有一言。曰「輸出」。書之。
是謂「腦」之術也。
注曰「「輸出輸入」」。
施「腦」於「「,[.,]」」於「「input」」。
注曰「「問天地好在(英文)」」。
施「腦」於「「++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.」」於「「」」。

By User:None1.

dbfi derivatives

StegFuck

TernLSB

Factor, Scratch is dumb, BrainZ

Because dbfi is not public domain, these programs are moved here.

Cheating

OutputF

Input
Fuck the input

Befunge/index.php

A null character separates program and input.

>~_X

See also