public virtual ParserInterpreter CreateParserInterpreter(ITokenStream tokenStream)
{
if (this.IsLexer())
{
throw new InvalidOperationException("A parser interpreter can only be created for a parser or combined grammar.");
}
char[] serializedAtn = ATNSerializer.GetSerializedAsChars(atn, GetRuleNames());
ATN deserialized = new ATNDeserializer().Deserialize(serializedAtn);
return new ParserInterpreter(fileName, GetVocabulary(), GetRuleNames(), deserialized, tokenStream);
}