Fixed recursive parser AST's so that they actually compile.  Still need more work to support complement for single alternates.  Currently, alternate is trying to handle both single and non-single cases, but doesn't have a match() method in order to support single.