笙默考试管理系统-MyExamTest----codemirror(67)

笙默考试管理系统-MyExamTest----codemirror(67

  

目录

一、 笙默考试管理系统-MyExamTest----codemirror

二、 笙默考试管理系统-MyExamTest----codemirror

三、 笙默考试管理系统-MyExamTest----codemirror

四、 笙默考试管理系统-MyExamTest----codemirror

五、 笙默考试管理系统-MyExamTest----codemirror

  • 笙默考试管理系统-MyExamTest----codemirror

 

        }

        else if (ch == "#") {

            stream.skipToEnd();

            return ret("error", "error");

        }

        else if (isOperatorChar.test(ch)) {

            stream.eatWhile(isOperatorChar);

            return ret("operator", null, stream.current());

        }

        else {

            stream.eatWhile(/[\w\$_]/);

            var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word];

            return (known && state.kwAllowed) ? ret(known.type, known.style, word) :

                ret("variable", "variable", word);

        }

    }

  • 笙默考试管理系统-MyExamTest----codemirror

    function jsTokenString(quote) {

        return function(stream, state) {

            if (!nextUntilUnescaped(stream, quote))

                state.tokenize = jsTokenBase;

            return ret("string", "string");

        };

    }

  • 笙默考试管理系统-MyExamTest----codemirror

    function jsTokenComment(stream, state) {

        var maybeEnd = false, ch;

        while (ch = stream.next()) {

            if (ch == "/" && maybeEnd) {

                state.tokenize = jsTokenBase;

                break;

            }

            maybeEnd = (ch == "*");

        }

        return ret("comment", "comment");

    }

    // Parser

    var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true};

    function JSLexical(indented, column, type, align, prev, info) {

        this.indented = indented;

        this.column = column;

        this.type = type;

        this.prev = prev;

        this.info = info;

        if (align != null) this.align = align;

    }

  • 笙默考试管理系统-MyExamTest----codemirror

    function inScope(state, varname) {

        for (var v = state.localVars; v; v = v.next)

            if (v.name == varname) return true;

    }

    function parseJS(state, style, type, content, stream) {

        var cc = state.cc;

        // Communicate our context to the combinators.

        // (Less wasteful than consing up a hundred closures on every call.)

        cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc;

        if (!state.lexical.hasOwnProperty("align"))

            state.lexical.align = true;

  • 笙默考试管理系统-MyExamTest----codemirror

        while(true) {

            var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;

            if (combinator(type, content)) {

                while(cc.length && cc[cc.length - 1].lex)

                    cc.pop()();

                if (cx.marked) return cx.marked;

                if (type == "variable" && inScope(state, content)) return "variable-2";

                return style;

            }

        }

你可能感兴趣的:(笙默考试管理系统,java)