pakmanaged.js
function parseSourceElement() {
            var token;
            if (lookahead.type === Token.Keyword) {
                switch (lookahead.value) {
                case 'const':
                case 'let':
                    return parseConstLetDeclaration(lookahead.value);
                case 'function':
                    return parseFunctionDeclaration();
                case 'export':
                    throwErrorTolerant({}, Messages.IllegalExportDeclaration);
                    return parseExportDeclaration();
                case 'import':
                    throwErrorTolerant({}, Messages.IllegalImportDeclaration);
                    return parseImportDeclaration();
                case 'interface':
                    if (lookahead2().type === Token.Identifier) {
                        return parseInterface();
                    }
                    return parseStatement();
                default:
                    return parseStatement();
                }
            }
    
            if (matchContextualKeyword('type')
                    && lookahead2().type === Token.Identifier) {
                return parseTypeAlias();
            }
    
            if (matchContextualKeyword('interface')
                    && lookahead2().type === Token.Identifier) {
                return parseInterface();
            }
    
            if (matchContextualKeyword('declare')) {
                token = lookahead2();
                if (token.type === Token.Keyword) {
                    switch (token.value) {
                    case 'class':
                        return parseDeclareClass();
                    case 'function':
                        return parseDeclareFunction();
                    case 'var':
                        return parseDeclareVariable();
                    }
                } else if (token.type === Token.Identifier
                        && token.value === 'module') {
                    return parseDeclareModule();
                }
            }
    
            if (lookahead.type !== Token.EOF) {
                return parseStatement();
            }
        }
function parseSourceElement() {
            var token;
            if (lookahead.type === Token.Keyword) {
                switch (lookahead.value) {
                case 'const':
                case 'let':
                    return parseConstLetDeclaration(lookahead.value);
                case 'function':
                    return parseFunctionDeclaration();
                case 'export':
                    throwErrorTolerant({}, Messages.IllegalExportDeclaration);
                    return parseExportDeclaration();
                case 'import':
                    throwErrorTolerant({}, Messages.IllegalImportDeclaration);
                    return parseImportDeclaration();
                case 'interface':
                    if (lookahead2().type === Token.Identifier) {
                        return parseInterface();
                    }
                    return parseStatement();
                default:
                    return parseStatement();
                }
            }
    
            if (matchContextualKeyword('type')
                    && lookahead2().type === Token.Identifier) {
                return parseTypeAlias();
            }
    
            if (matchContextualKeyword('interface')
                    && lookahead2().type === Token.Identifier) {
                return parseInterface();
            }
    
            if (matchContextualKeyword('declare')) {
                token = lookahead2();
                if (token.type === Token.Keyword) {
                    switch (token.value) {
                    case 'class':
                        return parseDeclareClass();
                    case 'function':
                        return parseDeclareFunction();
                    case 'var':
                        return parseDeclareVariable();
                    }
                } else if (token.type === Token.Identifier
                        && token.value === 'module') {
                    return parseDeclareModule();
                }
            }
    
            if (lookahead.type !== Token.EOF) {
                return parseStatement();
            }
        }
15 Program