#! /bin/sh if [ ! -d tmp ]; then mkdir tmp fi SS="SS_NF" FUNC="NFUNC" for f in nf rf do TABLE="tmp/${f}_table" H="tmp/${f}.h" C="tmp/${f}.c" TOKENS="tmp/${f}_tokens" SCAN="tmp/${f}_scan" rm -f "$TABLE" "$H" "$C" "$TOKENS" "$SCAN" delim=":" ls "$f" | while read x do name=$(basename $x .c) NAME=$(echo ${f}_${name} | tr '[:lower:]' '[:upper:]') read j out in desc < "${f}/$name.c" echo "{ $NAME, { \"$name\", $SS, $out, $in, ${f}_$name, \"$desc\" }}," >> "$TABLE" echo "double ${f}_$name( const Node *, const Cell *);" >> "$H" cat "${f}/${name}.c" >> "$C" echo "%token $NAME" >> "$TOKENS" printf "$name\t\t{ yylval.ival = $NAME; return $FUNC; }\n" >> "$SCAN" delim="|" done SS="SS_RF" FUNC="RFUNC" done