4c5aba367904d6ddace98cee59735a3665944f9f
[nit.git] / c_src / syntax._sep.c
1 /* This C file is generated by NIT to compile module syntax. */
2 #include "syntax._sep.h"
3 val_t syntax___SrcModuleLoader___file_type(val_t self) {
4 struct trace_t trace = {NULL, NULL, 31, LOCATE_syntax___SrcModuleLoader___file_type};
5 val_t variable0;
6 trace.prev = tracehead; tracehead = &trace;
7 trace.file = LOCATE_syntax;
8 variable0 = NEW_string___String___with_native(BOX_NativeString("nit"), TAG_Int(3)); /*new String*/
9 goto return_label0;
10 return_label0: while(false);
11 tracehead = trace.prev;
12 return variable0;
13 }
14 val_t syntax___SrcModuleLoader___parse_file(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4) {
15 struct trace_t trace = {NULL, NULL, 33, LOCATE_syntax___SrcModuleLoader___parse_file};
16 val_t variable0;
17 val_t variable1;
18 val_t variable2;
19 val_t variable3;
20 val_t variable4;
21 val_t variable5;
22 val_t variable6;
23 val_t variable7;
24 val_t variable8;
25 val_t variable9;
26 val_t variable10;
27 val_t variable11;
28 val_t variable12;
29 val_t variable13;
30 val_t variable14;
31 val_t variable15;
32 val_t variable16;
33 val_t variable17;
34 val_t variable18;
35 val_t variable19;
36 trace.prev = tracehead; tracehead = &trace;
37 trace.file = LOCATE_syntax;
38 variable0 = param0;
39 variable1 = param1;
40 variable2 = param2;
41 variable3 = param3;
42 variable4 = param4;
43 variable6 = NEW_lexer___Lexer___init( variable1 /*file*/, variable2 /*filename*/); /*new Lexer*/
44 variable5 = variable6;
45 variable7 = NEW_parser___Parser___init( variable5 /*lexer*/); /*new Parser*/
46 variable6 = variable7;
47 variable8 = ((parser___Parser___parse_t)CALL( variable6 /*parser*/,COLOR_parser___Parser___parse))( variable6 /*parser*/) /*Parser::parse*/;
48 variable7 = variable8;
49 variable8 = ((parser_nodes___Start___n_base_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_base))( variable7 /*node_tree*/) /*Start::n_base*/;
50 variable8 = TAG_Bool((variable8 == NIT_NULL /*null*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8, NIT_NULL /*null*/) /*Object::==*/)))));
51 if (UNTAG_Bool(variable8)) { /*if*/
52 variable9 = ((parser_nodes___Start___n_eof_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_eof))( variable7 /*node_tree*/) /*Start::n_eof*/;
53 variable8 = variable9;
54 variable9 = TAG_Bool(( variable8 /*err*/==NIT_NULL) || VAL_ISA( variable8 /*err*/, COLOR_PError, ID_PError)) /*cast PError*/;
55 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax___SrcModuleLoader___parse_file, LOCATE_syntax, 40); nit_exit(1);}
56 variable9 = NEW_string___String___init(); /*new String*/
57 variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
58 variable11 = variable10;
59 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
60 variable12 = ((parser_prod___Token___locate_t)CALL( variable8 /*err*/,COLOR_parser_prod___PNode___locate))( variable8 /*err*/) /*Token::locate*/;
61 variable13 = variable12;
62 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable13) /*String::append*/;
63 variable14 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
64 variable15 = variable14;
65 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable15) /*String::append*/;
66 variable16 = ((lexer___PError___message_t)CALL( variable8 /*err*/,COLOR_lexer___PError___message))( variable8 /*err*/) /*PError::message*/;
67 variable17 = variable16;
68 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable17) /*String::append*/;
69 variable18 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
70 variable19 = variable18;
71 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable19) /*String::append*/;
72 ((mmloader___ToolContext___error_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___error))( variable0 /*context*/, variable9) /*ToolContext::error*/;
73 exit(UNTAG_Int( TAG_Int(1)));
74 }
75 variable9 = ((parser_nodes___Start___n_base_t)CALL( variable7 /*node_tree*/,COLOR_parser_nodes___Start___n_base))( variable7 /*node_tree*/) /*Start::n_base*/;
76 variable8 = variable9;
77 variable9 = TAG_Bool(( variable8 /*node_module*/==NIT_NULL) || VAL_ISA( variable8 /*node_module*/, COLOR_AModule, ID_AModule)) /*cast AModule*/;
78 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax___SrcModuleLoader___parse_file, LOCATE_syntax, 45); nit_exit(1);}
79 variable10 = NEW_syntax_base___MMSrcModule___init( variable0 /*context*/, variable8 /*node_module*/, variable4 /*dir*/, variable3 /*name*/); /*new MMSrcModule*/
80 variable9 = variable10;
81 variable5 = variable9 /*module*/;
82 goto return_label1;
83 return_label1: while(false);
84 tracehead = trace.prev;
85 return variable5;
86 }
87 void syntax___SrcModuleLoader___process_metamodel(val_t self, val_t param0, val_t param1) {
88 struct trace_t trace = {NULL, NULL, 52, LOCATE_syntax___SrcModuleLoader___process_metamodel};
89 val_t variable0;
90 val_t variable1;
91 trace.prev = tracehead; tracehead = &trace;
92 trace.file = LOCATE_syntax;
93 variable0 = param0;
94 variable1 = param1;
95 ((syntax___MMSrcModule___process_supermodules_t)CALL( variable1 /*module*/,COLOR_syntax___MMSrcModule___process_supermodules))( variable1 /*module*/, variable0 /*context*/) /*MMSrcModule::process_supermodules*/;
96 ((syntax___MMSrcModule___process_syntax_t)CALL( variable1 /*module*/,COLOR_syntax___MMSrcModule___process_syntax))( variable1 /*module*/, variable0 /*context*/) /*MMSrcModule::process_syntax*/;
97 tracehead = trace.prev;
98 return;
99 }
100 void syntax___SrcModuleLoader___init(val_t self, int* init_table) {
101 struct trace_t trace = {NULL, NULL, 58, LOCATE_syntax___SrcModuleLoader___init};
102 trace.prev = tracehead; tracehead = &trace;
103 trace.file = LOCATE_syntax;
104 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i]) return;
105 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_SrcModuleLoader].i] = 1;
106 tracehead = trace.prev;
107 return;
108 }
109 void syntax___MMSrcModule___process_supermodules(val_t self, val_t param0) {
110 struct trace_t trace = {NULL, NULL, 62, LOCATE_syntax___MMSrcModule___process_supermodules};
111 val_t variable0;
112 val_t variable1;
113 trace.prev = tracehead; tracehead = &trace;
114 trace.file = LOCATE_syntax;
115 variable0 = param0;
116 variable1 = ((syntax_base___MMSrcModule___node_t)CALL( self,COLOR_syntax_base___MMSrcModule___node))( self) /*MMSrcModule::node*/;
117 ((mmbuilder___AModule___import_super_modules_t)CALL(variable1,COLOR_mmbuilder___AModule___import_super_modules))(variable1, variable0 /*tc*/, self) /*AModule::import_super_modules*/;
118 tracehead = trace.prev;
119 return;
120 }
121 void syntax___MMSrcModule___process_syntax(val_t self, val_t param0) {
122 struct trace_t trace = {NULL, NULL, 69, LOCATE_syntax___MMSrcModule___process_syntax};
123 val_t variable0;
124 val_t variable1;
125 trace.prev = tracehead; tracehead = &trace;
126 trace.file = LOCATE_syntax;
127 variable0 = param0;
128 ((mmbuilder___MMSrcModule___do_mmbuilder_t)CALL( self,COLOR_mmbuilder___MMSrcModule___do_mmbuilder))( self, variable0 /*tc*/) /*MMSrcModule::do_mmbuilder*/;
129 variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
130 variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
131 if (UNTAG_Bool(variable1)) { /*if*/
132 exit(UNTAG_Int( TAG_Int(1)));
133 }
134 ((typing___MMSrcModule___do_typing_t)CALL( self,COLOR_typing___MMSrcModule___do_typing))( self, variable0 /*tc*/) /*MMSrcModule::do_typing*/;
135 variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
136 variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
137 if (UNTAG_Bool(variable1)) { /*if*/
138 exit(UNTAG_Int( TAG_Int(1)));
139 }
140 ((control_flow___MMSrcModule___do_control_flow_t)CALL( self,COLOR_control_flow___MMSrcModule___do_control_flow))( self, variable0 /*tc*/) /*MMSrcModule::do_control_flow*/;
141 variable1 = ((mmloader___ToolContext___error_count_t)CALL( variable0 /*tc*/,COLOR_mmloader___ToolContext___error_count))( variable0 /*tc*/) /*ToolContext::error_count*/;
142 variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( TAG_Int(0)));
143 if (UNTAG_Bool(variable1)) { /*if*/
144 exit(UNTAG_Int( TAG_Int(1)));
145 }
146 tracehead = trace.prev;
147 return;
148 }