34 lines
799 B
Awk
34 lines
799 B
Awk
# usage: awk -f fizzbuzzGen.awk > fizzbuzzCustom.awk
|
|
#
|
|
function Print(s) {
|
|
print s > "/dev/stderr"
|
|
}
|
|
|
|
BEGIN { Print( "# FizzBuzz-Generate:" )
|
|
q2 = "\""
|
|
fN = "numbers.txt"
|
|
#fP = "fizzbuzzCustom.awk"
|
|
}
|
|
|
|
NF==1 { Print( "# " $1 " Numbers:" )
|
|
for( i=1; i <= $1; i++ )
|
|
print( i ) > fN # (!!) write to file not allowed in sandbox at ideone.com
|
|
|
|
Print( "# Custom program:" )
|
|
print "BEGIN {print " q2 "# CustomFizzBuzz:" q2 "} \n"
|
|
next
|
|
}
|
|
|
|
NF==2 { Print( "# " $1 "-->" $2 ) ##
|
|
print "$1 % "$1" == 0 {x = x "q2 $2 q2 "}"
|
|
next
|
|
}
|
|
|
|
END { print ""
|
|
print "!x {print $1; next}"
|
|
print " {print " q2 " " q2 ", x; x=" q2 q2 "} \n"
|
|
|
|
print "END {print " q2 "# Done." q2 "}"
|
|
Print( "# Done." )
|
|
}
|