Beispiel #1
0
        private void ParseVarDeclaration()
        {
            Match(TokenKind.Let);

            _astBuilder.VarStmtStart(_scanner.CurrentToken);
            Match(TokenKind.Let);
            _scanner.Advance();
            _astBuilder.VarStmtIdent(_scanner.CurrentToken);
            Match(TokenKind.Identifier);
            _scanner.Advance();
            Match(TokenKind.Colon);
            _scanner.Advance();
            _astBuilder.VarStmtType(_scanner.CurrentToken);
            ParseType();
            Match(TokenKind.Assign);
            _scanner.Advance();
            ParseExpression();
            _astBuilder.VarStmtEnd(_scanner.CurrentToken);
        }