Paula Script
node_types.h
Go to the documentation of this file.
1 #pragma once
2 #include "defs.h"
3 namespace paula
4 {
5  // node types
6 
7  constexpr INT
8 
9  NODE_UNDEFINED = 0xff000000,
10 
11  // tree types
12 
13  NODE_SUBTREE = 0x01000000, // parser decides what kind or tree is it
14  NODE_EXPR = 0x02000000,
15  NODE_STATEMENT = 0x03000000,
16 
17  NODE_STACK = 0x05000000,
18  NODE_MAP = 0x06000000, // like dictionary. list of KV nodes
19  NODE_KV = 0x07000000, // key-value pairs for map: text key that has a link to data
20 
21  // data types
22 
23  NODE_ANY_DATA = 0x20000000,
24 
25  NODE_NAME = 0x21000000, // variable, constant, or function name
26  NODE_INTEGER = 0x22000000, // 32-bit, e.g. 123
27  NODE_DOUBLE = 0x23000000, // 64-bit, e.g. 1.23
28  NODE_TEXT = 0x24000000, // string/const char*, e.g. "abc d"
29  NODE_BOOL = 0x25000000, // true = 1, false = 0
30 
31  NODE_VOID = 0x2f000000,
32 
33  // controls tokens
34 
35  NODE_OPERATOR = 0x31000000,
36 
37  // masks
38  TAG_MASK = 0xff000000,
39  SIZE_MASK = 0x00ffffff;
40 }
paula::NODE_TEXT
constexpr INT NODE_TEXT
Definition: node_types.h:28
paula::NODE_OPERATOR
constexpr INT NODE_OPERATOR
Definition: node_types.h:35
paula::NODE_ANY_DATA
constexpr INT NODE_ANY_DATA
Definition: node_types.h:23
paula::NODE_NAME
constexpr INT NODE_NAME
Definition: node_types.h:25
paula::NODE_BOOL
constexpr INT NODE_BOOL
Definition: node_types.h:29
paula::NODE_STATEMENT
constexpr INT NODE_STATEMENT
Definition: node_types.h:15
paula::NODE_SUBTREE
constexpr INT NODE_SUBTREE
Definition: node_types.h:13
paula::NODE_VOID
constexpr INT NODE_VOID
Definition: node_types.h:31
paula::NODE_STACK
constexpr INT NODE_STACK
Definition: node_types.h:17
paula::NODE_INTEGER
constexpr INT NODE_INTEGER
Definition: node_types.h:26
paula::NODE_KV
constexpr INT NODE_KV
Definition: node_types.h:19
paula::NODE_UNDEFINED
constexpr INT NODE_UNDEFINED
Definition: node_types.h:9
paula::NODE_DOUBLE
constexpr INT NODE_DOUBLE
Definition: node_types.h:27
paula
Definition: paula.h:6
paula::NODE_MAP
constexpr INT NODE_MAP
Definition: node_types.h:18
paula::SIZE_MASK
constexpr INT SIZE_MASK
Definition: node_types.h:39
paula::TAG_MASK
constexpr INT TAG_MASK
Definition: node_types.h:38
paula::NODE_EXPR
constexpr INT NODE_EXPR
Definition: node_types.h:14