Esempio n. 1
0
def funcPrintline(*arg):
    output = []
    for val in arg:
        output.append(printer.print_str(val, False))
    results = " ".join(output)
    print(results)
    return None
Esempio n. 2
0
def quasiquote(a):
    print("QUASIQUOTING: {}".format(printer.print_str(a)))

    if not is_pair(a):
        return mytypes.MalList([mytypes.MalSymbol("quote"), a])
    elif a.content[0].content == "unquote":
        print("Found unquote")
        return a.content[1]
    elif is_pair(a.content[0]
                 ) and a.content[0].content[0].content == "splice-unquote":
        return mytypes.MalList([
            mytypes.MalSymbol("concat"), a.content[0].content[1],
            quasiquote(mytypes.MalList(a.content[1:]))
        ])
    else:
        return mytypes.MalList([
            mytypes.MalSymbol("cons"),
            quasiquote(a.content[0]),
            quasiquote(mytypes.MalList(a.content[1:]))
        ])
Esempio n. 3
0
def PRINT(arg):
    return printer.print_str(arg, True)
Esempio n. 4
0
def fn_print(a):
    print("OUTPUT: " + printer.print_str(a))

    return mytypes.MalNil()
Esempio n. 5
0
def PRINT(input):
    '''Processes its input for print to the console'''
    return printer.print_str(input)
Esempio n. 6
0
def PRINT(expr):
    return printer.print_str(expr)
Esempio n. 7
0
def funcStr(*arg):
    output = []
    for val in arg:
        output.append(printer.print_str(val, False))
    return "".join(output)
Esempio n. 8
0
def PRINT(ast, print_readably=True):
    return printer.print_str(ast, print_readably=print_readably)