41 lines
578 B
C
41 lines
578 B
C
/*
|
|
text to brainfuck converter
|
|
-- saves any input text inside the brainfuck registers and prints it
|
|
all out.
|
|
|
|
2004-07-22 - BeF <bef@erlangen.ccc.de>
|
|
|
|
compile hint:
|
|
lex -o text2bf.lex.c text2bf.lex.l
|
|
cc -pipe -O2 text2bf.lex.c -o text2bf -ll
|
|
*/
|
|
%{
|
|
int prevchar = 0;
|
|
%}
|
|
|
|
%%
|
|
|
|
(.|\n) {
|
|
printf("<[->+>+<<]>>[-<<+>>]<");
|
|
if (prevchar < yytext[0])
|
|
while (yytext[0]-prevchar++)
|
|
putchar('+');
|
|
else
|
|
while (yytext[0]-prevchar--)
|
|
putchar('-');
|
|
putchar('>');
|
|
prevchar = yytext[0];
|
|
}
|
|
|
|
|
|
%%
|
|
|
|
int main ()
|
|
{
|
|
int ret = yylex();
|
|
printf("<[<]>[.>]\n");
|
|
return ret;
|
|
}
|
|
|
|
|