Complete macro parser, tests are passing now