1 /* This C header file is generated by NIT to compile modules and programs that requires escape. */
4 #include "syntax_base._sep.h"
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_EscapableContext
[];
9 extern const classtable_elt_t VFT_EscapableBlock
[];
11 extern const classtable_elt_t VFT_EscapableClosure
[];
13 extern const classtable_elt_t VFT_AEscapeExpr
[];
14 extern const char *LOCATE_escape
;
15 extern const int SFT_escape
[];
16 #define ID_EscapableContext (SFT_escape[0])
17 #define COLOR_EscapableContext (SFT_escape[1])
18 #define ATTR_escape___EscapableContext____stack(recv) ATTR(recv, (SFT_escape[2] + 0))
19 #define ATTR_escape___EscapableContext____visitor(recv) ATTR(recv, (SFT_escape[2] + 1))
20 #define INIT_TABLE_POS_EscapableContext (SFT_escape[3] + 0)
21 #define CALL_escape___EscapableContext___push(recv) ((escape___EscapableContext___push_t)CALL((recv), (SFT_escape[3] + 1)))
22 #define CALL_escape___EscapableContext___is_empty(recv) ((escape___EscapableContext___is_empty_t)CALL((recv), (SFT_escape[3] + 2)))
23 #define CALL_escape___EscapableContext___head(recv) ((escape___EscapableContext___head_t)CALL((recv), (SFT_escape[3] + 3)))
24 #define CALL_escape___EscapableContext___pop(recv) ((escape___EscapableContext___pop_t)CALL((recv), (SFT_escape[3] + 4)))
25 #define CALL_escape___EscapableContext___visitor(recv) ((escape___EscapableContext___visitor_t)CALL((recv), (SFT_escape[3] + 5)))
26 #define CALL_escape___EscapableContext___init(recv) ((escape___EscapableContext___init_t)CALL((recv), (SFT_escape[3] + 6)))
27 #define ID_EscapableBlock (SFT_escape[4])
28 #define COLOR_EscapableBlock (SFT_escape[5])
29 #define ATTR_escape___EscapableBlock____node(recv) ATTR(recv, (SFT_escape[6] + 0))
30 #define INIT_TABLE_POS_EscapableBlock (SFT_escape[7] + 0)
31 #define CALL_escape___EscapableBlock___node(recv) ((escape___EscapableBlock___node_t)CALL((recv), (SFT_escape[7] + 1)))
32 #define CALL_escape___EscapableBlock___is_break_block(recv) ((escape___EscapableBlock___is_break_block_t)CALL((recv), (SFT_escape[7] + 2)))
33 #define CALL_escape___EscapableBlock___break_list(recv) ((escape___EscapableBlock___break_list_t)CALL((recv), (SFT_escape[7] + 3)))
34 #define CALL_escape___EscapableBlock___continue_stype(recv) ((escape___EscapableBlock___continue_stype_t)CALL((recv), (SFT_escape[7] + 4)))
35 #define CALL_escape___EscapableBlock___init(recv) ((escape___EscapableBlock___init_t)CALL((recv), (SFT_escape[7] + 5)))
36 #define ID_EscapableClosure (SFT_escape[8])
37 #define COLOR_EscapableClosure (SFT_escape[9])
38 #define ATTR_escape___EscapableClosure____closure(recv) ATTR(recv, (SFT_escape[10] + 0))
39 #define ATTR_escape___EscapableClosure____break_list(recv) ATTR(recv, (SFT_escape[10] + 1))
40 #define INIT_TABLE_POS_EscapableClosure (SFT_escape[11] + 0)
41 #define CALL_escape___EscapableClosure___closure(recv) ((escape___EscapableClosure___closure_t)CALL((recv), (SFT_escape[11] + 1)))
42 #define CALL_escape___EscapableClosure___init(recv) ((escape___EscapableClosure___init_t)CALL((recv), (SFT_escape[11] + 2)))
43 #define ID_AEscapeExpr (SFT_escape[12])
44 #define COLOR_AEscapeExpr (SFT_escape[13])
45 #define ATTR_escape___AEscapeExpr____escapable_block(recv) ATTR(recv, (SFT_escape[14] + 0))
46 #define INIT_TABLE_POS_AEscapeExpr (SFT_escape[15] + 0)
47 #define CALL_escape___AEscapeExpr___escapable_block(recv) ((escape___AEscapeExpr___escapable_block_t)CALL((recv), (SFT_escape[15] + 1)))
48 #define CALL_escape___AEscapeExpr___kwname(recv) ((escape___AEscapeExpr___kwname_t)CALL((recv), (SFT_escape[15] + 2)))
49 #define CALL_escape___AEscapeExpr___compute_escapable_block(recv) ((escape___AEscapeExpr___compute_escapable_block_t)CALL((recv), (SFT_escape[15] + 3)))
50 typedef void (* escape___EscapableContext___push_t
)(val_t self
, val_t param0
);
51 void escape___EscapableContext___push(val_t self
, val_t param0
);
52 #define LOCATE_escape___EscapableContext___push "escape::EscapableContext::push"
53 typedef val_t (* escape___EscapableContext___is_empty_t
)(val_t self
);
54 val_t
escape___EscapableContext___is_empty(val_t self
);
55 #define LOCATE_escape___EscapableContext___is_empty "escape::EscapableContext::is_empty"
56 typedef val_t (* escape___EscapableContext___head_t
)(val_t self
);
57 val_t
escape___EscapableContext___head(val_t self
);
58 #define LOCATE_escape___EscapableContext___head "escape::EscapableContext::head"
59 typedef void (* escape___EscapableContext___pop_t
)(val_t self
);
60 void escape___EscapableContext___pop(val_t self
);
61 #define LOCATE_escape___EscapableContext___pop "escape::EscapableContext::pop"
62 typedef val_t (* escape___EscapableContext___visitor_t
)(val_t self
);
63 val_t
escape___EscapableContext___visitor(val_t self
);
64 #define LOCATE_escape___EscapableContext___visitor "escape::EscapableContext::visitor"
65 typedef void (* escape___EscapableContext___init_t
)(val_t self
, val_t param0
, int* init_table
);
66 void escape___EscapableContext___init(val_t self
, val_t param0
, int* init_table
);
67 #define LOCATE_escape___EscapableContext___init "escape::EscapableContext::init"
68 val_t
NEW_EscapableContext_escape___EscapableContext___init(val_t p0
);
69 typedef val_t (* escape___EscapableBlock___node_t
)(val_t self
);
70 val_t
escape___EscapableBlock___node(val_t self
);
71 #define LOCATE_escape___EscapableBlock___node "escape::EscapableBlock::node"
72 typedef val_t (* escape___EscapableBlock___is_break_block_t
)(val_t self
);
73 val_t
escape___EscapableBlock___is_break_block(val_t self
);
74 #define LOCATE_escape___EscapableBlock___is_break_block "escape::EscapableBlock::is_break_block"
75 typedef val_t (* escape___EscapableBlock___break_list_t
)(val_t self
);
76 val_t
escape___EscapableBlock___break_list(val_t self
);
77 #define LOCATE_escape___EscapableBlock___break_list "escape::EscapableBlock::break_list"
78 typedef val_t (* escape___EscapableBlock___continue_stype_t
)(val_t self
);
79 val_t
escape___EscapableBlock___continue_stype(val_t self
);
80 #define LOCATE_escape___EscapableBlock___continue_stype "escape::EscapableBlock::continue_stype"
81 typedef void (* escape___EscapableBlock___init_t
)(val_t self
, val_t param0
, int* init_table
);
82 void escape___EscapableBlock___init(val_t self
, val_t param0
, int* init_table
);
83 #define LOCATE_escape___EscapableBlock___init "escape::EscapableBlock::init"
84 val_t
NEW_EscapableBlock_escape___EscapableBlock___init(val_t p0
);
85 typedef val_t (* escape___EscapableClosure___is_break_block_t
)(val_t self
);
86 val_t
escape___EscapableClosure___is_break_block(val_t self
);
87 #define LOCATE_escape___EscapableClosure___is_break_block "escape::EscapableClosure::(escape::EscapableBlock::is_break_block)"
88 typedef val_t (* escape___EscapableClosure___break_list_t
)(val_t self
);
89 val_t
escape___EscapableClosure___break_list(val_t self
);
90 #define LOCATE_escape___EscapableClosure___break_list "escape::EscapableClosure::(escape::EscapableBlock::break_list)"
91 typedef val_t (* escape___EscapableClosure___continue_stype_t
)(val_t self
);
92 val_t
escape___EscapableClosure___continue_stype(val_t self
);
93 #define LOCATE_escape___EscapableClosure___continue_stype "escape::EscapableClosure::(escape::EscapableBlock::continue_stype)"
94 typedef val_t (* escape___EscapableClosure___closure_t
)(val_t self
);
95 val_t
escape___EscapableClosure___closure(val_t self
);
96 #define LOCATE_escape___EscapableClosure___closure "escape::EscapableClosure::closure"
97 typedef void (* escape___EscapableClosure___init_t
)(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
);
98 void escape___EscapableClosure___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
);
99 #define LOCATE_escape___EscapableClosure___init "escape::EscapableClosure::init"
100 val_t
NEW_EscapableClosure_escape___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
);
101 val_t
NEW_AEscapeExpr_parser_nodes___PNode___init();
102 typedef val_t (* escape___AEscapeExpr___escapable_block_t
)(val_t self
);
103 val_t
escape___AEscapeExpr___escapable_block(val_t self
);
104 #define LOCATE_escape___AEscapeExpr___escapable_block "escape::AEscapeExpr::escapable_block"
105 typedef val_t (* escape___AEscapeExpr___kwname_t
)(val_t self
);
106 val_t
escape___AEscapeExpr___kwname(val_t self
);
107 #define LOCATE_escape___AEscapeExpr___kwname "escape::AEscapeExpr::kwname"
108 typedef val_t (* escape___AEscapeExpr___compute_escapable_block_t
)(val_t self
, val_t param0
);
109 val_t
escape___AEscapeExpr___compute_escapable_block(val_t self
, val_t param0
);
110 #define LOCATE_escape___AEscapeExpr___compute_escapable_block "escape::AEscapeExpr::compute_escapable_block"
111 val_t
NEW_AContinueExpr_parser_nodes___PNode___init();
112 val_t
NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
113 val_t
NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0
, val_t p1
);
114 typedef val_t (* escape___AContinueExpr___kwname_t
)(val_t self
);
115 val_t
escape___AContinueExpr___kwname(val_t self
);
116 #define LOCATE_escape___AContinueExpr___kwname "escape::AContinueExpr::(escape::AEscapeExpr::kwname)"
117 val_t
NEW_ABreakExpr_parser_nodes___PNode___init();
118 val_t
NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
119 val_t
NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0
, val_t p1
);
120 typedef val_t (* escape___ABreakExpr___kwname_t
)(val_t self
);
121 val_t
escape___ABreakExpr___kwname(val_t self
);
122 #define LOCATE_escape___ABreakExpr___kwname "escape::ABreakExpr::(escape::AEscapeExpr::kwname)"