Mercurial > repo
view interps/lambda/lambda.py @ 2034:cfec38aa6769
<elliott> echo "#!/bin/sh" >bin/list; echo \'cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*<//; s/>.*//"); sed -i "s/.\\$nam[e]./$name \\&" bin/list; echo "$name"\' >>bin/list
author | HackBot |
---|---|
date | Thu, 07 Feb 2013 21:40:16 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
#!/usr/bin/python import parser, tokenizer, evaluator import sys, pickle sys.setrecursionlimit(65535) # not too big, but hopefully big enough for some stuff try: line = raw_input() except EOFError: raise SystemExit # tokenize try: tokens = tokenizer.tokenize(line) except Exception, line: print "Tokenizer error:", line raise SystemExit # Get a pickled environment try: env = pickle.load(open('lambda/defs.pickle')) except: env = {} # parse try: exp, defs = parser.parse(tokens, env) except Exception, line: print "Parser error:", line raise SystemExit env.update(defs) # evaluate try: if exp != None: evaluator.eval(exp, env) except Exception, line: print "Run-time error:", line raise SystemExit # finally, save the definitions f = open('lambda/defs.pickle', 'w') pickle.dump(env, f)