/** * MVEL 2.0 * Copyright (C) 2007 The Codehaus * Mike Brock, Dhanji Prasanna, John Graham, Mark Proctor * * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.mvel2; /** * Contains a list of constants representing internal operators. */ public interface Operator { public static final int NOOP = -1; /** * The index positions of the operator precedence values * correspond to the actual operator itself. So ADD is PTABLE[0], * SUB is PTABLE[1] and so on. */ public static final int[] PTABLE = { 10, // ADD 10, // SUB 11, // MULT 11, // DIV 11, // MOD 12, // POWER 6, // BW_AND 4, // BW_OR 5, // BW_XOR 9, // BW_SHIFT_RIGHT 9, // BW_SHIFT_LEFT 9, // BW_USHIFT_RIGHT 9, // BW_USHIFT_LEFT 5, // BW_NOT 8, // LTHAN 8, // GTHAN 8, // LETHAN 8, // GETHAN 7, // EQUAL 7, // NEQUAL 13, // STR_APPEND 3, // AND 2, // OR 2, // CHOR 13, // REGEX 8, // INSTANCEOF 13, // CONTAINS 13, // SOUNDEX 13, // SIMILARITY 0, // TERNARY 0, // TERNARY ELSE 13, // ASSIGN 13, // INC_ASSIGN 13 // DEC ASSIGN }; public static final int ADD = 0; public static final int SUB = 1; public static final int MULT = 2; public static final int DIV = 3; public static final int MOD = 4; public static final int POWER = 5; public static final int BW_AND = 6; public static final int BW_OR = 7; public static final int BW_XOR = 8; public static final int BW_SHIFT_RIGHT = 9; public static final int BW_SHIFT_LEFT = 10; public static final int BW_USHIFT_RIGHT = 11; public static final int BW_USHIFT_LEFT = 12; public static final int BW_NOT = 13; public static final int LTHAN = 14; public static final int GTHAN = 15; public static final int LETHAN = 16; public static final int GETHAN = 17; public static final int EQUAL = 18; public static final int NEQUAL = 19; public static final int STR_APPEND = 20; public static final int AND = 21; public static final int OR = 22; public static final int CHOR = 23; public static final int REGEX = 24; public static final int INSTANCEOF = 25; public static final int CONTAINS = 26; public static final int SOUNDEX = 27; public static final int SIMILARITY = 28; public static final int TERNARY = 29; public static final int TERNARY_ELSE = 30; public static final int ASSIGN = 31; public static final int INC_ASSIGN = 32; public static final int DEC_ASSIGN = 33; public static final int NEW = 34; public static final int PROJECTION = 35; public static final int CONVERTABLE_TO = 36; public static final int END_OF_STMT = 37; public static final int FOREACH = 38; public static final int IF = 39; public static final int ELSE = 40; public static final int WHILE = 41; public static final int UNTIL = 42; public static final int FOR = 43; public static final int SWITCH = 44; public static final int DO = 45; public static final int WITH = 46; public static final int ISDEF = 47; public static final int PROTO = 48; public static final int INC = 50; public static final int DEC = 51; public static final int ASSIGN_ADD = 52; public static final int ASSIGN_SUB = 53; public static final int ASSIGN_STR_APPEND = 54; public static final int ASSIGN_DIV = 55; public static final int ASSIGN_MOD = 56; public static final int ASSIGN_OR = 57; public static final int ASSIGN_AND = 58; public static final int ASSIGN_XOR = 59; public static final int ASSIGN_LSHIFT = 60; public static final int ASSIGN_RSHIFT = 61; public static final int ASSIGN_RUSHIFT = 62; public static final int IMPORT_STATIC = 95; public static final int IMPORT = 96; public static final int ASSERT = 97; public static final int UNTYPED_VAR = 98; public static final int RETURN = 99; public static final int FUNCTION = 100; public static final int STACKLANG = 101; public static final int PUSH = 102; public static final int POP = 103; public static final int LOAD = 104; public static final int LDTYPE = 105; public static final int INVOKE = 106; public static final int GETFIELD = 107; public static final int STOREFIELD = 108; public static final int STORE = 109; public static final int DUP = 110; public static final int LABEL = 111; public static final int JUMP = 112; public static final int JUMPIF = 113; public static final int REDUCE = 114; public static final int SWAP = 115; public static final int XSWAP = 116; }