]> git.bts.cx Git - sun.git/blob - runtime/src/sun/tree/node_type.h
195d9e613c4a52c757a51714cf85d1298039e1fd
[sun.git] / runtime / src / sun / tree / node_type.h
1 #ifndef SUN_TREE_NODE_TYPE_H
2 #define SUN_TREE_NODE_TYPE_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 enum SLTNodeType {
9 SLTNodeTypeUnknown,
10
11 SLTNodeTypeIdentifier,
12
13 SLTNodeTypeBoolean,
14 SLTNodeTypeInteger,
15 SLTNodeTypeRawInteger,
16 SLTNodeTypeFloat,
17 SLTNodeTypeString,
18 SLTNodeTypeKey,
19
20 SLTNodeTypeCompound,
21
22 SLTNodeTypeArgument,
23
24 SLTNodeTypeArrayAccess,
25 SLTNodeTypeTypeAccess,
26
27 SLTNodeTypeFunctionCall,
28
29 SLTNodeTypeUnaryOperation,
30 SLTNodeTypeBinaryOperation,
31
32 SLTNodeTypeOperator,
33
34 SLTNodeTypeAssignment,
35
36 SLTNodeTypeReturn,
37 SLTNodeTypeSleep,
38 SLTNodeTypeBreak,
39
40 SLTNodeTypeForIteration,
41 SLTNodeTypeDoIteration,
42 SLTNodeTypeWhileIteration,
43
44 SLTNodeTypeSelection,
45
46 SLTNodeTypeStatementBlock,
47
48 SLTNodeTypeVariableDefinition,
49
50 SLTNodeTypeTypeDefinition,
51 SLTNodeTypeTypeMemberDefinition,
52
53 SLTNodeTypeFunctionDefinition,
54 SLTNodeTypeFunctionParameterDefinition,
55
56 SLTNodeTypeModule,
57
58 SLTNodeTypeSequence, // Meta-type, for sequence of other nodes.
59 };
60 typedef enum SLTNodeType SLTNodeType;
61 static const SLTNodeType kSLTNodeTypeMax = SLTNodeTypeSequence;
62
63 extern const char *sltNodeTypeToString(SLTNodeType nodeType);
64
65 #ifdef __cplusplus
66 }
67 #endif
68
69 #endif