public static void resolveArtificialRules(List rules, List resultSyntax)	{
		for (int j = 0; j < rules.size(); j++)	{
			List rule = (List) rules.get(j);

			resultSyntax.add(rule);	// add it
			
			for (int k = 1; k < rule.size(); k++)	{	// optionally modify it
				Object symbol = rule.get(k);
				
				if (symbol instanceof ArtificialRule)	{	// when containing rules
					rule.set(k, symbol.toString());	// set the rule's nonterminal
					
					ArtificialRule ar = (ArtificialRule)symbol;
					resolveArtificialRules(ar.getRules(), resultSyntax);	// add the rule
				}
			}
		}
	}