public static void main(String args[]) { Context context = new Context(10, 4); // 加法解释器 IInterpreter expression = new PlusInterprater(); int result = expression.interprete(context); System.out.println("Result : " + result); }
public InteractiveInterpreterConsole( IInterpreter interpreter, String name, String prompt, String continuationPrompt) { super(name, CONSOLE_TYPE, null, false); this.interpreter = interpreter; commandExecutor = new CommandExecutor(this); consoleOutputStream = new ConsoleOutputStream(this); interpreter.setConsole(this); this.prompt = prompt; this.continuationPrompt = continuationPrompt; commandHistory = new CommandHistory(); documentListener = new ConsoleDocumentListener(this); documentListener.registerListener(); partitioner = new InterpreterConsolePartitioner(); IDocument doc = getDocument(); doc.setDocumentPartitioner(partitioner); partitioner.connect(doc); documentListener.enable(); setFont(); }
@Override public void terminate() { boolean wasTerminated; synchronized (this) { wasTerminated = terminated; terminated = true; } if (!wasTerminated) { partitionerFinished(); documentListener.deregisterListener(); commandExecutor.terminate(); interpreter.interrupt(); interpreter.terminate(); } }
public IInterpreter createSubInterpreter() { return masterInterpreter.createSubInterpreter(); }
public String getFileType() { return masterInterpreter.getFileType(); }
public void interrupt() { interpreter.interrupt(); }
public void printTrace() { writeToConsole(interpreter.getTrace().toLinkedString(), true); }