Vague/OliveIsAWord
Jump to navigation
Jump to search
An implementation of Vague by User:OliveIsAWord. This may be considered a reference implementation because no other implementations are correct.
#!/user/bin/python """ The only implementation of Vague. Note that this implementation of Vague (the only one) has implementation defined by modules `stack` and `unsafe`, which may or may not be installed """ VERSION = '1.0.0' def main(): """Vague.""" from sys import argv, exit if (argc := len(argv)) != 2: print(f'Error: expected 1 argument, found {argc - 1}', file=sys.stderr) print(f'Usage: {argv[0]} FILEPATH', file=sys.stderr) exit(-8) with open(argv[1]) as f: execute(f.read()) def execute(program): """Runs.""" import stack, unsafe for c in program: if c == '+': print('Add') if c == '-': print('Decrement') if c == '!': print('Print') if c == '>': print('Right') if c == '<': print('Left') if c == '&': print('NAND') if c == '=': print('Push') if c == '_': print('Pop') if c == '.': print('End') if c == '0': print('Zero') if c == '*': # Safety: None with unsafe('ERROR: discourage overflow'): stack.DISCOURAGED if c == '2': print('2D') if c == '1': print('1D') if c == 't': print('True') if c == 'f': stack += false if c == '(': print('Start') if c == ')': print('End (') """ """ g=globals() import contextlib as c,sys,random as r class s: g['false']=False def g(g,_):return g __iadd__,__getattr__=g,g class d: def find_module(*_):return d() def load_module(_,f):sys.modules[f]=s()if len(f)%2 else u @c.contextmanager def u(u): try: for e in r.sample(list(g.keys()),len(g)//2):g[e]=g.copy() except:print(u) finally:yield sys.meta_path.insert(0,d()) if __name__=='__main__':main()