def action_bis(toks): if len(toks) == 3: addr = toks[1] elif len(toks) == 5 and toks[2] == ',': addr = expressions.op('+', toks[1], toks[3]) if att_syntax.env.internals.get('keep_order'): addr.prop |= 16 elif len(toks) == 6 and toks[1] == ',' and toks[3] == ',': toks[4].size = toks[2].size # cst size set to register size addr = expressions.oper('*', toks[2], toks[4]) elif len(toks) == 7 and toks[2] == ',' and toks[4] == ',': toks[5].size = toks[3].size # cst size set to register size addr = expressions.op('+', toks[1], expressions.oper('*', toks[3], toks[5])) if att_syntax.env.internals.get('keep_order'): addr.prop |= 16 else: NEVER return addr
def action_bis(toks): if len(toks) == 3: addr = toks[1] elif len(toks) == 5 and toks[2] == ",": addr = expressions.op("+", toks[1], toks[3]) if env.internals.get("keep_order"): addr.prop |= 16 elif len(toks) == 6 and toks[1] == "," and toks[3] == ",": toks[4].size = toks[2].size # cst size set to register size addr = expressions.oper("*", toks[2], toks[4]) elif len(toks) == 7 and toks[2] == "," and toks[4] == ",": toks[5].size = toks[3].size # cst size set to register size addr = expressions.op("+", toks[1], expressions.oper("*", toks[3], toks[5])) if env.internals.get("keep_order"): addr.prop |= 16 else: NEVER return addr