#!/bin/sh TEMP="`mktemp`.c" echo 'int main () {' \ > $TEMP echo -n 'unsigned char *ptr = malloc(sizeof(unsigned char) * ' \ >> $TEMP cat $1 \ | grep -oe '\(<\|>\)' \ | awk 'BEGIN { count = 0 ; tot = 0; } />/ { count += 1; } / tot) tot = count; count -= 1 } END { print tot }' \ >> $TEMP echo ');' \ >> $TEMP cat $1 \ | grep -oe '\(+\|-\|<\|>\|\.\|\,\|\[\|\]\)' \ | sed 's|+|++*ptr;\n|g' \ | sed 's|-|--*ptr;\n|g' \ | sed 's|>|++ptr;\n|g' \ | sed 's|<|--ptr;\n|g' \ | sed 's|\.|putchar(*ptr);\n|g' \ | sed 's|,|*ptr = getchar();\n|g' \ | sed 's|\[|while (*ptr) {\n|g' \ | sed 's|\]|}\n|g' \ >> $TEMP echo '}' \ >> $TEMP gcc $TEMP -o $2 rm -f $TEMP