All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
node_types.h
Go to the documentation of this file.
/* -*- mode: c++; indent-tabs-mode: nil -*- */
/*
node_types.h
Qore Programming Language
Copyright 2003 - 2013 David Nichols
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef _QORE_NODE_TYPES_H
#define _QORE_NODE_TYPES_H
// qore global system type constants
// value types must come first to support the operator matrix optimization
const qore_type_t NT_NOTHING = 0;
const qore_type_t NT_INT = 1;
const qore_type_t NT_FLOAT = 2;
const qore_type_t NT_STRING = 3;
const qore_type_t NT_DATE = 4;
const qore_type_t NT_BOOLEAN = 5;
const qore_type_t NT_NULL = 6;
const qore_type_t NT_BINARY = 7;
const qore_type_t NT_LIST = 8;
const qore_type_t NT_HASH = 9;
const qore_type_t NT_OBJECT = 10;
const qore_type_t NT_NUMBER = 11;
const qore_type_t NT_CONTEXTREF = 12;
const qore_type_t NT_COMPLEXCONTEXTREF = 13;
const qore_type_t NT_VARREF = 14;
const qore_type_t NT_TREE = 15;
const qore_type_t NT_FIND = 16;
const qore_type_t NT_FUNCTION_CALL = 17;
const qore_type_t NT_SELF_VARREF = 18;
const qore_type_t NT_SCOPE_REF = 19;
const qore_type_t NT_CONSTANT = 20;
const qore_type_t NT_BAREWORD = 21;
const qore_type_t NT_REFERENCE = 22;
const qore_type_t NT_CONTEXT_ROW = 23;
const qore_type_t NT_REGEX_SUBST = 24;
const qore_type_t NT_REGEX_TRANS = 25;
const qore_type_t NT_REGEX = 26;
const qore_type_t NT_CLASSREF = 27;
const qore_type_t NT_OBJMETHREF = 28;
const qore_type_t NT_FUNCREF = 29;
const qore_type_t NT_FUNCREFCALL = 30;
const qore_type_t NT_CLOSURE = 31;
const qore_type_t NT_RUNTIME_CLOSURE = 32;
const qore_type_t NT_IMPLICIT_ARG = 33;
const qore_type_t NT_METHOD_CALL = 34;
const qore_type_t NT_STATIC_METHOD_CALL = 35;
const qore_type_t NT_SELF_CALL = 36;
const qore_type_t NT_OPERATOR = 37;
const qore_type_t NT_IMPLICIT_ELEMENT = 38;
const qore_type_t NT_CLASS_VARREF = 39;
const qore_type_t NT_PROGRAM_FUNC_CALL = 40;
const qore_type_t NT_PARSEREFERENCE = 41;
const qore_type_t NT_BACKQUOTE = 42;
const qore_type_t NT_RTCONSTREF = 43;
#define QORE_NUM_TYPES 43
#define NUM_SIMPLE_TYPES 8
#define NUM_VALUE_TYPES 12
#endif
NT_STATIC_METHOD_CALL
const qore_type_t NT_STATIC_METHOD_CALL
type value for StaticMethodCallNode (private class)
Definition: node_types.h:69
NT_BINARY
const qore_type_t NT_BINARY
type value for BinaryNode
Definition: node_types.h:41
NT_CLOSURE
const qore_type_t NT_CLOSURE
type value for QoreClosureParseNode (private class)
Definition: node_types.h:65
NT_REGEX
const qore_type_t NT_REGEX
type value for QoreRegexNode
Definition: node_types.h:60
NT_CLASS_VARREF
const qore_type_t NT_CLASS_VARREF
type value for StaticClassVarRefNode (private class)
Definition: node_types.h:73
NT_RTCONSTREF
const qore_type_t NT_RTCONSTREF
type value for RuntimeConstantRefNode
Definition: node_types.h:77
NT_SELF_VARREF
const qore_type_t NT_SELF_VARREF
type value for SelfVarrefNode
Definition: node_types.h:52
NT_CONTEXT_ROW
const qore_type_t NT_CONTEXT_ROW
type value for ContextRowNode
Definition: node_types.h:57
NT_LIST
const qore_type_t NT_LIST
type value for QoreListNode
Definition: node_types.h:42
NT_PROGRAM_FUNC_CALL
const qore_type_t NT_PROGRAM_FUNC_CALL
type value for ProgramFunctionCallNode (private class)
Definition: node_types.h:74
NT_CONSTANT
const qore_type_t NT_CONSTANT
type value for ScopedRefNode (private class)
Definition: node_types.h:54
NT_NOTHING
const qore_type_t NT_NOTHING
type value for QoreNothingNode
Definition: node_types.h:34
NT_OBJECT
const qore_type_t NT_OBJECT
type value for QoreObject
Definition: node_types.h:44
NT_VARREF
const qore_type_t NT_VARREF
type value for VarRefNode
Definition: node_types.h:48
NT_DATE
const qore_type_t NT_DATE
type value for DateTimeNode
Definition: node_types.h:38
NT_METHOD_CALL
const qore_type_t NT_METHOD_CALL
type value for MethodCallNode (private class)
Definition: node_types.h:68
NT_FUNCREF
const qore_type_t NT_FUNCREF
type value for AbstractCallReferenceNode
Definition: node_types.h:63
NT_SELF_CALL
const qore_type_t NT_SELF_CALL
type value for SelfFunctionCallNode (private class)
Definition: node_types.h:70
NT_NULL
const qore_type_t NT_NULL
type value for QoreNullNode
Definition: node_types.h:40
qore_type_t
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:59
NT_FUNCTION_CALL
const qore_type_t NT_FUNCTION_CALL
type value for FunctionCallNode
Definition: node_types.h:51
NT_CONTEXTREF
const qore_type_t NT_CONTEXTREF
type value for ContextrefNode
Definition: node_types.h:46
NT_TREE
const qore_type_t NT_TREE
type value for QoreTreeNode
Definition: node_types.h:49
NT_RUNTIME_CLOSURE
const qore_type_t NT_RUNTIME_CLOSURE
type value for ResolvedCallReferenceNode (QoreClosureNode, QoreObjectClosureNode) ...
Definition: node_types.h:66
NT_OBJMETHREF
const qore_type_t NT_OBJMETHREF
type value for AbstractParseObjectMethodReferenceNode
Definition: node_types.h:62
NT_HASH
const qore_type_t NT_HASH
type value for QoreHashNode
Definition: node_types.h:43
NT_REFERENCE
const qore_type_t NT_REFERENCE
type value for ReferenceNode
Definition: node_types.h:56
NT_STRING
const qore_type_t NT_STRING
type value for QoreStringNode
Definition: node_types.h:37
NT_REGEX_SUBST
const qore_type_t NT_REGEX_SUBST
type value for RegexSubstNode
Definition: node_types.h:58
NT_SCOPE_REF
const qore_type_t NT_SCOPE_REF
type value for ScopedObjectCallNode
Definition: node_types.h:53
NT_FLOAT
const qore_type_t NT_FLOAT
type value for QoreFloatNode
Definition: node_types.h:36
NT_BOOLEAN
const qore_type_t NT_BOOLEAN
type value for QoreBoolNode
Definition: node_types.h:39
NT_INT
const qore_type_t NT_INT
type value for QoreBigIntNode
Definition: node_types.h:35
NT_OPERATOR
const qore_type_t NT_OPERATOR
type value for QoreOperatorNode (private class)
Definition: node_types.h:71
NT_IMPLICIT_ARG
const qore_type_t NT_IMPLICIT_ARG
type value for QoreImplicitArgumentNode (private class)
Definition: node_types.h:67
NT_NUMBER
const qore_type_t NT_NUMBER
type value for QoreNumberNode
Definition: node_types.h:45
NT_BAREWORD
const qore_type_t NT_BAREWORD
type value for BarewordNode
Definition: node_types.h:55
NT_FIND
const qore_type_t NT_FIND
type value for FindNode
Definition: node_types.h:50
NT_IMPLICIT_ELEMENT
const qore_type_t NT_IMPLICIT_ELEMENT
type value for QoreImplicitElementNode (private clas)
Definition: node_types.h:72
NT_REGEX_TRANS
const qore_type_t NT_REGEX_TRANS
type value for RegexTransNode
Definition: node_types.h:59
NT_COMPLEXCONTEXTREF
const qore_type_t NT_COMPLEXCONTEXTREF
type value for ComplexContextrefNode
Definition: node_types.h:47
NT_BACKQUOTE
const qore_type_t NT_BACKQUOTE
type value for BackquoteNode
Definition: node_types.h:76
NT_CLASSREF
const qore_type_t NT_CLASSREF
type value for ClassRefNode
Definition: node_types.h:61
NT_PARSEREFERENCE
const qore_type_t NT_PARSEREFERENCE
type value for ParseReferenceNode (private class)
Definition: node_types.h:75
NT_FUNCREFCALL
const qore_type_t NT_FUNCREFCALL
type value for CallReferenceCallNode
Definition: node_types.h:64