Apply parser review notes from Vivien and throw on malformed macro
turn on malformed macro tests
update tools to use stateless parser