return new ParserRule(ruleChars, ruleSeqLengths, ruleAction);
return new ParserRule(ruleChars, ruleSeqLengths, ruleAction, id);
	public static final ParserRule createDelegateSpanRule(String begin, String end,		String delegateSet, int id, boolean noLineBreak, boolean atLineStart,		boolean excludeMatch, boolean noWordBreak)	{		int ruleAction = TokenMarker.SPAN | id |			TokenMarker.DELEGATE |			((noLineBreak) ? TokenMarker.NO_LINE_BREAK : 0) |			((atLineStart) ? TokenMarker.AT_LINE_START : 0) |			((excludeMatch) ? TokenMarker.EXCLUDE_MATCH : 0) |			((noWordBreak) ? TokenMarker.NO_WORD_BREAK : 0);		String[] strings = new String[3];		strings[0] = begin;		strings[1] = end;		strings[2] = delegateSet;		int[] ruleSeqLengths = getStringLengthArray(strings);		char[] ruleChars = getCharArray(strings, ruleSeqLengths);		return new ParserRule(ruleChars, ruleSeqLengths, ruleAction);	}