fix erlang macro parser not being reset on parse() calls
add tests for defined macro substitution without arguments