move getMacroExpander() func into main file
add Datum field to ErrorNode struct
finish collectMacrodefs func, simplify ErrorNodes creation