package bjc.utils.parserutils.pratt; /** * Represents the contextual state passed to a command. * * @author EVE * * @param * The key type of the tokens. * @param * The value type of the tokens. * * @param * The state type of the parser. */ public class ParserContext { /** * The source of tokens. */ public TokenStream tokens; /** * The parser for sub-expressions. */ public PrattParser parse; /** * The state of the parser. */ public C state; /** * Create a new parser context. * * @param tokens * The source of tokens. * * @param parse * The parser to call for sub expressions. * * @param state * Any state needing to be kept during parsing. */ public ParserContext(TokenStream tokens, PrattParser parse, C state) { this.tokens = tokens; this.parse = parse; this.state = state; } }