| Qore Programming Language - C/C++ Library 1.0.8

node_types.h
Go to the documentation of this file.
1 /* -*- mode: c++; indent-tabs-mode: nil -*- */
2 /*
3 node_types.h
4
5 Qore Programming Language
6
7 Copyright (C) 2003 - 2018 Qore Technologies, s.r.o.
8
9 Permission is hereby granted, free of charge, to any person obtaining a
10 copy of this software and associated documentation files (the "Software"),
11 to deal in the Software without restriction, including without limitation
12 the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 and/or sell copies of the Software, and to permit persons to whom the
14 Software is furnished to do so, subject to the following conditions:
15
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26
27 Note that the Qore library is released under a choice of three open-source
28 licenses: MIT (as above), LGPL 2+, or GPL 2+; see README-LICENSE for more
29 information.
30 */
31
32 #ifndef _QORE_NODE_TYPES_H
33
34 #define _QORE_NODE_TYPES_H
35
40 // qore global system type constants
41 // value types must come first to support the operator matrix optimization
42 const qore_type_t NT_NOTHING = 0;
43 const qore_type_t NT_INT = 1;
44 const qore_type_t NT_FLOAT = 2;
45 const qore_type_t NT_STRING = 3;
46 const qore_type_t NT_DATE = 4;
47 const qore_type_t NT_BOOLEAN = 5;
48 const qore_type_t NT_NULL = 6;
49 const qore_type_t NT_BINARY = 7;
50 const qore_type_t NT_LIST = 8;
51 const qore_type_t NT_HASH = 9;
52 const qore_type_t NT_OBJECT = 10;
53 const qore_type_t NT_NUMBER = 11;
54 const qore_type_t NT_CONTEXTREF = 12;
55 const qore_type_t NT_COMPLEXCONTEXTREF = 13;
56 const qore_type_t NT_VARREF = 14;
57 const qore_type_t NT_TREE = 15;
58 const qore_type_t NT_FIND = 16;
59 const qore_type_t NT_FUNCTION_CALL = 17;
60 const qore_type_t NT_SELF_VARREF = 18;
61 const qore_type_t NT_SCOPE_REF = 19;
62 const qore_type_t NT_CONSTANT = 20;
63 const qore_type_t NT_BAREWORD = 21;
64 const qore_type_t NT_REFERENCE = 22;
65 const qore_type_t NT_CONTEXT_ROW = 23;
66 const qore_type_t NT_CLASSREF = 24;
67 const qore_type_t NT_OBJMETHREF = 25;
68 const qore_type_t NT_FUNCREF = 26;
69 const qore_type_t NT_FUNCREFCALL = 27;
70 const qore_type_t NT_CLOSURE = 28;
71 const qore_type_t NT_RUNTIME_CLOSURE = 29;
72 const qore_type_t NT_IMPLICIT_ARG = 30;
73 const qore_type_t NT_METHOD_CALL = 31;
74 const qore_type_t NT_STATIC_METHOD_CALL = 32;
75 const qore_type_t NT_SELF_CALL = 33;
76 const qore_type_t NT_OPERATOR = 34;
77 const qore_type_t NT_IMPLICIT_ELEMENT = 35;
78 const qore_type_t NT_CLASS_VARREF = 36;
79 const qore_type_t NT_PROGRAM_FUNC_CALL = 37;
80 const qore_type_t NT_PARSEREFERENCE = 38;
81 const qore_type_t NT_BACKQUOTE = 39;
82 const qore_type_t NT_RTCONSTREF = 40;
83 const qore_type_t NT_PARSE_HASH = 41;
84 const qore_type_t NT_PARSE_LIST = 42;
85 const qore_type_t NT_PARSE_NEW_COMPLEX_TYPE = 43;
86 const qore_type_t NT_NEW_HASHDECL = 44;
87 const qore_type_t NT_WEAKREF = 45;
88
90 #define QORE_NUM_TYPES 45
91
93 #define NUM_SIMPLE_TYPES 8
94
96 #define NUM_VALUE_TYPES 12
97
98 #endif
NT_STATIC_METHOD_CALL
const qore_type_t NT_STATIC_METHOD_CALL
type value for StaticMethodCallNode (private class)
Definition: node_types.h:74
NT_BINARY
const qore_type_t NT_BINARY
type value for BinaryNode
Definition: node_types.h:49
NT_CLOSURE
const qore_type_t NT_CLOSURE
type value for QoreClosureParseNode (private class)
Definition: node_types.h:70
NT_WEAKREF
const qore_type_t NT_WEAKREF
type value for WeakReferenceNode
Definition: node_types.h:87
NT_CLASS_VARREF
const qore_type_t NT_CLASS_VARREF
type value for StaticClassVarRefNode (private class)
Definition: node_types.h:78
NT_RTCONSTREF
const qore_type_t NT_RTCONSTREF
type value for RuntimeConstantRefNode
Definition: node_types.h:82
NT_SELF_VARREF
const qore_type_t NT_SELF_VARREF
type value for SelfVarrefNode
Definition: node_types.h:60
NT_CONTEXT_ROW
const qore_type_t NT_CONTEXT_ROW
type value for ContextRowNode
Definition: node_types.h:65
NT_LIST
const qore_type_t NT_LIST
type value for QoreListNode
Definition: node_types.h:50
NT_PROGRAM_FUNC_CALL
const qore_type_t NT_PROGRAM_FUNC_CALL
type value for ProgramFunctionCallNode (private class)
Definition: node_types.h:79
NT_CONSTANT
const qore_type_t NT_CONSTANT
type value for ScopedRefNode (private class)
Definition: node_types.h:62
NT_NOTHING
const qore_type_t NT_NOTHING
type value for QoreNothingNode
Definition: node_types.h:42
NT_OBJECT
const qore_type_t NT_OBJECT
type value for QoreObject
Definition: node_types.h:52
NT_VARREF
const qore_type_t NT_VARREF
type value for VarRefNode
Definition: node_types.h:56
NT_DATE
const qore_type_t NT_DATE
type value for DateTimeNode
Definition: node_types.h:46
NT_METHOD_CALL
const qore_type_t NT_METHOD_CALL
type value for MethodCallNode (private class)
Definition: node_types.h:73
NT_FUNCREF
const qore_type_t NT_FUNCREF
type value for AbstractCallReferenceNode
Definition: node_types.h:68
NT_SELF_CALL
const qore_type_t NT_SELF_CALL
type value for SelfFunctionCallNode (private class)
Definition: node_types.h:75
NT_NULL
const qore_type_t NT_NULL
type value for QoreNullNode
Definition: node_types.h:48
NT_FUNCTION_CALL
const qore_type_t NT_FUNCTION_CALL
type value for FunctionCallNode
Definition: node_types.h:59
NT_NEW_HASHDECL
const qore_type_t NT_NEW_HASHDECL
type value for NewHashDeclNode
Definition: node_types.h:86
NT_CONTEXTREF
const qore_type_t NT_CONTEXTREF
type value for ContextrefNode
Definition: node_types.h:54
NT_TREE
const qore_type_t NT_TREE
type value for QoreTreeNode
Definition: node_types.h:57
NT_PARSE_NEW_COMPLEX_TYPE
const qore_type_t NT_PARSE_NEW_COMPLEX_TYPE
type value for ParseNewComplexTypeNode
Definition: node_types.h:85
NT_RUNTIME_CLOSURE
const qore_type_t NT_RUNTIME_CLOSURE
type value for ResolvedCallReferenceNode (QoreClosureNode, QoreObjectClosureNode) ...
Definition: node_types.h:71
NT_OBJMETHREF
const qore_type_t NT_OBJMETHREF
type value for AbstractParseObjectMethodReferenceNode
Definition: node_types.h:67
NT_HASH
const qore_type_t NT_HASH
type value for QoreHashNode
Definition: node_types.h:51
NT_PARSE_LIST
const qore_type_t NT_PARSE_LIST
type value for QoreParseListNode
Definition: node_types.h:84
NT_REFERENCE
const qore_type_t NT_REFERENCE
type value for ReferenceNode
Definition: node_types.h:64
NT_STRING
const qore_type_t NT_STRING
type value for QoreStringNode
Definition: node_types.h:45
NT_SCOPE_REF
const qore_type_t NT_SCOPE_REF
type value for ScopedObjectCallNode
Definition: node_types.h:61
NT_FLOAT
const qore_type_t NT_FLOAT
type value for floating-point values (QoreValue only)
Definition: node_types.h:44
NT_BOOLEAN
const qore_type_t NT_BOOLEAN
type value for bools (QoreValue only)
Definition: node_types.h:47
NT_INT
const qore_type_t NT_INT
type value for integers (QoreValue only)
Definition: node_types.h:43
NT_OPERATOR
const qore_type_t NT_OPERATOR
type value for QoreOperatorNode (private class)
Definition: node_types.h:76
NT_PARSE_HASH
const qore_type_t NT_PARSE_HASH
type value for QoreParseHashNode
Definition: node_types.h:83
NT_IMPLICIT_ARG
const qore_type_t NT_IMPLICIT_ARG
type value for QoreImplicitArgumentNode (private class)
Definition: node_types.h:72
qore_type_t
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:70
NT_NUMBER
const qore_type_t NT_NUMBER
type value for QoreNumberNode
Definition: node_types.h:53
NT_BAREWORD
const qore_type_t NT_BAREWORD
type value for BarewordNode
Definition: node_types.h:63
NT_FIND
const qore_type_t NT_FIND
type value for FindNode
Definition: node_types.h:58
NT_IMPLICIT_ELEMENT
const qore_type_t NT_IMPLICIT_ELEMENT
type value for QoreImplicitElementNode (private clas)
Definition: node_types.h:77
NT_COMPLEXCONTEXTREF
const qore_type_t NT_COMPLEXCONTEXTREF
type value for ComplexContextrefNode
Definition: node_types.h:55
NT_BACKQUOTE
const qore_type_t NT_BACKQUOTE
type value for BackquoteNode
Definition: node_types.h:81
NT_CLASSREF
const qore_type_t NT_CLASSREF
type value for ClassRefNode
Definition: node_types.h:66
NT_PARSEREFERENCE
const qore_type_t NT_PARSEREFERENCE
type value for ParseReferenceNode (private class)
Definition: node_types.h:80
NT_FUNCREFCALL
const qore_type_t NT_FUNCREFCALL
type value for CallReferenceCallNode
Definition: node_types.h:69