Supports empty args lists. Adds a parser parameter to program that defaults to the LALRParser.