(List (= scope= flags=0 words=[] bindings=[('defaultfile', {[LIT_CHARS arm64_inst.csv]})]) (= scope= flags=0 words=[] bindings=[('defaultout', {[LIT_CHARS arm64_inst.png]})]) (= scope= flags=0 words=[] bindings=[('gnuplot', {[LIT_CHARS /usr/bin/gnuplot]})]) (= scope= flags=0 words=[] bindings=[('file', {[VarSub 1 test_op=VS_TEST_COLON_HYPHEN {[VarSub defaultfile]}]})]) (= scope= flags=0 words=[] bindings=[('out', {[VarSub 2 test_op=VS_TEST_COLON_HYPHEN {[VarSub defaultout]}]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[VarSub file]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Input file not found: "][VarSub file][LIT_CHARS .]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: draw_instruction_graph.sh "]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('error', {[ComSub (Com {[LIT_CHARS grep]} {[LIT_CHARS -m1]} {[SQ ]} {[VarSub file]})]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub error]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error message in input file:"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "][VarSub error]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (= scope= flags=0 words=[] bindings=[('sp', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -m1]} {[SQ flags=0 words=[] bindings=[('nc', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[LIT_CHARS -m1]} {[SQ flags=0 words=[] bindings=[('arrows', {[ComSub (Pipeline (Com {[LIT_CHARS sed]} {[SQ ]} {[VarSub file]}) (Com {[LIT_CHARS perl]} {[LIT_CHARS -pe]} {[DQ [LIT_CHARS "s/^# .. @ ("][\ LIT_ESCAPED_CHAR "\\d"][LIT_CHARS "+)/set arrow from "][\ LIT_ESCAPED_CHAR "\\1"][LIT_CHARS ", graph 0.9 to "][\ LIT_ESCAPED_CHAR "\\1"][LIT_CHARS ", "][VarSub sp][LIT_CHARS /]]}) )]})]) (= scope= flags=0 words=[] bindings=[('labels', {[ComSub (Pipeline (Com {[LIT_CHARS sed]} {[SQ ]} {[VarSub file]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -r]} {[SQ ]}) )]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[VarSub gnuplot]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Can't find gnuplot at "][VarSub gnuplot][LIT_CHARS .]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Gnuplot version 4.6.3 or later required."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 3]}) ) ) (Pipeline (Com {[LIT_CHARS echo]}) (Com {[VarSub gnuplot]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub arrows][LIT_CHARS "\n"][VarSub labels][LIT_CHARS "\n"][LIT_CHARS "MAXCOL="][VarSub nc][LIT_CHARS "\n"][LIT_CHARS "set term png size 1920, 800 #ffffff\n"][LIT_CHARS "set output '"][VarSub out][LIT_CHARS "'\n"][LIT_CHARS "set datafile separator ','\n"][LIT_CHARS "set xtics font 'FreeSans, 10'\n"][LIT_CHARS "set xlabel 'Instructions' font 'FreeSans, 10'\n"][LIT_CHARS "set ytics font 'FreeSans, 10'\n"][LIT_CHARS "set yrange [0:*]\n"][LIT_CHARS "set key outside font 'FreeSans, 8'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 2 lc rgb '#800000'\n"][LIT_CHARS "set style line 3 lc rgb '#d00000'\n"][LIT_CHARS "set style line 4 lc rgb '#ff6000'\n"][LIT_CHARS "set style line 5 lc rgb '#ffc000'\n"][LIT_CHARS "set style line 6 lc rgb '#ffff00'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 7 lc rgb '#ff00ff'\n"][LIT_CHARS "set style line 8 lc rgb '#ffc0ff'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 9 lc rgb '#004040'\n"][LIT_CHARS "set style line 10 lc rgb '#008080'\n"][LIT_CHARS "set style line 11 lc rgb '#40c0c0'\n"][LIT_CHARS "set style line 12 lc rgb '#c0f0f0'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 13 lc rgb '#004000'\n"][LIT_CHARS "set style line 14 lc rgb '#008000'\n"][LIT_CHARS "set style line 15 lc rgb '#40c040'\n"][LIT_CHARS "set style line 16 lc rgb '#c0f0c0'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 17 lc rgb '#2020f0'\n"][LIT_CHARS "set style line 18 lc rgb '#6060f0'\n"][LIT_CHARS "set style line 19 lc rgb '#a0a0f0'\n"][LIT_CHARS "\n"][LIT_CHARS "set style line 20 lc rgb '#000000'\n"][LIT_CHARS "set style line 21 lc rgb '#ffffff'\n"][LIT_CHARS "\n"][LIT_CHARS "plot for [i=2:MAXCOL] '"][VarSub file][LIT_CHARS "' using 1:(sum [col=i:MAXCOL] column(col)) "][LIT_CHARS "title columnheader(i) with filledcurve y1=0 ls i\n"]]} 0), > ) ) )