Fixing bugs in the metaprogram

This commit is contained in:
Krzosa Karol
2022-06-22 23:47:55 +02:00
parent 05504cbf11
commit ce46eb5a8f
3 changed files with 97 additions and 96 deletions

View File

@@ -1,5 +1,3 @@
result = ""
sizes = ["64", "32", "16", "8"]
types = ["S64", "U64", "F64"]
print_sign = ["%lld", "%llu", "%f"]
@@ -46,7 +44,7 @@ def update_file(filename, comment_name, data_to_write):
a_part = data[0:begin_index]
b_part = data[begin_index:end_index]
c_part = data[end_index:-1]
c_part = data[end_index:len(data)]
data_to_write = begin + data_to_write + end
@@ -55,7 +53,8 @@ def update_file(filename, comment_name, data_to_write):
if False:
if True:
result = ""
enum_members = []
enum_members.append("BC_END_OF_INSTRUCTIONS")
enum_members.append("BC_POP_STACK")
@@ -90,6 +89,7 @@ if False:
# Generate switch cases
#
if True:
result = ""
for sign, T in zip(print_sign, types):
t = T.lower()
@@ -121,7 +121,7 @@ if True:
{T} right = b->registers[instr->index_b].{t};
{T} result = left {symbol} right;
b->registers[instr->index_c].{t} = result;
bc_log("r%s + r%s = r%s => [{sign}] {symbol} [{sign}] = [{sign}]", instr->index_a, instr->index_b, instr->index_c, left, right, result);
bc_log("[r%s, {sign}] {symbol} [r%s, {sign}] = [r%s, {sign}]", instr->index_a, left, instr->index_b, right, instr->index_c, result);
}}break;
"""
################################