# usage: awk -f fizzbuzzGen.awk > fizzbuzzCustom.awk
# or: gawk -f fbGen.awk fb1.txt > 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
##print >"output.txt"
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 "}"
print " \nEND {print " q2 "# Done." q2 "}"
Print( "# Done." )
}
IyB1c2FnZTogIGF3ayAgLWYgZml6emJ1enpHZW4uYXdrID4gZml6emJ1enpDdXN0b20uYXdrCiMgICAgb3I6ICBnYXdrIC1mIGZiR2VuLmF3ayAgZmIxLnR4dCA+IGZpenpidXp6Q3VzdG9tLmF3awojCmZ1bmN0aW9uIFByaW50KHMpIHsKICAgIHByaW50IHMgPiAiL2Rldi9zdGRlcnIiCn0KQkVHSU4geyBQcmludCggIiMgRml6ekJ1enotR2VuZXJhdGU6IiApCiAgICAgICAgcTIgPSAiXCIiCiAgICAgICAgZk4gPSAibnVtYmVycy50eHQiCiAgICAgICAjZlAgPSAiZml6emJ1enpDdXN0b20uYXdrIgp9CgpORj09MSAgeyBQcmludCggIiMgIiAkMSAiIE51bWJlcnM6IiApCiAgICAgICAgIGZvciggaT0xOyBpIDw9ICQxOyBpKysgKQogICAgICAgICAgIHByaW50KCBpICkgIz4gZk4KICAgICAgICAgICMjcHJpbnQgPiJvdXRwdXQudHh0IgoKICAgICAgICAgUHJpbnQoICIjIEN1c3RvbSBwcm9ncmFtOiIgKQogICAgICAgICBwcmludCAiQkVHSU4ge3ByaW50ICJxMiIjIEN1c3RvbUZpenpCdXp6OiJxMiJ9IFxuIgoJICAgICBuZXh0Cn0KCk5GPT0yICB7IFByaW50KCAiIyAiICQxICItLT4iICQyICkgICAjIwogICAgICAgICBwcmludCAiJDEgJSAgIiQxIiA9PSAwIHt4ID0geCAicTIgICQyIHEyICJ9IgogICAgICAgICBuZXh0Cn0KCkVORCB7CiAgICAgcHJpbnQgIiIKICAgICBwcmludCAiIXggIHtwcmludCAkMTsgbmV4dH0iCiAgICAgcHJpbnQgIiAgICB7cHJpbnQgIiBxMiAiICIgcTIgIiwgeDsgeD0iIHEyIHEyICJ9IgoKICAgICBwcmludCAiIFxuRU5EIHtwcmludCAiIHEyICIjIERvbmUuIiBxMiAifSIKICAgICBQcmludCggIiMgRG9uZS4iICkKfQ==