{"version":3,"sources":["binary_codes.ts"],"sourcesContent":["\nexport enum BinaryCode {\n\n\n    // flow instructions 0x00 - 0x0f\n    EXIT                = 0x00,\n    CLOSE_AND_STORE     = 0x01, // ;\n    SUBSCOPE_START      = 0x02, // (\n    SUBSCOPE_END        = 0x03, // )\n    CACHE_POINT         = 0x04, // cache dxb from this point on\n    CACHE_RESET         = 0x05, // reset dxb scope cache\n\n    // primitive / fundamental types 0x10 - 0x2f\n    STD_TYPE_TEXT       = 0x10,\n    STD_TYPE_INT        = 0x11,\n    STD_TYPE_FLOAT      = 0x12,\n    STD_TYPE_BOOLEAN    = 0x13,\n    STD_TYPE_NULL       = 0x14,\n    STD_TYPE_VOID       = 0x15,\n    STD_TYPE_BUFFER     = 0x16,\n    STD_TYPE_CODE_BLOCK = 0x17,\n    STD_TYPE_UNIT       = 0x18,\n    STD_TYPE_TIME       = 0x19,\n    STD_TYPE_URL        = 0x1a,\n\n    STD_TYPE_ARRAY      = 0x1b,\n    STD_TYPE_OBJECT     = 0x1c,\n    STD_TYPE_SET        = 0x1d,\n    STD_TYPE_MAP        = 0x1e,\n    STD_TYPE_TUPLE      = 0x1f,\n\n    STD_TYPE_FUNCTION   = 0x20,\n    STD_TYPE_STREAM     = 0x21,\n    STD_TYPE_ANY        = 0x22,\n    STD_TYPE_ASSERTION  = 0x23,\n    STD_TYPE_TASK       = 0x24,\n    STD_TYPE_ITERATOR   = 0x25,\n\n\n    // internal variables and other shorthands 0x30 - 0x4f\n    VAR_RESULT          = 0x30,\n    SET_VAR_RESULT      = 0x31,\n    SET_VAR_RESULT_REFERENCE = \n                          0x32,\n    VAR_RESULT_ACTION   = 0x33,\n\n    VAR_SUB_RESULT      = 0x34,\n    SET_VAR_SUB_RESULT  = 0x35,\n    SET_VAR_SUB_RESULT_REFERENCE = \n                          0x36,\n    VAR_SUB_RESULT_ACTION = \n                          0x37,\n\n    VAR_VOID            = 0x38,\n    SET_VAR_VOID        = 0x39,\n    SET_VAR_VOID_REFERENCE =\n                         0x3a,\n    VAR_VOID_ACTION     = 0x3b,\n\n    _VAR_ORIGIN          = 0x3c,\n    _SET_VAR_ORIGIN      = 0x3d,\n    _SET_VAR_ORIGIN_REFERENCE = \n                          0x3e,\n    _VAR_ORIGIN_ACTION   = 0x3f,\n\n    VAR_IT              = 0x40,\n    SET_VAR_IT          = 0x41,\n    SET_VAR_IT_REFERENCE= 0x42,\n    VAR_IT_ACTION       = 0x43,\n    \n    VAR_REMOTE          = 0x44,\n\n    VAR_REMOTE_ACTION   = 0x45,\n    VAR_ORIGIN          = 0x46,\n    VAR_ENDPOINT         = 0x47,\n    // VAR_ENCRYPTED       = 0x48,\n    // VAR_SIGNED          = 0x49,\n    // VAR_TIMESTAMP       = 0x4a,\n    VAR_META            = 0x4b,\n    VAR_PUBLIC          = 0x4c,\n    VAR_THIS            = 0x4d,\n    VAR_LOCATION        = 0x4e,\n    VAR_ENV             = 0x4f,\n    VAR_ENTRYPOINT      = 0x48,\n    VAR_STD             = 0x49,\n\n    // runtime commands 0x50 - 0x7f\n\n    RETURN              = 0x50, // return\n    TEMPLATE            = 0x51, // template\n    EXTENDS             = 0x52, // extends\n    IMPLEMENTS          = 0x53, // implements\n    MATCHES             = 0x54, // matches\n    DEBUGGER            = 0x55, // debugger\n    JMP                 = 0x56, // jmp labelname\n    JTR                 = 0x57, // jtr labelname\n    JFA                 = 0x58, // jfa labelname (TODO replace with 0xa)\n    COUNT               = 0x59, // count x\n    ABOUT               = 0x5a, // about x\n    NEW                 = 0x5b, // new <x> ()\n    DELETE_POINTER      = 0x5c, // delete $aa\n    COPY                = 0x5f, // copy $aa\n    CLONE               = 0x60, // clone $aa\n    ORIGIN              = 0x61, // origin $aa\n    SUBSCRIBERS         = 0x62, // subscribers $aa\n    PLAIN_SCOPE         = 0x63, // scope xy;\n    // don't use 0x64 (magic number) \n    TRANSFORM           = 0x65, // transform x <Int>\n    OBSERVE             = 0x66, // observe x ()=>()\n    RUN                 = 0x67, // run xy;\n    AWAIT               = 0x68, // await xy;\n    DEFER               = 0x69, // defer xy;\n    FUNCTION            = 0x6a, // function ()\n    ASSERT              = 0x6b, // assert\n    ITERATOR            = 0x6c, // iterator ()\n    NEXT                = 0x6d, // next it\n    FREEZE              = 0x6e, // freeze\n    SEAL                = 0x6f, // seal\n    HAS                 = 0x70, // x has y\n    KEYS                = 0x71, // keys x\n    GET_TYPE            = 0x72, // type $aa\n    GET                 = 0x73, // request file://..., request @user::34\n    RANGE               = 0x74, // ..\n    RESOLVE_RELATIVE_PATH =\n                          0x75, // ./abc\n    DO                  = 0x76, // do xy;\n    DEFAULT             = 0x77, // x default y\n    COLLAPSE            = 0x78, // ... x\n    RESPONSE            = 0x79, // response x\n    CLONE_COLLAPSE      = 0x88, // collapse\n\n    // comparators 0x80 - 0x8f\n    EQUAL_VALUE         = 0x80, // ==\n    NOT_EQUAL_VALUE     = 0x81, // ~=\n    EQUAL               = 0x82, // ===\n    NOT_EQUAL           = 0x83, // ~==\n    GREATER             = 0x84, // >\n    LESS                = 0x85, // <\n    GREATER_EQUAL       = 0x86, // >=\n    LESS_EQUAL          = 0x87, // <=\n\n    // logical + algebraic operators 0x90  - 0x9f\n    AND                 = 0x90,  // &\n    OR                  = 0x91,  // |\n    ADD                 = 0x92,  // +\n    SUBTRACT            = 0x93,  // -\n    MULTIPLY            = 0x94,  // *\n    DIVIDE              = 0x95,  // /\n    NOT                 = 0x96,  // ~\n    MODULO              = 0x97,  // %\n    POWER               = 0x98,  // ^\n    INCREMENT           = 0x99,  // ++\n    DECREMENT           = 0x9a,  // --\n\n    // pointers & variables 0xa0 - 0xbf\n\n\n    INTERNAL_VAR        = 0xa4, // #xyz   0x0000-0x00ff = variables passed on between scopes, 0x0100-0xfdff = normal variables, 0xfe00-0xffff = it variables (#it.0, #it.1, ...) for function arguments\n    SET_INTERNAL_VAR    = 0xa5, // #aa = ...\n    INIT_INTERNAL_VAR   = 0xa6, // #aa := ...\n    INTERNAL_VAR_ACTION = 0xa7, // #x += ...\n    SET_INTERNAL_VAR_REFERENCE =\n                          0xa8, // #x $= ...\n\n    LABEL               = 0xa9, // $x\n    SET_LABEL           = 0xaa, // $x = ...,\n    INIT_LABEL          = 0xab, // $x := ...\n    LABEL_ACTION        = 0xac, // $x += ...\n\n    POINTER             = 0xad, // $x\n    SET_POINTER         = 0xae, // $aa = ...\n    INIT_POINTER        = 0xaf, // $aa := ...\n    POINTER_ACTION      = 0xb0, // $aa += ...\n    CREATE_POINTER      = 0xb1, // $$ ()\n\n    CHILD_GET           = 0xb2,  // .y\n    CHILD_SET           = 0xb3,  // .y = a\n    CHILD_SET_REFERENCE = 0xb4,  // .y $= a\n    CHILD_ACTION        = 0xb5,  // .y += a, ...\n    CHILD_GET_REF       = 0xb6,  // ->y\n\n    WILDCARD            = 0xb7, // *\n\n    // values 0xc0 - 0xdf\n\n    TEXT                = 0xc0,\n    INT_8               = 0xc1, // byte\n    INT_16              = 0xc2, \n    INT_32              = 0xc3,\n    INT_64              = 0xc4,\n    FLOAT_64            = 0xc5,\n    TRUE                = 0xc6,\n    FALSE               = 0xc7,\n    NULL                = 0xc8,\n    VOID                = 0xc9,\n    BUFFER              = 0xca,\n    SCOPE_BLOCK         = 0xcb,\n    QUANTITY            = 0xcc,\n    FLOAT_AS_INT_32     = 0xcd,\n    FLOAT_AS_INT_8      = 0xde,\n    BIG_INT             = 0xdf,\n\n    SHORT_TEXT          = 0xce, // string with max. 255 characters\n\n    PERSON_ALIAS        = 0xcf,\n    PERSON_ALIAS_WILDCARD = \n                          0xd0,\n    INSTITUTION_ALIAS   = 0xd1,\n    INSTITUTION_ALIAS_WILDCARD = \n                          0xd2,\n    BOT                 = 0xd3,\n    BOT_WILDCARD        = 0xd4,\n\n    ENDPOINT            = 0xd5,\n    ENDPOINT_WILDCARD   = 0xd6,\n\n    URL                 = 0xd8, //file://... , https://...\n\n    TYPE                = 0xd9, // <type>\n    EXTENDED_TYPE       = 0xda, // <type/xy()>\n\n    CONJUNCTION         = 0xdb,  // x&y&z\n    DISJUNCTION         = 0xdc,  // x|y|z\n\n    TIME                = 0xdd,  // ~2022-10-10~\n\n    // arrays, objects and tuples 0xe0 - 0xef\n\n    ARRAY_START         = 0xe0,  // array / or array\n    ARRAY_END           = 0xe1,\n    OBJECT_START        = 0xe2,  // {}\n    OBJECT_END          = 0xe3,\n    TUPLE_START         = 0xe4,  // (a,b,c)\n    TUPLE_END           = 0xe5,\n    ELEMENT_WITH_KEY    = 0xe6,  // for object elements\n    ELEMENT_WITH_INT_KEY= 0xe7,  // for array elements\n    ELEMENT_WITH_DYNAMIC_KEY = \n                          0xe8,  // for object elements with dynamic key\n    KEY_PERMISSION      = 0xe9,  // for object elements with permission prefix\n    ELEMENT             = 0xea,  // for array elements\n    INTERNAL_OBJECT_SLOT   = 0xef,  // for object internal slots\n\n    // special instructions 0xf0 - 0xff\n\n    SYNC                = 0xf0, // <==\n    STOP_SYNC           = 0xf1, // </=\n\n    STREAM              = 0xf2,  // << stream\n    STOP_STREAM         = 0xf3,  // </ stream\n\n    EXTEND              = 0xf4, // ...\n\n    YEET                = 0xf5,  // !\n\n    REMOTE              = 0xf6, // ::\n\n    _SYNC_SILENT        = 0xf7 // <==:\n}\n"],"names":["BinaryCode"],"mappings":"IACYA;;;CAAAA,aAAAA,gBAAAA","sourceRoot":"/lib/datex-core-js-legacy-0.3.15/compiler/","file":"binary_codes.ts"}