private void ParseLines()

in src/Microsoft.SqlTools.ManagedBatchParser/BatchParser/Parser.cs [367:436]


        private void ParseLines()
        {
            do
            {
                LexerTokenType tokenType = LookaheadTokenType;
                switch (tokenType)
                {
                    case LexerTokenType.OnError:
                        RemoveLastWhitespaceToken();
                        Token onErrorToken = LookaheadToken;
                        Accept();
                        ParseOnErrorCommand(onErrorToken);
                        break;
                    case LexerTokenType.Eof:
                        if (tokenBuffer.Count > 0)
                        {
                            ExecuteBatch(1);
                        }
                        return;
                    case LexerTokenType.Go:
                        RemoveLastWhitespaceToken();
                        Accept();
                        ParseGo();
                        break;
                    case LexerTokenType.Include:
                        RemoveLastWhitespaceToken();
                        Accept();
                        ParseInclude();
                        break;
                    case LexerTokenType.Comment:
                    case LexerTokenType.NewLine:
                    case LexerTokenType.Text:
                    case LexerTokenType.Whitespace:
                        AddTokenToStringBuffer();
                        Accept();
                        break;
                    case LexerTokenType.Setvar:
                        Token setvarToken = LookaheadToken;
                        RemoveLastWhitespaceToken();
                        Accept();
                        ParseSetvar(setvarToken);
                        break;
                    case LexerTokenType.Connect:
                        Token connectToken = LookaheadToken;
                        RemoveLastWhitespaceToken();
                        Accept();
                        ParseConnect(connectToken);
                        break;
                    case LexerTokenType.Ed:
                    case LexerTokenType.ErrorCommand:
                    case LexerTokenType.Execute:
                    case LexerTokenType.Exit:
                    case LexerTokenType.Help:
                    case LexerTokenType.List:
                    case LexerTokenType.ListVar:
                    case LexerTokenType.Out:
                    case LexerTokenType.Perftrace:
                    case LexerTokenType.Quit:
                    case LexerTokenType.Reset:
                    case LexerTokenType.Serverlist:
                    case LexerTokenType.Xml:
                        RaiseError(ErrorCode.UnsupportedCommand,
                            string.Format(CultureInfo.CurrentCulture, SR.EE_ExecutionError_CommandNotSupported, tokenType));
                        break;
                    default:
                        RaiseError(ErrorCode.UnrecognizedToken);
                        break;
                }
            } while (true);
        }