-e 's/_parse.[yl]$/_/g' \
-e 's/_tok.[yl]$/_/g'`
+ case $prefix in
+ *.y)
+ code_prefix="$(basename $prefix _gram.y)_yy";;
+ *.l)
+ code_prefix="$(basename $prefix _lex.l)_yy";;
+ *)
+ code_prefix="$prefix";;
+ esac
sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
- -e "s,$FROM,$TARGET," "$from" | sed "s/yy/$prefix/g" > "$target" || ret=$?
+ -e "s,$FROM,$TARGET," "$from" | sed "s/yy/$code_prefix/g" > "$target" || ret=$?
# Check whether header files must be updated.
if test $first = no; then