[COLOR=#0000ff]/* -- main program -- */[/color]
csv_line1 [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]'172 0 01 10,70487,914193890129'[/color]
[COLOR=#804040][b]call[/b][/color][COLOR=#008080] csvline_to_stem([/color]csv_line1[COLOR=#008080])[/color]
[COLOR=#804040][b]call[/b][/color][COLOR=#008080] print_stem[/color]
[COLOR=#804040][b]say[/b][/color] [COLOR=#ff00ff]'----------------------'[/color]
csv_line2 [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]'172 0 01 10,70487,914193890129,172 0 01 10,70487,914193890129'[/color]
[COLOR=#804040][b]call[/b][/color][COLOR=#008080] csvline_to_stem([/color]csv_line2[COLOR=#008080])[/color]
[COLOR=#804040][b]call[/b][/color][COLOR=#008080] print_stem[/color]
[COLOR=#804040][b]exit[/b][/color]
[COLOR=#0000ff]/* -- procedures/functions -- */[/color]
[COLOR=#008080]csvline_to_stem[/color]: [COLOR=#804040][b]procedure expose[/b][/color] elements.
[COLOR=#0000ff]/* parse CSV line into global stem */[/color]
[COLOR=#804040][b]parse arg[/b][/color] csv_line
[COLOR=#0000ff]/* replace space with '*' and comma with space */[/color]
csv_line [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]translate([/color]csv_line[COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]'* '[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]' ,'[/color][COLOR=#008080])[/color]
elements.0 [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]words([/color]csv_line[COLOR=#008080])[/color]
[COLOR=#804040][b]do[/b][/color] i[COLOR=#804040][b]=[/b][/color]1[COLOR=#804040][b] to [/b][/color]elements.0
[COLOR=#0000ff]/* replace '*' with space */[/color]
elements.i [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]translate(word([/color]csv_line[COLOR=#804040][b],[/b][/color] i[COLOR=#008080])[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]' '[/color][COLOR=#804040][b],[/b][/color] [COLOR=#ff00ff]'*'[/color][COLOR=#008080])[/color]
[COLOR=#804040][b]end[/b][/color]
[COLOR=#804040][b]return[/b][/color]
[COLOR=#008080]print_stem[/color]: [COLOR=#804040][b]procedure expose[/b][/color] elements.
[COLOR=#0000ff]/* print global stem */[/color]
[COLOR=#804040][b]say[/b][/color] [COLOR=#ff00ff]'Global stem has'[/color] elements.0 [COLOR=#ff00ff]'elements:'[/color]
[COLOR=#804040][b]do[/b][/color] i[COLOR=#804040][b]=[/b][/color]1[COLOR=#804040][b] to [/b][/color]elements.0
[COLOR=#804040][b]say[/b][/color] [COLOR=#ff00ff]'elements['[/color][COLOR=#804040][b]||[/b][/color]i[COLOR=#804040][b]||[/b][/color][COLOR=#ff00ff]']='[/color] elements.i
[COLOR=#804040][b]end[/b][/color]
[COLOR=#804040][b]return[/b][/color]