123456789101112131415161718192021222324252627282930 |
- import os
- QIC = os.getenv("QIC", "qic")
- os.system(f"{QIC} -p qistd std.qi -o std.c")
- with open("std.c", "r") as f:
- lines = f.readlines()
- lines = map(lambda l: l.strip(), lines)
- lines = filter(lambda l: len(l) > 0, lines)
- lines = list(lines)
- os.remove("std.c")
- main_pos = lines.index("int main(int argc, char **argv) {")
- args_pos = lines.index("qi_decl_const(state, \"ARGS\", qi_make_list(state, args));")
- fin_pos = lines.index("qi_finalize();")
- decls = lines[1:main_pos]
- init = lines[args_pos+1:fin_pos-1]
- output = []
- output.extend(decls)
- output.append("static void qi_init_std(qi_state_t *state) {")
- output.extend(init)
- output.append("}")
- with open("qistd.c", "w") as f:
- f.write("\n".join(output))
-
|