Add store_through_chain

This commit is contained in:
Pragyansh Chaturvedi
2025-10-10 02:56:11 +05:30
parent 8bab07ed72
commit 489244a015

View File

@ -43,6 +43,16 @@ def get_operand_value(operand, builder, local_sym_tab):
raise TypeError(f"Unsupported operand type: {type(operand)}")
def store_through_chain(value, chain, builder):
"""Store a value through a pointer chain."""
if not chain or len(chain) < 2:
raise ValueError("Pointer chain must have at least two elements")
for ptr in reversed(chain[1:]):
builder.store(value, ptr)
value = ptr
def handle_binary_op_impl(rval, builder, local_sym_tab):
op = rval.op
left, _, _ = get_operand_value(rval.left, builder, local_sym_tab)