awk ' BEGIN { n = ARGV[1] # number of elements to sort for (i = 1; i <= n; i++) x[i] = 1 + int(25*rand()) for (i = 1; i <= n; i++) draw(i) for (i = 2; i <= n; i++) { for (j = i; j > 1 && less(j, j-1); j--) swap(j-1, j) print "view text" print "bar: text ljust", i, 1, "\" |\"" print "click phase" } } function draw(i) { print "view text" print "a" i ": text", i, 1, x[i] print "view geom" print "a" i ": line", i, 0, i, x[i] } function swap(i, j, t) { t = x[i]; x[i] = x[j]; x[j] = t draw(i); draw(j) print "click swap" } function less(i, j) { print "click comp" if (x[i] < x[j]) return 1; else return 0 }' $*