示例#1
0
 public void Parse()
 {
     if (!LexerCompleted)
     {
         CheckNextTokenEventArgs checkNextTokenEventArgs = new CheckNextTokenEventArgs();
         checkNextTokenEventArgs.LexerPathId = 0;
         OnCheckNextToken(checkNextTokenEventArgs);
     }
 }
        protected override void OnCheckNextToken(CheckNextTokenEventArgs args)
        {
            /* TODO Buffer changes to options, lexerPath */
            List <IToken> nextTokens;

            if (args.LexerPathId == StepLexerResources.LexerPathId_ALLPATHS)
            {
                nextTokens = NextTokens();
            }
            else
            {
                nextTokens = NextTokens(args.LexerPathId);
            }
            if (nextTokens.Count == 0)
            {
                AllTokensFound();
            }
            else
            {
                SendNextTokens(nextTokens);
            }
            /* TODO Allow buffers to send messages out */
        }