protected override void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { base.BeforeTokenProcessed(args); switch (args.CurrentToken.Token.Name) { case "<": CurrentLevel = 1; EnterTokenLimit("FirstLevel"); break; case "<<": CurrentLevel = 2; EnterTokenLimit("SecondLevel"); break; case "<<<": CurrentLevel = 3; EnterTokenLimit("ThirdLevel"); break; case "!": ExitTokenLimit(CurrentLevel); CurrentLevel = 0; break; case ">": case ">>": ExitTokenLimit(); CurrentLevel--; break; } }
protected override void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { base.BeforeTokenProcessed(args); switch (args.CurrentToken.Token.Name) { case "A": EnterTriviaLimit("JustABCs"); break; case "C": ExitTriviaLimit(); break; } }
internal void InitializeABParser(ABParserConfiguration config) { // Set the tokens. Tokens = config.Tokens; // Then, initialize the base parser. InitializeBaseParser(config); BeforeTokenProcessedArgs = new BeforeTokenProcessedEventArgs(this); OnTokenProcessedArgs = new OnTokenProcessedEventArgs(this); OnEndArgs = new OnEndEventArgs(); OFUCPPos = 0; OnTokenProcessedPreviousTokenInfo = new TokenInformation(); OnTokenProcessedTokenInfo = new TokenInformation(); CurrentEventTokenInfo = new TokenInformation(); }
protected override void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { base.BeforeTokenProcessed(args); if (InString) { ExitTokenLimit(); } else { switch (args.CurrentToken.Token.Name) { case "SINGLE_QUOTE": EnterTokenLimit("SingleStringLimit"); break; case "DOUBLE_QUOTE": EnterTokenLimit("DoubleStringLimit"); break; } } }
protected override void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { BeforeTokenProcessedPreviousTokens.Add(args.PreviousToken?.Token.Name); if (args.PreviousToken == null) { BeforeTokenProcessedTokenPreviousTokenStarts.Add(0); BeforeTokenProcessedTokenPreviousTokenEnds.Add(0); } else { BeforeTokenProcessedTokenPreviousTokenStarts.Add(args.PreviousToken.Start); BeforeTokenProcessedTokenPreviousTokenEnds.Add(args.PreviousToken.End); } BeforeTokenProcessedTokenTokenStarts.Add(args.CurrentToken.Start); BeforeTokenProcessedTokenTokenEnds.Add(args.CurrentToken.End); BeforeTokenProcessedLeadings.Add(args.GetLeadingAsString()); BeforeTokenProcessedTokens.Add(args.CurrentToken.Token.Name); }
protected override void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { base.BeforeTokenProcessed(args); }
/// <summary> /// Called before a token's trailing has been generated - mainly used to set limits. /// </summary> protected virtual void BeforeTokenProcessed(BeforeTokenProcessedEventArgs args) { }