YaK:: Brainfuck Compiler in Tcl | [Changes] [Calendar] [Search] [Index] [PhotoTags] |
Try it on this program : http://www.muppetlabs.com/~breadbox/bf/factor.b.txt
e.g. save the following code as "bfc.tcl"; then do tclsh bfc.tcl <factor.b.txt >factor.c ; gcc factor.c ; echo 111 | ./a.out
puts " #include <stdio.h> unsigned char mem\[99999]; main() \{ unsigned char* p= mem+50000; \{ " while {[gets stdin b]>=0} { set b [string trim $b] regsub -all {[^]\055+<>,.[]} $b { } b puts [string map [ list < {--p;} > {++p;} + {++*p;} - {--*p;} . {putchar(*p);} , {*p=getchar();} \[ "while(*p)\{" \] "\}" ] $b] } puts " \}\} " |
See also: http://www.muppetlabs.com/~breadbox/bf/
Warning: Unchecked buffer. Only use with brainfuck programs that don't move the pointer more than the maximum allowed 30000 positions.
(last modified 2004-11-05) [Login] |