Пример #1
0
def process_input(expr, env):
    """Process an input expr, which may be a fact or query."""
    if expr == 'exit':
        print("Goodbye")
        sys.exit(0)

    if not scheme_listp(expr):
        print('Improperly formed expression.')
    elif expr.first in ("fact", "!"):
        facts.append(expr.second)
    elif expr.first in ("query", "?"):
        results = do_query(expr.second)
        success = False
        for result in results:
            if not success:
                print('Success!')
            success = True
            output = "\t".join("{0}: {1}".format(k[1:], v) for k, v in result)
            if output:
                print(output)
        if not success:
            print('Failed.')
    elif expr.first == "load":
        scheme.scheme_load(expr.second.first, env)
    else:
        print("Please provide a fact or query.")
Пример #2
0
def process_input(expr, env):
    """Process an input expr, which may be a fact or query."""
    if expr is exit_sym:
        print("Goodbye")
        sys.exit(0)
    elif expr is clear_sym:
        facts.clear()
    elif expr is help_sym:
        print(HELP_MSG)
    elif not scheme_listp(expr):
        print('Error: Improperly formed expression.', file=sys.stderr)
    elif expr.first in fact_syms:
        facts.append(expr.second)
    elif expr.first in query_syms:
        results = do_query(expr.second)
        success = False
        for result in results:
            if not success:
                print('Success!')
            success = True
            output = "\t".join("{0}: {1}".format(str(k)[1:], v)
                               for k, v in result)
            if output:
                print(output)
        if not success:
            print('Failed.')
    elif expr.first is load_sym and scheme_length(expr) == 2:
        scheme.scheme_load(expr.second.first, env)
    elif expr.first is depth_sym and scheme_length(expr) == 2 \
         and scheme_integerp(expr[1]):
        DEPTH_LIMIT = int(expr[1])
    else:
        print("Error: unrecognized command: please provide a fact or query.",
              file=sys.stderr)
Пример #3
0
def process_input(expr, env):
    """Process an input expr, which may be a fact or query."""
    if expr == 'exit':
        print("Goodbye")
        sys.exit(0)

    if not scheme_listp(expr):
        print('Improperly formed expression.')
    elif expr.first in ("fact", "!"):
        facts.append(expr.second)
    elif expr.first in ("query", "?"):
        results = do_query(expr.second)
        success = False
        for result in results:
            if not success:
                print('Success!')
            success = True
            output = "\t".join("{0}: {1}".format(k[1:], v) for k, v in result)
            if output:
                print(output)
        if not success:
            print('Failed.')
    elif expr.first == "load":
        scheme.scheme_load(expr.second.first, env)
    else:
        print("Please provide a fact or query.")
Пример #4
0
def process_input(expr, env):
    """Process an input expr, which may be a fact or query."""
    assert scheme_listp(expr)
    if expr.first in ("fact", "!"):
        facts.append(expr.second)
    elif expr.first in ("query", "?"):
        results = do_query(expr.second)
        success = False
        for result in results:
            if not success:
                print('Success!')
            success = True
            print("\t".join("{0}: {1}".format(k[1:], v) for k, v in result))
        if not success:
            print('Failed.')

    elif expr.first == "load":
        scheme.scheme_load(expr.second.first, env)
    else:
        print("Please provide a fact or query.")