def breakdown(tokens): kwd, _, args, _, _ = tokens return AthTokenStatement(kwd, args)
def breakdown(tokens): kwd, expr, _ = tokens return AthTokenStatement(kwd, (expr, ))
def breakdown(tokens): kwd, name, _, args, _, _, body, _ = tokens body.pendant = name.name return AthTokenStatement( kwd, (AthCustomFunction(name.name, [arg.name for arg in args], body), ))
def breakdown(tokens): kwd, dst, ech, _ = tokens return AthTokenStatement( kwd, (dst or None, ech if ech is not None else LiteralToken('')))
def breakdown(tokens): if len(tokens) > 6: return AthTokenStatement(tokens[-4], tokens[1]) else: return AthTokenStatement(tokens[-4], [tokens[0]])
def breakdown(tokens): kwd, module, symbol, _ = tokens return AthTokenStatement(kwd, (module.name, symbol.name))
def breakdown(tokens): kwd, src, dst, _ = tokens return AthTokenStatement(kwd, (src, dst))
def breakdown(tokens): kwd, _, lft, _, rht, _, dst, _ = tokens return AthTokenStatement(kwd, (dst, lft, rht))
def breakdown(tokens): kwd, src, _, lft, _, rht, _, _ = tokens return AthTokenStatement(kwd, (src, lft, rht))
def breakdown(tokens): if isinstance(tokens[0], list): return AthTokenStatement(tokens[-4], tokens[0][1]) return AthTokenStatement(tokens[-4], [tokens[0]])