diff options
author | Egil Moeller <egil.moller@freecode.no> | 2010-03-22 00:16:53 +0100 |
---|---|---|
committer | Egil Moeller <egil.moller@freecode.no> | 2010-03-22 00:16:53 +0100 |
commit | fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7 (patch) | |
tree | 928419d6bfe794865e4b8f0634bd792f795c4b8a /trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java | |
parent | 0fdab3db005c4fa31fb8306b573c0b35073d3e56 (diff) | |
parent | d56b9b3b82cdebcaeb00eec0fcb4326ad21adaa8 (diff) | |
download | etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.gz etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.xz etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.zip |
Merge branch 'master' into plugin-framework
Diffstat (limited to 'trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java')
-rw-r--r-- | trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java | 436 |
1 files changed, 0 insertions, 436 deletions
diff --git a/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java b/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java deleted file mode 100644 index be96487..0000000 --- a/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Token.java +++ /dev/null @@ -1,436 +0,0 @@ -/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Rhino code, released - * May 6, 1999. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1997-1999 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Roger Lawrence - * Mike McCabe - * Igor Bukanov - * Bob Jervis - * Milen Nankov - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License Version 2 or later (the "GPL"), in which - * case the provisions of the GPL are applicable instead of those above. If - * you wish to allow use of your version of this file only under the terms of - * the GPL and not to allow others to use your version of this file under the - * MPL, indicate your decision by deleting the provisions above and replacing - * them with the notice and other provisions required by the GPL. If you do - * not delete the provisions above, a recipient may use your version of this - * file under either the MPL or the GPL. - * - * ***** END LICENSE BLOCK ***** */ - -package org.mozilla.javascript; - -/** - * This class implements the JavaScript scanner. - * - * It is based on the C source files jsscan.c and jsscan.h - * in the jsref package. - * - * @see org.mozilla.javascript.Parser - * - * @author Mike McCabe - * @author Brendan Eich - */ - -public class Token -{ - - // debug flags - public static final boolean printTrees = - /*APPJET: some info not generated with this off; we disable - actual printing in Interpreter and CodeGen */true; - static final boolean printICode = false; - static final boolean printNames = printTrees || printICode; - - /** - * Token types. These values correspond to JSTokenType values in - * jsscan.c. - */ - - public final static int - // start enum - ERROR = -1, // well-known as the only code < EOF - EOF = 0, // end of file token - (not EOF_CHAR) - EOL = 1, // end of line - - // Interpreter reuses the following as bytecodes - FIRST_BYTECODE_TOKEN = 2, - - ENTERWITH = 2, - LEAVEWITH = 3, - RETURN = 4, - GOTO = 5, - IFEQ = 6, - IFNE = 7, - SETNAME = 8, - BITOR = 9, - BITXOR = 10, - BITAND = 11, - EQ = 12, - NE = 13, - LT = 14, - LE = 15, - GT = 16, - GE = 17, - LSH = 18, - RSH = 19, - URSH = 20, - ADD = 21, - SUB = 22, - MUL = 23, - DIV = 24, - MOD = 25, - NOT = 26, - BITNOT = 27, - POS = 28, - NEG = 29, - NEW = 30, - DELPROP = 31, - TYPEOF = 32, - GETPROP = 33, - GETPROPNOWARN = 34, - SETPROP = 35, - GETELEM = 36, - SETELEM = 37, - CALL = 38, - NAME = 39, - NUMBER = 40, - STRING = 41, - NULL = 42, - THIS = 43, - FALSE = 44, - TRUE = 45, - SHEQ = 46, // shallow equality (===) - SHNE = 47, // shallow inequality (!==) - REGEXP = 48, - BINDNAME = 49, - THROW = 50, - RETHROW = 51, // rethrow caught exception: catch (e if ) use it - IN = 52, - INSTANCEOF = 53, - LOCAL_LOAD = 54, - GETVAR = 55, - SETVAR = 56, - CATCH_SCOPE = 57, - ENUM_INIT_KEYS = 58, - ENUM_INIT_VALUES = 59, - ENUM_INIT_ARRAY= 60, - ENUM_NEXT = 61, - ENUM_ID = 62, - THISFN = 63, - RETURN_RESULT = 64, // to return previously stored return result - ARRAYLIT = 65, // array literal - OBJECTLIT = 66, // object literal - GET_REF = 67, // *reference - SET_REF = 68, // *reference = something - DEL_REF = 69, // delete reference - REF_CALL = 70, // f(args) = something or f(args)++ - REF_SPECIAL = 71, // reference for special properties like __proto - YIELD = 72, // JS 1.7 yield pseudo keyword - - // For XML support: - DEFAULTNAMESPACE = 73, // default xml namespace = - ESCXMLATTR = 74, - ESCXMLTEXT = 75, - REF_MEMBER = 76, // Reference for x.@y, x..y etc. - REF_NS_MEMBER = 77, // Reference for x.ns::y, x..ns::y etc. - REF_NAME = 78, // Reference for @y, @[y] etc. - REF_NS_NAME = 79; // Reference for ns::y, @ns::y@[y] etc. - - // End of interpreter bytecodes - public final static int - LAST_BYTECODE_TOKEN = REF_NS_NAME, - - TRY = 80, - SEMI = 81, // semicolon - LB = 82, // left and right brackets - RB = 83, - LC = 84, // left and right curlies (braces) - RC = 85, - LP = 86, // left and right parentheses - RP = 87, - COMMA = 88, // comma operator - - ASSIGN = 89, // simple assignment (=) - ASSIGN_BITOR = 90, // |= - ASSIGN_BITXOR = 91, // ^= - ASSIGN_BITAND = 92, // |= - ASSIGN_LSH = 93, // <<= - ASSIGN_RSH = 94, // >>= - ASSIGN_URSH = 95, // >>>= - ASSIGN_ADD = 96, // += - ASSIGN_SUB = 97, // -= - ASSIGN_MUL = 98, // *= - ASSIGN_DIV = 99, // /= - ASSIGN_MOD = 100; // %= - - public final static int - FIRST_ASSIGN = ASSIGN, - LAST_ASSIGN = ASSIGN_MOD, - - HOOK = 101, // conditional (?:) - COLON = 102, - OR = 103, // logical or (||) - AND = 104, // logical and (&&) - INC = 105, // increment/decrement (++ --) - DEC = 106, - DOT = 107, // member operator (.) - FUNCTION = 108, // function keyword - EXPORT = 109, // export keyword - IMPORT = 110, // import keyword - IF = 111, // if keyword - ELSE = 112, // else keyword - SWITCH = 113, // switch keyword - CASE = 114, // case keyword - DEFAULT = 115, // default keyword - WHILE = 116, // while keyword - DO = 117, // do keyword - FOR = 118, // for keyword - BREAK = 119, // break keyword - CONTINUE = 120, // continue keyword - VAR = 121, // var keyword - WITH = 122, // with keyword - CATCH = 123, // catch keyword - FINALLY = 124, // finally keyword - VOID = 125, // void keyword - RESERVED = 126, // reserved keywords - - EMPTY = 127, - - /* types used for the parse tree - these never get returned - * by the scanner. - */ - - BLOCK = 128, // statement block - LABEL = 129, // label - TARGET = 130, - LOOP = 131, - EXPR_VOID = 132, // expression statement in functions - EXPR_RESULT = 133, // expression statement in scripts - JSR = 134, - SCRIPT = 135, // top-level node for entire script - TYPEOFNAME = 136, // for typeof(simple-name) - USE_STACK = 137, - SETPROP_OP = 138, // x.y op= something - SETELEM_OP = 139, // x[y] op= something - LOCAL_BLOCK = 140, - SET_REF_OP = 141, // *reference op= something - - // For XML support: - DOTDOT = 142, // member operator (..) - COLONCOLON = 143, // namespace::name - XML = 144, // XML type - DOTQUERY = 145, // .() -- e.g., x.emps.emp.(name == "terry") - XMLATTR = 146, // @ - XMLEND = 147, - - // Optimizer-only-tokens - TO_OBJECT = 148, - TO_DOUBLE = 149, - - GET = 150, // JS 1.5 get pseudo keyword - SET = 151, // JS 1.5 set pseudo keyword - LET = 152, // JS 1.7 let pseudo keyword - CONST = 153, - SETCONST = 154, - SETCONSTVAR = 155, - ARRAYCOMP = 156, // array comprehension - LETEXPR = 157, - WITHEXPR = 158, - DEBUGGER = 159, - LAST_TOKEN = 159; - - public static String name(int token) - { - if (!printNames) { - return String.valueOf(token); - } - switch (token) { - case ERROR: return "ERROR"; - case EOF: return "EOF"; - case EOL: return "EOL"; - case ENTERWITH: return "ENTERWITH"; - case LEAVEWITH: return "LEAVEWITH"; - case RETURN: return "RETURN"; - case GOTO: return "GOTO"; - case IFEQ: return "IFEQ"; - case IFNE: return "IFNE"; - case SETNAME: return "SETNAME"; - case BITOR: return "BITOR"; - case BITXOR: return "BITXOR"; - case BITAND: return "BITAND"; - case EQ: return "EQ"; - case NE: return "NE"; - case LT: return "LT"; - case LE: return "LE"; - case GT: return "GT"; - case GE: return "GE"; - case LSH: return "LSH"; - case RSH: return "RSH"; - case URSH: return "URSH"; - case ADD: return "ADD"; - case SUB: return "SUB"; - case MUL: return "MUL"; - case DIV: return "DIV"; - case MOD: return "MOD"; - case NOT: return "NOT"; - case BITNOT: return "BITNOT"; - case POS: return "POS"; - case NEG: return "NEG"; - case NEW: return "NEW"; - case DELPROP: return "DELPROP"; - case TYPEOF: return "TYPEOF"; - case GETPROP: return "GETPROP"; - case GETPROPNOWARN: return "GETPROPNOWARN"; - case SETPROP: return "SETPROP"; - case GETELEM: return "GETELEM"; - case SETELEM: return "SETELEM"; - case CALL: return "CALL"; - case NAME: return "NAME"; - case NUMBER: return "NUMBER"; - case STRING: return "STRING"; - case NULL: return "NULL"; - case THIS: return "THIS"; - case FALSE: return "FALSE"; - case TRUE: return "TRUE"; - case SHEQ: return "SHEQ"; - case SHNE: return "SHNE"; - case REGEXP: return "OBJECT"; - case BINDNAME: return "BINDNAME"; - case THROW: return "THROW"; - case RETHROW: return "RETHROW"; - case IN: return "IN"; - case INSTANCEOF: return "INSTANCEOF"; - case LOCAL_LOAD: return "LOCAL_LOAD"; - case GETVAR: return "GETVAR"; - case SETVAR: return "SETVAR"; - case CATCH_SCOPE: return "CATCH_SCOPE"; - case ENUM_INIT_KEYS: return "ENUM_INIT_KEYS"; - case ENUM_INIT_VALUES:return "ENUM_INIT_VALUES"; - case ENUM_INIT_ARRAY: return "ENUM_INIT_ARRAY"; - case ENUM_NEXT: return "ENUM_NEXT"; - case ENUM_ID: return "ENUM_ID"; - case THISFN: return "THISFN"; - case RETURN_RESULT: return "RETURN_RESULT"; - case ARRAYLIT: return "ARRAYLIT"; - case OBJECTLIT: return "OBJECTLIT"; - case GET_REF: return "GET_REF"; - case SET_REF: return "SET_REF"; - case DEL_REF: return "DEL_REF"; - case REF_CALL: return "REF_CALL"; - case REF_SPECIAL: return "REF_SPECIAL"; - case DEFAULTNAMESPACE:return "DEFAULTNAMESPACE"; - case ESCXMLTEXT: return "ESCXMLTEXT"; - case ESCXMLATTR: return "ESCXMLATTR"; - case REF_MEMBER: return "REF_MEMBER"; - case REF_NS_MEMBER: return "REF_NS_MEMBER"; - case REF_NAME: return "REF_NAME"; - case REF_NS_NAME: return "REF_NS_NAME"; - case TRY: return "TRY"; - case SEMI: return "SEMI"; - case LB: return "LB"; - case RB: return "RB"; - case LC: return "LC"; - case RC: return "RC"; - case LP: return "LP"; - case RP: return "RP"; - case COMMA: return "COMMA"; - case ASSIGN: return "ASSIGN"; - case ASSIGN_BITOR: return "ASSIGN_BITOR"; - case ASSIGN_BITXOR: return "ASSIGN_BITXOR"; - case ASSIGN_BITAND: return "ASSIGN_BITAND"; - case ASSIGN_LSH: return "ASSIGN_LSH"; - case ASSIGN_RSH: return "ASSIGN_RSH"; - case ASSIGN_URSH: return "ASSIGN_URSH"; - case ASSIGN_ADD: return "ASSIGN_ADD"; - case ASSIGN_SUB: return "ASSIGN_SUB"; - case ASSIGN_MUL: return "ASSIGN_MUL"; - case ASSIGN_DIV: return "ASSIGN_DIV"; - case ASSIGN_MOD: return "ASSIGN_MOD"; - case HOOK: return "HOOK"; - case COLON: return "COLON"; - case OR: return "OR"; - case AND: return "AND"; - case INC: return "INC"; - case DEC: return "DEC"; - case DOT: return "DOT"; - case FUNCTION: return "FUNCTION"; - case EXPORT: return "EXPORT"; - case IMPORT: return "IMPORT"; - case IF: return "IF"; - case ELSE: return "ELSE"; - case SWITCH: return "SWITCH"; - case CASE: return "CASE"; - case DEFAULT: return "DEFAULT"; - case WHILE: return "WHILE"; - case DO: return "DO"; - case FOR: return "FOR"; - case BREAK: return "BREAK"; - case CONTINUE: return "CONTINUE"; - case VAR: return "VAR"; - case WITH: return "WITH"; - case CATCH: return "CATCH"; - case FINALLY: return "FINALLY"; - case VOID: return "VOID"; - case RESERVED: return "RESERVED"; - case EMPTY: return "EMPTY"; - case BLOCK: return "BLOCK"; - case LABEL: return "LABEL"; - case TARGET: return "TARGET"; - case LOOP: return "LOOP"; - case EXPR_VOID: return "EXPR_VOID"; - case EXPR_RESULT: return "EXPR_RESULT"; - case JSR: return "JSR"; - case SCRIPT: return "SCRIPT"; - case TYPEOFNAME: return "TYPEOFNAME"; - case USE_STACK: return "USE_STACK"; - case SETPROP_OP: return "SETPROP_OP"; - case SETELEM_OP: return "SETELEM_OP"; - case LOCAL_BLOCK: return "LOCAL_BLOCK"; - case SET_REF_OP: return "SET_REF_OP"; - case DOTDOT: return "DOTDOT"; - case COLONCOLON: return "COLONCOLON"; - case XML: return "XML"; - case DOTQUERY: return "DOTQUERY"; - case XMLATTR: return "XMLATTR"; - case XMLEND: return "XMLEND"; - case TO_OBJECT: return "TO_OBJECT"; - case TO_DOUBLE: return "TO_DOUBLE"; - case GET: return "GET"; - case SET: return "SET"; - case LET: return "LET"; - case YIELD: return "YIELD"; - case CONST: return "CONST"; - case SETCONST: return "SETCONST"; - case ARRAYCOMP: return "ARRAYCOMP"; - case WITHEXPR: return "WITHEXPR"; - case LETEXPR: return "LETEXPR"; - case DEBUGGER: return "DEBUGGER"; - } - - // Token without name - throw new IllegalStateException(String.valueOf(token)); - } -} |