diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 12:41:09 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 12:41:09 +0300 |
commit | 8c042f99cc7465c86351d21331a129111b75345d (patch) | |
tree | 9656e653be0e42e5469cec77635c20356de152c2 /pc/awklib/igawk | |
parent | 8ceb5f934787eb7be5fb452fb39179df66119954 (diff) | |
download | egawk-8c042f99cc7465c86351d21331a129111b75345d.tar.gz egawk-8c042f99cc7465c86351d21331a129111b75345d.tar.bz2 egawk-8c042f99cc7465c86351d21331a129111b75345d.zip |
Move to gawk-3.0.0.
Diffstat (limited to 'pc/awklib/igawk')
-rw-r--r-- | pc/awklib/igawk | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/pc/awklib/igawk b/pc/awklib/igawk new file mode 100644 index 00000000..7c599dca --- /dev/null +++ b/pc/awklib/igawk @@ -0,0 +1,85 @@ +#! /bin/sh + +# igawk --- like gawk but do @include processing +# Arnold Robbins, arnold@gnu.ai.mit.edu, Public Domain +# July 1993 + +igs=${TMP:-/tmp}/igs$$ +ige=${TMP:-/tmp}/ige$$ + +if [ "$1" = debug ] +then + set -x + shift +else + # cleanup on exit, hangup, interrupt, quit, termination + #trap 'rm -f $igs $ige' 0 1 2 3 15 + trap 'rm -f $igs $ige' 0 2 15 +fi + +while [ $# -ne 0 ] # loop over arguments +do + case $1 in + --) shift; break;; + + -W) shift + set -- -W"$@" + continue;; + + -[vF]) opts="$opts $1 '$2'" + shift;; + + -[vF]*) opts="$opts '$1'" ;; + + -f) echo @include "$2" >> $igs + shift;; + + -f*) f=`echo "$1" | sed 's/-f//'` + echo @include "$f" >> $igs ;; + + -?file=*) # -Wfile or --file + f=`echo "$1" | sed 's/-.file=//'` + echo @include "$f" >> $igs ;; + + -?file) # get arg, $2 + echo @include "$2" >> $igs + shift;; + + -?source=*) # -Wsource or --source + t=`echo "$1" | sed 's/-.source=//'` + echo "$t" >> $igs ;; + + -?source) # get arg, $2 + echo "$2" >> $igs + shift;; + + -?version) + echo igawk: version 1.0 1>&2 + gawk --version + exit 0 ;; + + -[W-]*) opts="$opts '$1'" ;; + + *) break;; + esac + + shift +done + +if [ ! -s $igs ] +then + if [ -z "$1" ] + then + echo igawk: no program! 1>&2 + exit 1 + else + echo "$1" > $igs + shift + fi +fi + +# at this point, $igs has the program +gawk -f igawk.awk $igs > $ige +eval gawk -f '$ige' $opts -- "$@" + +exit $? |