(String[] args)
| 150 | } |
| 151 | |
| 152 | public static void main(String[] args) throws Exception { |
| 153 | String input_filename = null; |
| 154 | boolean do_eval = false; |
| 155 | boolean do_run = true; |
| 156 | boolean do_codegen = false; |
| 157 | boolean do_print_size = false; |
| 158 | boolean do_print_time = false; |
| 159 | int dump = 0; |
| 160 | int first_arg = 0; |
| 161 | String src = null; |
| 162 | String cpu = null; |
| 163 | String abi = null; |
| 164 | |
| 165 | // Parse command line |
| 166 | int i; for( i = 0; i < args.length; i++ ) { |
| 167 | String arg = args[i]; |
| 168 | if( arg.charAt(0) != '-' ) { |
| 169 | input_filename = arg; |
| 170 | break; |
| 171 | } |
| 172 | |
| 173 | switch (arg) { |
| 174 | case "-": input_filename=""; break; |
| 175 | case "--dump": dump |= DUMP_FINAL; break; |
| 176 | case "--dump-after-parse": dump |= DUMP_AFTER_PARSE; break; |
| 177 | case "--dump-after-opto": dump |= DUMP_AFTER_OPTO; break; |
| 178 | case "--dump-after-type-check": dump |= DUMP_AFTER_TYPE_CHECK; break; |
| 179 | case "--dump-after-loop-tree": dump |= DUMP_AFTER_LOOP_TREE; break; |
| 180 | case "--dump-after-select": dump |= DUMP_AFTER_SELECT; break; |
| 181 | case "--dump-after-gcm": dump |= DUMP_AFTER_GCM; break; |
| 182 | case "--dump-after-local-sched": dump |= DUMP_AFTER_LOCAL_SCHED; break; |
| 183 | case "--dump-after-reg-alloc": dump |= DUMP_AFTER_REG_ALLOC; break; |
| 184 | case "--dump-after-encode": dump |= DUMP_AFTER_ENCODE; break; |
| 185 | case "--dump-after-all": dump |= DUMP_AFTER_ALL; break; |
| 186 | case "--dot": dump |= DUMP_DOT; break; |
| 187 | case "-S": dump |= DUMP_DISASSEMBLE; break; |
| 188 | case "--eval": do_eval = true ; do_run = false; break; |
| 189 | case "--run": do_run = true ; break; |
| 190 | case "--norun": do_run = false; break; |
| 191 | case "--dump-size": do_print_size = true; break; |
| 192 | case "--dump-time": do_print_time = true; break; |
| 193 | case "--cpu": if (cpu != null || i + 1 >= args.length || args[i + 1].charAt(0) == '-') bad_usage(); |
| 194 | cpu = args[++i]; |
| 195 | break; |
| 196 | case "--abi": if (abi != null || i + 1 >= args.length || args[i + 1].charAt(0) == '-') bad_usage(); |
| 197 | abi = args[++i]; |
| 198 | break; |
| 199 | case "--target": target(); break; |
| 200 | case "--version": throw Utils.TODO(); |
| 201 | case "--help": usage(); |
| 202 | default: bad_usage(); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | if (input_filename == null) throw bad("no input file' (use --help)"); |
| 207 | if( !input_filename.isEmpty() && !input_filename.endsWith(".smp") ) |
| 208 | throw bad("File extension must be .smp"); |
| 209 | String base = input_filename.substring(0,input_filename.length()-4); |
nothing calls this directly
no test coverage detected