#$Id: syntaxform.awk 635 2010-11-14 19:15:12Z karl $ # pdftex-t.tex --> pdftex-syntax.txt # requires gawk due to gensub() function BEGIN{ buffer = ""; } /\015*$/ { gsub(/\015*$/, ""); } /^%%S NL/ { print ""; next; } /^%%S/ { gsub (/^%%S/, "%%" ); print; next; } /^\\Syntax/ { printing = 1; indentation = 0; next; } // { if (buffer != "") { gsub(/^ */, ""); $0 = buffer $0; } buffer = ""; } /\|\|/ { gsub(/\|\|/, "-"); } /^ */{ gsub(/^ */, indspaces); } /\\Something/ { $0 = gensub(/\\Something *{([^}]*)}/, "<\\1>", "g"); } /\\Literal/ { $0 = gensub(/\\Literal *{([^}]*)}/, "\\1", "g"); } /\\Tex/ { $0 = gensub(/\\Tex *{([^}]*)}/, "\\1", "g"); } /\\tex/ { $0 = gensub(/\\tex *{([^}]*)}/, "\\\\\\1", "g"); } /\\Optional/ { $0 = gensub(/\\Optional *{([^}]*)}/, "[\\1]", "g"); } /\\Means/ { gsub(/\\Means/, "-->"); indentation = match($0, /-->/); indspaces = " "; for(i=0; i < indentation; i++) indspaces = indspaces " "; } /\\Lbrace/ { gsub(/\\Lbrace/, "{"); } /\\Rbrace/ { gsub(/\\Rbrace/, "}"); } /\\Or/ { gsub(/\\Or/, "|"); } /\\Next/ { gsub(/\\Next /, ""); } /\\Whatever/ { whatind = 57; whatpos = match($0, /\\Whatever/); b = substr($0, 0, whatpos - 1) c = substr($0, whatpos) c = gensub(/\\Whatever *{([^}]*)}/, "(\\1)", "g", c); $0 = b; for(i = whatpos; i < whatind; i++) $0 = $0 " "; $0 = $0 c; } /^}/ {printing = 0;} /% *$/ { gsub(/% *$/, ""); buffer = $0; next; } /^ *$/ { $0 = "================= ERROR"; } / *$/ { gsub(/ *$/, ""); } { if (printing) print; }