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.")
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)
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.")