def consoleMode(): # initialize variables reading = False line = '' stack = list() context = dict() # read from the console while True: if reading: # we are reading a multi-line segment cur = sys.stdin.readline() if re.match(ENDREAD_STRING, cur) : reading = False script = Script(line) script.execute(stack,context) else : line = line + cur + '\n' else : # execute the single line we just read line = sys.stdin.readline() if re.match(READ_STRING,line) : reading = True line = '' elif re.match(EXIT_STRING,line): return else : script = Script(line) script.execute(stack,context)
def main(): VERSION = '1.0.0/0213' if len(sys.argv) == 1 : consoleMode() else : outFile = None inFile = None for i in xrange(1,len(sys.argv)) : if sys.argv[i] == '-i' : inFile = Script(sys.argv[i+1],True) elif sys.argv[i] == '-o' : try: outFile = open(sys.argv[i+1],'w') except Exception as e : sys.stderr.write('ERROR I cannot open: ' + sys.argv[i+1] + '\nThe error was:\n') sys.stderr.write(str(e) + '\n') return elif sys.argv[i] == '--help' : sys.stdout.write( "1D5 Version: " + VERSION + "\n" + "The scriptable dice roller.\n"+ "Usage: python onedeefive.py [options]\n\n"+ "Options:\n"+ "-i <file name>\n"+ "\tRead input from the specified file.\n\n"+ "-o <file name>\n"+ "\twrite output to the specified file.\n\n"+ "--help\n"+ "\tPrint this message.\n" ) if not outFile is None : setOutput(outFile) if inFile is None : consoleMode() else : inFile.execute()