public void runProgram()
	{
		outputLine("Interpreting...");
		program.clear();
		variables.clear();
		
		try 
		{
			program = BareBonesInterpreter.InterpretString(input.getText(), variables);
		} 
		catch (BareBonesSyntaxException e) 
		{
			outputLine("Syntax Error:");
			outputLine(e.getMessage());
			outputLine("On Statement " + (e.getLineNumber() + 1));
			
			return;
		} 
		catch (BareBonesCompilerException e) 
		{
			outputLine("Compiler Error:");
			outputLine(e.getMessage());
			outputLine("On Statement " + (e.getLineNumber() + 1));
			
			return;
		}
		
		outputLine("Done");
		outputLine("Running...");
		
		try 
		{
			BareBonesInterpreter.RunProgram(program);
		}
		catch (BareBonesRuntimeException e) 
		{
			outputLine("Runtime Error:");
			outputLine(e.getMessage());
			outputLine("On Statement " + (e.getLineNumber() + 1));
		}
		catch (InterruptedException e)
		{
			outputLine("Program interrupted, exiting");
			return;
		}
		
		outputLine("Done");
	}