/*
Компилятор языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
общественной лицензии GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package ru.malik.elaborarer.avtoo.lang;
public service AVTOOConstants(Object)
{
/*<fold ключевые слова ( Л — лексема, И — инструкция ) | Л | И | (. управление, + выражение, - временный) ссылки, операнды | примечания >*/
public static final int LEXEMES_LENGTH = 0x01a0; /* | | | | количество лексем языка */
public static final int KEYWORDS_LENGTH = 0x0060; /* | | | | количество ключевых слов */
public static final int PRIVATE = 0x0000; /* | + | | | private */
public static final int RESERVED_SOURCE = 0x0001; /* | | | | зарезервированная видимость (равна SOURCE, если используется) */
public static final int SOURCE = 0x0002; /* | | | | видимость по умолчанию (на уровне исходного кода) */
public static final int RESERVED_PACKAGE = 0x0003; /* | | | | зарезервированная видимость (равна PACKAGE, если используется) */
public static final int PACKAGE = 0x0004; /* | + | | | package */
public static final int PROTECTED = 0x0005; /* | + | | | protected */
public static final int PUBLIC = 0x0006; /* | + | | | public */
public static final int PUBLISHED = 0x0007; /* | + | | | published */
public static final int IMPORT = 0x0008; /* | + | | | import */
public static final int UNION = 0x0009; /* | + | | | union */
public static final int ABSTRACT = 0x000a; /* | + | | | abstract */
public static final int FINAL = 0x000b; /* | + | | | final */
public static final int CLASS = 0x000c; /* | + | | - ClassType | class */
public static final int STRUCT = 0x000d; /* | + | | | struct */
public static final int SERVICE = 0x000e; /* | + | | | service */
public static final int INTERFACE = 0x000f; /* | + | | | interface */
public static final int HELPER = 0x0010; /* | + | | | helper */
public static final int STATIC = 0x0012; /* | + | | | static */
public static final int NATIVE = 0x0013; /* | + | | | native */
public static final int INTERRUPT = 0x0014; /* | + | | | interrupt */
public static final int SYNCHRONIZED = 0x0015; /* | + | | | synchronized */
public static final int OPERATOR = 0x0016; /* | + | | | operator */
public static final int THROWS = 0x0017; /* | + | | | throws */
public static final int FALSE = 0x0018; /* | | | | false */
public static final int TRUE = 0x0019; /* | | | | true */
public static final int NULL = 0x001a; /* | + | | | null */
public static final int NEW = 0x001b; /* | + | | | new */
public static final int SUPER = 0x001c; /* | + | | | super */
public static final int THIS = 0x001d; /* | + | | | this */
public static final int INSTANCEOF = 0x001e; /* | + | + | + ClassType | instanceof */
public static final int PRIMITIVES_LENGTH = 0x0020; /* | | | | количество примитивных типов (LONG8 - VOID + 1) */
public static final int VOID = 0x0020; /* | + | | | void */
public static final int BOOLEAN = 0x0021; /* | + | | | boolean */
public static final int CHAR = 0x0022; /* | + | | | char */
public static final int REF = 0x0023; /* | | | | объектная ссылка */
public static final int REAL = 0x0024; /* | + | | | real */
public static final int DOUBLE = 0x0028; /* | + | | | double */
public static final int DOUBLE2 = 0x0029; /* | + | | | double2 */
public static final int DOUBLE4 = 0x002a; /* | + | | | double4 */
public static final int DOUBLE8 = 0x002b; /* | + | | | double8 */
public static final int FLOAT = 0x002c; /* | + | | | float */
public static final int FLOAT2 = 0x002d; /* | + | | | float2 */
public static final int FLOAT4 = 0x002e; /* | + | | | float4 */
public static final int FLOAT8 = 0x002f; /* | + | | | float8 */
public static final int BYTE = 0x0030; /* | + | | | byte */
public static final int BYTE2 = 0x0031; /* | + | | | byte2 */
public static final int BYTE4 = 0x0032; /* | + | | | byte4 */
public static final int BYTE8 = 0x0033; /* | + | | | byte8 */
public static final int SHORT = 0x0034; /* | + | | | short */
public static final int SHORT2 = 0x0035; /* | + | | | short2 */
public static final int SHORT4 = 0x0036; /* | + | | | short4 */
public static final int SHORT8 = 0x0037; /* | + | | | short8 */
public static final int INT = 0x0038; /* | + | | | int */
public static final int INT2 = 0x0039; /* | + | | | int2 */
public static final int INT4 = 0x003a; /* | + | | | int4 */
public static final int INT8 = 0x003b; /* | + | | | int8 */
public static final int LONG = 0x003c; /* | + | | | long */
public static final int LONG2 = 0x003d; /* | + | | | long2 */
public static final int LONG4 = 0x003e; /* | + | | | long4 */
public static final int LONG8 = 0x003f; /* | + | | | long8 */
public static final int WITH = 0x0040; /* | + | | | with */
public static final int IF = 0x0041; /* | + | | . | if */
public static final int ELSE = 0x0042; /* | + | | | else */
public static final int SWITCH = 0x0043; /* | + | | . | switch */
public static final int BRANCH = 0x0044; /* | | + | . | ветвление, используемое управляющей конструкцией switch */
public static final int CASE = 0x0045; /* | + | | . Int(значение метки) | case */
public static final int DEFAULT = 0x0046; /* | + | | . | default */
public static final int LABEL = 0x0047; /* | | | . String(название метки) | <метка>: */
public static final int DO = 0x0048; /* | + | | . | do */
public static final int FOR = 0x0049; /* | + | | . | for */
public static final int WHILE = 0x004a; /* | + | | . | while */
public static final int BLOCK = 0x004b; /* | | | . | { … } */
public static final int JUMP = 0x004c; /* | | + | . | инструкция ассемблера jmp */
public static final int BREAK = 0x004d; /* | + | | . Node(целевой DO, FOR, WHILE, SWITCH или LABEL) | break */
public static final int CONTINUE = 0x004e; /* | + | | . Node(целевой DO, FOR или WHILE) | continue */
public static final int RETURN = 0x004f; /* | + | + | . | return */
public static final int THROW = 0x0050; /* | + | + | . ClassType(тип Throwable) | throw */
public static final int BOUND = 0x0051; /* | | + | . | начало или конец блока try (берётся из двоичного исходного кода) */
public static final int BEGIN = 0x0052; /* | | + | . | начало блока try */
public static final int END = 0x0053; /* | | + | . | конец блока try */
public static final int TRY = 0x0054; /* | + | | . | try */
public static final int CATCH = 0x0055; /* | + | | . ClassType(тип Throwable) | catch */
public static final int FINALLY = 0x0056; /* | + | | | finally */
public static final int INVOKE_FINALLY = 0x0057; /* | | + | . Node(целевой FINALLY_ENTER) | вызов блока finally */
public static final int CLINIT_TRY_LOCK = 0x0058; /* | | + | + ClassType(окружающий) | вход в блок static */
public static final int CLINIT_UNLOCK = 0x0059; /* | | + | + ClassType(окружающий) | выход из блока static */
public static final int FINALLY_ENTER = 0x005a; /* | | + | . | вход в блок finally */
public static final int FINALLY_LEAVE = 0x005b; /* | | + | . | выход из блока finally */
public static final int MONITOR_ENTER = 0x005c; /* | | + | . | вход в блок synchronized */
public static final int MONITOR_LEAVE = 0x005d; /* | | + | . | выход из блока synchronized */
public static final int METHOD_ENTER = 0x005e; /* | | + | . Int(количество элементов стака для проверки) | вход в тело метода */
public static final int METHOD_LEAVE = 0x005f; /* | | + | . | выход из тела метода */
/*</fold>*/
/*<fold управление данными ( Л — лексема, И — инструкция ) | Л | И | (. управление, + выражение, - временный) ссылки, операнды | примечания (W — ослабление ссылки или отброс значения) >*/
public static final int READ_OPERATOR = 0x0060; /* | | | | начальный код операторов чтения значения */
public static final int LOAD_CONST = 0x0060; /* | | + | + Constant | <W> загрузка константы */
public static final int LOAD_LOCAL = 0x0061; /* | | + | + Local [, Type(переменной)* ] | <W> загрузка локальной переменной */
public static final int LOAD_INTERRUPT = 0x0064; /* | | + | + Method(статичный, обработчик прерываний) | загрузка адреса обработчика прерывания */
public static final int LOAD_STATIC = 0x0065; /* | | + | + Field(статичный, не константа) | <W> загрузка глобальной переменной */
public static final int READ_ELEMENT = 0x0066; /* | | + | + PrimitiveType(векторный) [, Constant(тип int, от 0 до 1|3|7)] | чтение элемента вектора */
public static final int READ_COMPONENT = 0x0067; /* | | + | + Type(компонентов массива) [, доп. операнд типа int] | чтение компонента массива */
public static final int READ_FIELD = 0x0068; /* | | + | + Field(инстанционный) [, доп. операнд ссылочного типа] | чтение поля инстанции или структуры */
public static final int READ_SPECIAL = 0x0069; /* | | + | + Property(не абстрактный) [, доп. операнд ссылочного типа] | прямое чтение свойства */
public static final int READ_PROPERTY = 0x006a; /* | | + | + Property [, доп. операнд ссылочного типа] | косвенное чтение свойства */
public static final int SWAP = 0x006b; /* | | + | + Type(a, b всегда ссылочного типа) | обмен местами двух элементов: … a b → … b a */
public static final int DUP1 = 0x006c; /* | | + | + Type(b) | дублирование одного элемента: … a b → … a b b */
public static final int DUP1X1 = 0x006d; /* | | + | + Type(c, b всегда ссылочного типа) | дублирование одного элемента: … a b c → … a c b c */
public static final int DUP1X2 = 0x006e; /* | | + | + Type(d, b всегда ссылочного типа, тип c определяется по тагу) | дублирование одного элемента: … a b c d → … a d b c d */
public static final int DUP2 = 0x006f; /* | | + | + Type(c, b всегда ссылочного типа) | дублирование двух элементов: … a b c → … a b c b c */
public static final int INVOKE_STATIC = 0x0070; /* | | + | + Method(статичный) | <W> вызов статичного метода */
public static final int INVOKE_SPECIAL = 0x0072; /* | | + | + Callable(инстанционный, не абстрактный) | <W> вызов метода напрямую */
public static final int INVOKE_VIRTUAL = 0x0074; /* | | + | + Callable(инстанционный, классовый) | <W> вызов виртуального метода */
public static final int INVOKE_SERVICE = 0x0076; /* | | + | + Callable(инстанционный, сервисный) | <W> вызов сервисного метода */
public static final int NEW_VECTOR = 0x0078; /* | | + | + PrimitiveType(векторный) | создание значения векторного типа */
public static final int NEW_ARRAY = 0x0079; /* | | + | + ArrayType, Constant(тип int) | создание одномерного массива фиксированной длины */
public static final int NEW_ARRAY_MONO = 0x007a; /* | | + | + ArrayType | создание одномерного массива */
public static final int NEW_ARRAY_MULTI = 0x007b; /* | | + | + ArrayType | создание многомерного массива */
public static final int NEW_INSTANCE = 0x007c; /* | | + | + ClassType(не массив) | создание инстанции */
public static final int NOP = 0x007f; /* | | + | + | отсутствие операции */
public static final int INC_LOCAL = 0x0080; /* | + | + | + Local(числовой тип) [, Type(переменной)* ] | ++ инкремент локальной переменной */
public static final int DEC_LOCAL = 0x0081; /* | + | + | + Local(числовой тип) [, Type(переменной)* ] | -- декремент локальной переменной */
public static final int INC_PRED_LOAD_LOCAL = 0x0084; /* | | + | + Local(числовой тип) [, Type(переменной)* ] | инкремент и последующая загрузка локальной переменной */
public static final int DEC_PRED_LOAD_LOCAL = 0x0085; /* | | + | + Local(числовой тип) [, Type(переменной)* ] | декремент и последующая загрузка локальной переменной */
public static final int INC_POST_LOAD_LOCAL = 0x0086; /* | | + | + Local(числовой тип) [, Type(переменной)* ] | загрузка и последующий инкремент локальной переменной */
public static final int DEC_POST_LOAD_LOCAL = 0x0087; /* | | + | + Local(числовой тип) [, Type(переменной)* ] | загрузка и последующий декремент локальной переменной */
public static final int CAST_TO = 0x0088; /* | | + | + Type(новый), Type(исходный) | преобразование числового типа или проверка ссылочного */
public static final int BOOL_NOT = 0x0090; /* | + | | + | ! */
public static final int BOOL_AND = 0x0091; /* | + | | + | && */
public static final int BOOL_OR = 0x0092; /* | + | | + | || */
public static final int BOOL_COND = 0x0093; /* | | | + | ?: */
public static final int REF_EQ = 0x0094; /* | | + | + [доп. операнд ссылочного типа] | <W> проверка равенства двух объектных ссылок */
public static final int REF_NE = 0x0095; /* | | + | + [доп. операнд ссылочного типа] | <W> проверка неравенства двух объектных ссылок */
public static final int REF_IS_NULL = 0x0096; /* | | + | + | <W> проверка равенства объектной ссылки нулевой ссылке */
public static final int REF_IS_OBJECT = 0x0097; /* | | + | + | <W> проверка неравенства объектной ссылки нулевой ссылке */
public static final int TEST_EQZ = 0x0098; /* | | + | + PrimitiveType(тип long) [, доп. операнд типа long] | (a & b) == 0 */
public static final int TEST_NEZ = 0x0099; /* | | + | + PrimitiveType(тип long) [, доп. операнд типа long] | (a & b) != 0 */
public static final int O_BIT_NOT = 0x00a0; /* | + | + | + PrimitiveType | ~ */
public static final int O_BIT_AND = 0x00a1; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | & */
public static final int O_BIT_OR = 0x00a2; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | | */
public static final int O_BIT_XOR = 0x00a3; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | ^ */
public static final int O_SCAL_POS = 0x00a4; /* | | | | + (унарный) */
public static final int O_SCAL_NEG = 0x00a5; /* | | + | + PrimitiveType | - (унарный) */
public static final int O_SCAL_MUL = 0x00a6; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | * */
public static final int O_SCAL_DIV = 0x00a8; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | / */
public static final int O_SCAL_DIVU = 0x00a9; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | // */
public static final int O_SCAL_REM = 0x00aa; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | % */
public static final int O_SCAL_REMU = 0x00ab; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | %% */
public static final int O_SCAL_ADD = 0x00ac; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | + */
public static final int O_SCAL_SUB = 0x00ad; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | - */
public static final int O_SCAL_SHR = 0x00ae; /* | + | + | + PrimitiveType [, доп. операнд типа int] | >> */
public static final int O_SCAL_SHRU = 0x00af; /* | + | + | + PrimitiveType [, доп. операнд типа int] | >>> */
public static final int O_SCAL_SHL = 0x00b0; /* | + | + | + PrimitiveType [, доп. операнд типа int] | << */
public static final int O_SCAL_EQ = 0x00b2; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | == */
public static final int O_SCAL_NE = 0x00b3; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | != */
public static final int O_SCAL_GT = 0x00b4; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | > */
public static final int O_SCAL_GE = 0x00b5; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | >= */
public static final int O_SCAL_LT = 0x00b6; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | < */
public static final int O_SCAL_LE = 0x00b7; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | <= */
public static final int O_VECT_OPERATOR = 0x00c0; /* | | | | начальный код векторных операторов */
public static final int O_VECT_LUP = 0x00c0; /* | + | + | + PrimitiveType | #### */
public static final int O_VECT_UUP = 0x00c1; /* | + | + | + PrimitiveType | ^^^^ */
public static final int O_VECT_PCK = 0x00c2; /* | + | + | + PrimitiveType | @@@@ */
public static final int O_VECT_POS = 0x00c4; /* | | | | ++++ (унарный) */
public static final int O_VECT_NEG = 0x00c5; /* | | + | + PrimitiveType | ---- (унарный) */
public static final int O_VECT_MUL = 0x00c6; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | **** */
public static final int O_VECT_DIV = 0x00c8; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | //// */
public static final int O_VECT_ADD = 0x00cc; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | ++++ */
public static final int O_VECT_SUB = 0x00cd; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | ---- */
public static final int O_VECT_SHR = 0x00ce; /* | + | + | + PrimitiveType [, доп. операнд типа int] | >>>> */
public static final int O_VECT_SHRU = 0x00cf; /* | + | + | + PrimitiveType [, доп. операнд типа int] | >>>>> */
public static final int O_VECT_SHL = 0x00d0; /* | + | + | + PrimitiveType [, доп. операнд типа int] | <<<< */
public static final int O_VECT_EQ = 0x00d2; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |==| */
public static final int O_VECT_NE = 0x00d3; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |!=| */
public static final int O_VECT_GT = 0x00d4; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |>>| */
public static final int O_VECT_GE = 0x00d5; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |>=| */
public static final int O_VECT_LT = 0x00d6; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |<<| */
public static final int O_VECT_LE = 0x00d7; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |<=| */
public static final int O_VECT_HMUL = 0x00d8; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |**| */
public static final int O_VECT_HMULU = 0x00d9; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | #**# */
public static final int O_VECT_SADD = 0x00dc; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |++| */
public static final int O_VECT_SADDU = 0x00dd; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | #++# */
public static final int O_VECT_SSUB = 0x00de; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | |--| */
public static final int O_VECT_SSUBU = 0x00df; /* | + | + | + PrimitiveType [, доп. операнд примитивного типа] | #--# */
public static final int WRITE_OPERATOR = 0x00e0; /* | | | | начальный код операторов модифицирования значения */
public static final int STORE_LOCAL = 0x00e1; /* | | + | + Local [, Constant(тип null или int) или Type(переменной)* ] | сохранение в локальной переменной */
public static final int DECLARE_LOCAL = 0x00e2; /* | | + | + Local [, Constant(тип null или int) или Type(переменной)* ] | декларирование локальной переменной */
public static final int DECLARE_WITH = 0x00e3; /* | | + | + Local [, Constant(тип null) или Type(переменной)* ] | декларирование локальной переменной для with */
public static final int STORE_STATIC = 0x00e5; /* | | + | + Field(статичный, не константа) [, Constant(тип null или int)] | сохранение в глобальной переменной */
public static final int WRITE_COMPONENT = 0x00e7; /* | | + | + Type(компонентов массива) | запись компонента массива */
public static final int WRITE_FIELD = 0x00e8; /* | | + | + Field(инстанционный) | запись поля инстанции или структуры */
public static final int WRITE_SPECIAL = 0x00e9; /* | | + | + Property(не абстрактный) | прямая запись свойства */
public static final int WRITE_PROPERTY = 0x00ea; /* | | + | + Property | косвенная запись свойства */
public static final int EXCEPT_ENTER = 0x00fb; /* | | + | . | вход в обработчик исключений */
public static final int EXCEPT_TRY = 0x00fc; /* | | + | . Node(целевой BEGIN), Node(целевой END) | описатель блока try */
public static final int EXCEPT_CATCH = 0x00fd; /* | | + | . Node(целевой DECLARE_LOCAL), ClassType(тип Throwable) | описатель блока catch */
public static final int EXCEPT_FINALLY = 0x00fe; /* | | + | . Node(целевой FINALLY_ENTER) | описатель блока finally */
public static final int EXCEPT_LEAVE = 0x00ff; /* | | + | . | выход из обработчика исключений */
/*</fold> | | | * генерируется из двоичного исходного кода | */
/*<fold модифицирование значений | лексема | примечания >*/
public static final int A_DELTA = 0x0080 ; /* | | разница между операторами чтения и модифицирования значения */
public static final int A_BIT_AND = A_DELTA + O_BIT_AND ; /* | + | &= */
public static final int A_BIT_OR = A_DELTA + O_BIT_OR ; /* | + | |= */
public static final int A_BIT_XOR = A_DELTA + O_BIT_XOR ; /* | + | ^= */
public static final int A_SCAL_MUL = A_DELTA + O_SCAL_MUL ; /* | + | *= */
public static final int A_SCAL_DIV = A_DELTA + O_SCAL_DIV ; /* | + | /= */
public static final int A_SCAL_DIVU = A_DELTA + O_SCAL_DIVU ; /* | + | //= */
public static final int A_SCAL_REM = A_DELTA + O_SCAL_REM ; /* | + | %= */
public static final int A_SCAL_REMU = A_DELTA + O_SCAL_REMU ; /* | + | %%= */
public static final int A_SCAL_ADD = A_DELTA + O_SCAL_ADD ; /* | + | += */
public static final int A_SCAL_SUB = A_DELTA + O_SCAL_SUB ; /* | + | -= */
public static final int A_SCAL_SHR = A_DELTA + O_SCAL_SHR ; /* | + | >>= */
public static final int A_SCAL_SHRU = A_DELTA + O_SCAL_SHRU ; /* | + | >>>= */
public static final int A_SCAL_SHL = A_DELTA + O_SCAL_SHL ; /* | + | <<= */
public static final int A_VECT_MUL = A_DELTA + O_VECT_MUL ; /* | + | ****= */
public static final int A_VECT_DIV = A_DELTA + O_VECT_DIV ; /* | + | ////= */
public static final int A_VECT_ADD = A_DELTA + O_VECT_ADD ; /* | + | ++++= */
public static final int A_VECT_SUB = A_DELTA + O_VECT_SUB ; /* | + | ----= */
public static final int A_VECT_SHR = A_DELTA + O_VECT_SHR ; /* | + | >>>>= */
public static final int A_VECT_SHRU = A_DELTA + O_VECT_SHRU ; /* | + | >>>>>= */
public static final int A_VECT_SHL = A_DELTA + O_VECT_SHL ; /* | + | <<<<= */
public static final int A_VECT_GT = A_DELTA + O_VECT_GT ; /* | + | |>>|= */
public static final int A_VECT_GE = A_DELTA + O_VECT_GE ; /* | + | |>=|= */
public static final int A_VECT_LT = A_DELTA + O_VECT_LT ; /* | + | |<<|= */
public static final int A_VECT_LE = A_DELTA + O_VECT_LE ; /* | + | |<=|= */
public static final int A_VECT_EQ = A_DELTA + O_VECT_EQ ; /* | + | |==|= */
public static final int A_VECT_NE = A_DELTA + O_VECT_NE ; /* | + | |!=|= */
public static final int A_VECT_HMUL = A_DELTA + O_VECT_HMUL ; /* | + | |**|= */
public static final int A_VECT_HMULU = A_DELTA + O_VECT_HMULU; /* | + | #**#= */
public static final int A_VECT_SADD = A_DELTA + O_VECT_SADD ; /* | + | |++|= */
public static final int A_VECT_SADDU = A_DELTA + O_VECT_SADDU; /* | + | #++#= */
public static final int A_VECT_SSUB = A_DELTA + O_VECT_SSUB ; /* | + | |--|= */
public static final int A_VECT_SSUBU = A_DELTA + O_VECT_SSUBU; /* | + | #--#= */
/*</fold>*/
/*<fold реверсные операторы | примечания >*/
public static final int R_DELTA = 0x00c0 ; /* | разница между операторами чтения и реверсными операторами */
public static final int R_BIT_AND = R_DELTA + O_BIT_AND ; /* | &` */
public static final int R_BIT_OR = R_DELTA + O_BIT_OR ; /* | |` */
public static final int R_BIT_XOR = R_DELTA + O_BIT_XOR ; /* | ^` */
public static final int R_SCAL_MUL = R_DELTA + O_SCAL_MUL ; /* | *` */
public static final int R_SCAL_DIV = R_DELTA + O_SCAL_DIV ; /* | /` */
public static final int R_SCAL_DIVU = R_DELTA + O_SCAL_DIVU ; /* | //` */
public static final int R_SCAL_REM = R_DELTA + O_SCAL_REM ; /* | %` */
public static final int R_SCAL_REMU = R_DELTA + O_SCAL_REMU ; /* | %%` */
public static final int R_SCAL_ADD = R_DELTA + O_SCAL_ADD ; /* | +` */
public static final int R_SCAL_SUB = R_DELTA + O_SCAL_SUB ; /* | -` */
public static final int R_SCAL_SHR = R_DELTA + O_SCAL_SHR ; /* | >>` */
public static final int R_SCAL_SHRU = R_DELTA + O_SCAL_SHRU ; /* | >>>` */
public static final int R_SCAL_SHL = R_DELTA + O_SCAL_SHL ; /* | <<` */
public static final int R_SCAL_GT = R_DELTA + O_SCAL_GT ; /* | >` */
public static final int R_SCAL_GE = R_DELTA + O_SCAL_GE ; /* | >=` */
public static final int R_SCAL_LT = R_DELTA + O_SCAL_LT ; /* | <` */
public static final int R_SCAL_LE = R_DELTA + O_SCAL_LE ; /* | <=` */
public static final int R_VECT_MUL = R_DELTA + O_VECT_MUL ; /* | ****` */
public static final int R_VECT_DIV = R_DELTA + O_VECT_DIV ; /* | ////` */
public static final int R_VECT_ADD = R_DELTA + O_VECT_ADD ; /* | ++++` */
public static final int R_VECT_SUB = R_DELTA + O_VECT_SUB ; /* | ----` */
public static final int R_VECT_SHR = R_DELTA + O_VECT_SHR ; /* | >>>>` */
public static final int R_VECT_SHRU = R_DELTA + O_VECT_SHRU ; /* | >>>>>` */
public static final int R_VECT_SHL = R_DELTA + O_VECT_SHL ; /* | <<<<` */
public static final int R_VECT_GT = R_DELTA + O_VECT_GT ; /* | |>>|` */
public static final int R_VECT_GE = R_DELTA + O_VECT_GE ; /* | |>=|` */
public static final int R_VECT_LT = R_DELTA + O_VECT_LT ; /* | |<<|` */
public static final int R_VECT_LE = R_DELTA + O_VECT_LE ; /* | |<=|` */
public static final int R_VECT_EQ = R_DELTA + O_VECT_EQ ; /* | |==|` */
public static final int R_VECT_NE = R_DELTA + O_VECT_NE ; /* | |!=|` */
public static final int R_VECT_HMUL = R_DELTA + O_VECT_HMUL ; /* | |**|` */
public static final int R_VECT_HMULU = R_DELTA + O_VECT_HMULU; /* | #**#` */
public static final int R_VECT_SADD = R_DELTA + O_VECT_SADD ; /* | |++|` */
public static final int R_VECT_SADDU = R_DELTA + O_VECT_SADDU; /* | #++#` */
public static final int R_VECT_SSUB = R_DELTA + O_VECT_SSUB ; /* | |--|` */
public static final int R_VECT_SSUBU = R_DELTA + O_VECT_SSUBU; /* | #--#` */
/*</fold>*/
/*<fold литералы примечания >*/
public static final int L_NAME = 0x0100; /* литерал – название элемента программы */
public static final int L_STRING = 0x0101; /* литерал – строка */
public static final int L_DOC = 0x0102; /* литерал – документация */
public static final int L_BOOLEAN = 0x0106; /* литерал типа boolean */
public static final int L_CHAR = 0x0107; /* литерал типа char */
public static final int L_REAL = 0x0109; /* литерал типа real */
public static final int L_DOUBLE = 0x010a; /* литерал типа double */
public static final int L_FLOAT = 0x010b; /* литерал типа float */
public static final int L_BYTE = 0x010c; /* литерал типа byte */
public static final int L_SHORT = 0x010d; /* литерал типа short */
public static final int L_INT = 0x010e; /* литерал типа int */
public static final int L_LONG = 0x010f; /* литерал типа long */
/*</fold>*/
/*<fold символы примечания >*/
public static final int PARENTH_OPENED = 0x0110; /* ( */
public static final int PARENTH_CLOSED = 0x0111; /* ) */
public static final int BRACKET_OPENED = 0x0112; /* [ */
public static final int BRACKET_CLOSED = 0x0113; /* ] */
public static final int CURLY_OPENED = 0x0114; /* { */
public static final int CURLY_CLOSED = 0x0115; /* } */
public static final int EQUALS = 0x0118; /* = */
public static final int QUESTION = 0x0119; /* ? */
public static final int REVERSE = 0x011a; /* ` */
public static final int PERIOD = 0x011c; /* . */
public static final int COMMA = 0x011d; /* , */
public static final int COLON = 0x011e; /* : */
public static final int SEMICOLON = 0x011f; /* ; */
public static final int L_END = -1; /* конец лексем */
/*</fold>*/
/*<fold документация кода примечания >*/
public static final int D_LEXEMES_LENGTH = 0x0170; /* количество лексем документации */
public static final int D_TEXT = 0x0000; /* слово или текст */
public static final int D_NAME = 0x0001; /* название элемента программы */
public static final int D_ALINK = 0x0002; /* @link */
public static final int D_APARAM = 0x0003; /* @param */
public static final int D_ARETURN = 0x0004; /* @return */
public static final int D_ATHROWS = 0x0005; /* @throws */
public static final int D_ASINCE = 0x0006; /* @since */
public static final int D_ASEE = 0x0007; /* @see */
public static final int D_SCAL_DIVU = 0x00a9; /* // */
public static final int D_SCAL_REMU = 0x00ab; /* %% */
public static final int D_SCAL_SHR = 0x00ae; /* >> */
public static final int D_SCAL_SHRU = 0x00af; /* >>> */
public static final int D_SCAL_SHL = 0x00b0; /* << */
public static final int D_SCAL_GE = 0x00b3; /* >= */
public static final int D_SCAL_LE = 0x00b5; /* <= */
public static final int D_SCAL_EQ = 0x00b6; /* == */
public static final int D_SCAL_NE = 0x00b7; /* != */
public static final int D_VECT_LUP = 0x00c0; /* #### */
public static final int D_VECT_UUP = 0x00c1; /* ^^^^ */
public static final int D_VECT_PCK = 0x00c2; /* @@@@ */
public static final int D_VECT_MUL = 0x00c6; /* **** */
public static final int D_VECT_DIV = 0x00c8; /* //// */
public static final int D_VECT_ADD = 0x00cc; /* ++++ */
public static final int D_VECT_SUB = 0x00cd; /* ---- */
public static final int D_VECT_SHR = 0x00ce; /* >>>> */
public static final int D_VECT_SHRU = 0x00cf; /* >>>>> */
public static final int D_VECT_SHL = 0x00d0; /* <<<< */
public static final int D_VECT_GT = 0x00d2; /* |>>| */
public static final int D_VECT_GE = 0x00d3; /* |>=| */
public static final int D_VECT_LT = 0x00d4; /* |<<| */
public static final int D_VECT_LE = 0x00d5; /* |<=| */
public static final int D_VECT_EQ = 0x00d6; /* |==| */
public static final int D_VECT_NE = 0x00d7; /* |!=| */
public static final int D_VECT_HMUL = 0x00d8; /* |**| */
public static final int D_VECT_HMULU = 0x00d9; /* #**# */
public static final int D_VECT_SADD = 0x00dc; /* |++| */
public static final int D_VECT_SADDU = 0x00dd; /* #++# */
public static final int D_VECT_SSUB = 0x00de; /* |--| */
public static final int D_VECT_SSUBU = 0x00df; /* #--# */
public static final int D_PARENTH_OPENED = 0x0150; /* ( */
public static final int D_PARENTH_CLOSED = 0x0151; /* ) */
public static final int D_BRACKET_OPENED = 0x0152; /* [ */
public static final int D_BRACKET_CLOSED = 0x0153; /* ] */
public static final int D_CURLY_OPENED = 0x0154; /* { */
public static final int D_CURLY_CLOSED = 0x0155; /* } */
public static final int D_TAG_OPENED = 0x0156; /* < */
public static final int D_TAG_CLOSED = 0x0157; /* > */
public static final int D_EQUALS = 0x0158; /* = */
public static final int D_GRAVE_ACCENT = 0x0159; /* ` */
public static final int D_PERIOD = 0x015a; /* . */
public static final int D_COMMA = 0x015b; /* , */
public static final int D_EXCLAM_MARK = 0x0160; /* ! */
public static final int D_VERTICAL_LINE = 0x0161; /* | */
public static final int D_AMPERSAND = 0x0162; /* & */
public static final int D_TILDE = 0x0163; /* ~ */
public static final int D_POUND_SIGN = 0x0164; /* # */
public static final int D_CIRCUMFLEX_ACC = 0x0165; /* ^ */
public static final int D_ASTERISK = 0x0166; /* * */
public static final int D_SOLIDUS = 0x0167; /* / */
public static final int D_PERCENT = 0x0168; /* % */
public static final int D_PLUS = 0x0169; /* + */
public static final int D_MINUS = 0x016a; /* - */
public static final int D_AT = 0x016b; /* @ */
public static final int D_EOL = -3; /* конец строки */
public static final int D_EOP = -2; /* конец абзаца */
public static final int D_END = -1; /* конец лексем */
/*</fold>*/
/*<fold типы лексем>*/
public static final int LT_NONE = 0x00;
public static final int LT_BOOLEAN = 0x01;
public static final int LT_CHAR = 0x02;
public static final int LT_BYTE = 0x03;
public static final int LT_SHORT = 0x04;
public static final int LT_INT = 0x05;
public static final int LT_LONG = 0x06;
public static final int LT_FLOAT = 0x07;
public static final int LT_DOUBLE = 0x08;
public static final int LT_REAL = 0x09;
public static final int LT_STRING = 0x0a;
/*</fold>*/
/*<fold индексы компонентов информации о лексеме>*/
public static final int ILINE = 0; /* индекс строки */
public static final int ICHAR = 1; /* индекс символа */
public static final int LKIND = 2; /* разновидность лексемы */
public static final int LTYPE = 3; /* тип лексемы */
/*</fold>*/
/*<fold разрядность кода>*/
public static final int BITS32 = 32;
public static final int BITS64 = 64;
/*</fold>*/
/*<fold ограничения>*/
public static final int LIMIT_ARGUMENTS_LENGTH = 30; /* предельное количество аргументов вызываемого члена */
public static final int LIMIT_DIMENSIONS_COUNT = 99; /* предельное количество измерений массива */
public static final int LIMIT_NAME_LENGTH = 239; /* предельная длина названия элемента программы */
public static final int LIMIT_FIELD_LENGTH = 0x00010000; /* предельная длина поля структуры */
public static final int LIMIT_EXCEPTIONS_LENGTH = 0x20000000; /* предельное количество исключений метода в секции throws */
public static final int LIMIT_FIELD_OFFSET = 0x7fbfffff; /* предельное смещение поля структуры */
/*</fold>*/
/*<fold атрибуты и маски>*/
public static final int ATTR_ABSTRACT = 0b0000000001000; /* абстрактный */
public static final int ATTR_FINAL = 0b0000000010000; /* финальный */
public static final int ATTR_SERVICE = 0b0000000100000; /* сервис */
public static final int ATTR_STRUCT = 0b0000001000000; /* структура */
public static final int ATTR_INTERFACE = 0b0000001100000; /* протокол */
public static final int ATTR_PRIMITIVE = 0b0000010000000; /* примитив */
public static final int ATTR_STATIC = 0b0000100000000; /* статичный */
public static final int ATTR_NATIVE = 0b0001000000000; /* написан на ассемблере (нет у абстрактных членов) */
public static final int ATTR_INTERRUPT = 0b0010000000000; /* обработчик прерывания (нет у абстрактных методов) */
public static final int ATTR_SYNCHRONIZED = 0b0100000000000; /* синхронизированный (нет у абстрактных членов) */
public static final int ATTR_SYNTHETIC = 0b1000000000000; /* добавлен компилятором */
public static final int MASK_VISIBILITY = 0b0000000000111; /* маска видимости */
public static final int MASK_BINDING = 0b0000000011000; /* маска связывания */
public static final int MASK_TYPE = 0b0000011100000; /* маска атрибутов типа */
public static final int MASK_MEMBER = 0b1111100000000; /* маска атрибутов члена */
public static final int MASK_CODE = 0b0111000000000; /* маска деталей реализации (нет у абстрактных членов) */
public static final int MASK_ATTRIBUTES = 0b1111111111111; /* маска всех атрибутов */
/*</fold>*/
/*<fold версия ПВТ-ОО>*/
public static final String VERSION = "0.6";
/*</fold>*/
/*<fold канонические названия важных пакетов, используемых компилятором>*/
public static final String PACKNAME_LANG = "avt.lang";
/*</fold>*/
/*<fold простые названия важных типов, используемых компилятором>*/
public static final String TYPENAME_NULL = "null";
public static final String TYPENAME_CLASS = "Class";
public static final String TYPENAME_ERROR = "Error";
public static final String TYPENAME_OBJECT = "Object";
public static final String TYPENAME_STRING = "String";
public static final String TYPENAME_STRUCT = "Struct";
public static final String TYPENAME_PACKAGE = "Package";
public static final String TYPENAME_THROWABLE = "Throwable";
public static final String TYPENAME_RUNTIME_EXCEPTION = "RuntimeException";
/*</fold>*/
/*<fold специальные названия особых элементов>*/
public static final String SPECNAME_INST_INIT = "<init>"; /* конструктор */
public static final String SPECNAME_CLASS_INIT = "<clinit>"; /* блок static */
public static final String SPECNAME_THIS = "this"; /* аргумент this */
public static final String SPECNAME_VALUE = "value"; /* аргумент value */
public static final String SPECNAME_INDEX = "index"; /* переменная index */
/*</fold>*/
/*<fold ассемблерные названия особых элементов>*/
public static final String FASMNAME_SYSTEM_PACKAGE = "system.package"; /* системный пакет */
public static final String FASMNAME_INST_INIT = "$init$"; /* конструктор */
public static final String FASMNAME_CLASS_INIT = "$clinit$"; /* статичный блок */
/*</fold>*/
/*<fold просматриваемые названия особых элементов>*/
public static final String VIEWNAME_CLASS_INIT = "static";
public static final String VIEWNAME_OPERATOR = "operator\u0020";
/*</fold>*/
/*<fold суффиксы особых членов>*/
public static final String MEMBER_SUFFIX_READ = "read";
public static final String MEMBER_SUFFIX_WRITE = "write";
public static final String MEMBER_SUFFIX_INDEX = "index";
public static final String MEMBER_SUFFIX_STORED = "stored";
/*</fold>*/
/*<fold типы исходного кода>*/
public static final String TEXT_SOURCE = "text";
public static final String BINARY_SOURCE = "binary";
/*</fold>*/
public static boolean isPrimitiveKind(int kind) { return kind != REF && (kind <= REAL || kind >= DOUBLE); }
}