Annotation of loncom/html/adm/LC_math_editor/src/operator.js, revision 1.1

1.1     ! damieng     1: /*
        !             2: 
        !             3: Copyright (C) 2014  Michigan State University Board of Trustees
        !             4: 
        !             5: The JavaScript code in this page is free software: you can
        !             6: redistribute it and/or modify it under the terms of the GNU
        !             7: General Public License (GNU GPL) as published by the Free Software
        !             8: Foundation, either version 3 of the License, or (at your option)
        !             9: any later version.  The code is distributed WITHOUT ANY WARRANTY;
        !            10: without even the implied warranty of MERCHANTABILITY or FITNESS
        !            11: FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
        !            12: 
        !            13: As additional permission under GNU GPL version 3 section 7, you
        !            14: may distribute non-source (e.g., minimized or compacted) forms of
        !            15: that code without the copy of the GNU GPL normally required by
        !            16: section 4, provided you include this license notice and a URL
        !            17: through which recipients can access the Corresponding Source.
        !            18: 
        !            19: */
        !            20: 
        !            21: /**
        !            22:  * Null denotation function
        !            23:  * @callback nudFunction
        !            24:  * @param {Parser} p - the parser
        !            25:  * @returns {ENode}
        !            26:  */
        !            27: 
        !            28: /**
        !            29:  * Left denotation function
        !            30:  * @callback ledFunction
        !            31:  * @param {Parser} p - the parser
        !            32:  * @param {ENode} left - left node
        !            33:  * @returns {ENode}
        !            34:  */
        !            35: 
        !            36: /**
        !            37:  * Parser operator, like "(".
        !            38:  * @constructor
        !            39:  * @param {string} id - Characters used to recognize the operator
        !            40:  * @param {number} arity (UNKNOWN, UNARY, BINARY, TERNARY)
        !            41:  * @param {number} lbp - left binding power
        !            42:  * @param {number} rbp - right binding power
        !            43:  * @param {nudFunction} nud - Null denotation function
        !            44:  * @param {ledFunction} led - Left denotation function
        !            45:  */
        !            46: function Operator(id, arity, lbp, rbp, nud, led) {
        !            47:     this.id = id;
        !            48:     this.arity = arity;
        !            49:     this.lbp = lbp;
        !            50:     this.rbp = rbp;
        !            51:     this.nud = nud;
        !            52:     this.led = led;
        !            53: }
        !            54: 
        !            55: Operator.UNKNOWN = 0;
        !            56: Operator.UNARY = 1;
        !            57: Operator.BINARY = 2;
        !            58: Operator.TERNARY = 3;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>