def parse_stmt_label(data): label = parse_label_type(data['label']) attrs = parse_attrs(data['attributes']) return Label(label, attrs)
def parse_stmt_special(data): string = data['string'] attrs = parse_attrs(data['attributes']) return Special(string, attrs)
def parse_stmt_move(data): attrs = parse_attrs(data['attributes']) exp = parse_expression(data['exp']) var = parse_var(data['var']) return Move(var, exp, attrs)
def parse_stmt_assert(data): exp = parse_expression(data['exp']) attributes = parse_attrs(data['attributes']) return Assert(exp, attributes)
def parse_stmt_cjmp(data): cond = parse_expression(data['cond']) attrs = parse_attrs(data['attributes']) iffalse = parse_expression(data['iffalse']) iftrue = parse_expression(data['iftrue']) return CJmp(cond, iftrue, iffalse, attrs)
def parse_stmt_jmp(data): exp = parse_expression(data['exp']) attrs = parse_attrs(data['attributes']) return Jmp(exp, attrs)
def parse_stmt_comment(data): string = data['string'] attributes = parse_attrs(data['attributes']) return Comment(string, attributes)