86 }; |
86 }; |
87 |
87 |
88 // Mark types |
88 // Mark types |
89 enum marktype_e |
89 enum marktype_e |
90 { |
90 { |
91 MARKTYPE_LABEL, |
91 e_label_mark, |
92 MARKTYPE_IF, |
92 e_if_mark, |
93 MARKTYPE_INTERNAL, // internal structures |
93 e_internal_mark, // internal structures |
94 }; |
94 }; |
95 |
95 |
96 // Block types |
96 // Block types |
97 enum scopetype_e |
97 enum scopetype_e |
98 { |
98 { |
99 SCOPETYPE_UNKNOWN, |
99 e_unknown_scope, |
100 SCOPETYPE_IF, |
100 e_if_scope, |
101 SCOPETYPE_WHILE, |
101 e_while_scope, |
102 SCOPETYPE_FOR, |
102 e_for_scope, |
103 SCOPETYPE_DO, |
103 e_do_scope, |
104 SCOPETYPE_SWITCH, |
104 e_switch_scope, |
105 SCOPETYPE_ELSE, |
105 e_else_scope, |
106 }; |
106 }; |
107 |
107 |
108 // ============================================================================ |
108 // ============================================================================ |
109 // Meta-data about blocks |
109 // Meta-data about blocks |
110 struct ScopeInfo |
110 struct ScopeInfo |