public override Handle Range(GrammarAST a, GrammarAST b)
{
ATNState left = NewState(a);
ATNState right = NewState(b);
int t1 = CharSupport.GetCharValueFromGrammarCharLiteral(a.Text);
int t2 = CharSupport.GetCharValueFromGrammarCharLiteral(b.Text);
CheckRange(a, b, t1, t2);
left.AddTransition(new RangeTransition(right, t1, t2));
a.atnState = left;
b.atnState = left;
return new Handle(left, right);
}