package slogo.controller; public class SlogoException extends RuntimeException{ public SlogoException(String message) public SlogoException(Throwable cause, String message) } package slogo.controller; public class Controller implements TurtleObserver { public Controller(String language, Stage stage) public void updateTurtleState() public void setInputMethod(TextField textField) public void setColorMethod(ColorPicker colorPicker) public void setButtonMethod(Button button) public Dimension getDimensions(String property) public View getMyView() } package slogo.controller; public interface TurtleObserver { void updateTurtleState(); } package slogo; public class Main extends Application { public void start (Stage stage) } package slogo.model; public class Environment { public void clear() } package slogo.model.parsers; public abstract class Parser { public Parser() public void changeLanguage(String newLanguage) public String getCurrentLanguage() public String getCommand (String command) throws IllegalArgumentException public String getSymbol (String text) throws IllegalArgumentException public void setPatterns(String language) public abstract void parseProgramCode(String input) throws Exception; } package slogo.model.parsers; public class InputParser extends Parser { public Stack allCommands public InputParser() public InputParser(Turtle turtle, List observers) public void addObserver(TurtleObserver observer) public Turtle getTurtle() public void tokenize() public void parseProgramCode(String input) throws Exception public Stack parseTokenizedInput(List tokenizedCommands) throws Exception public Stack parseCommandStack(Stack commandStack) throws Exception public Stack getCommands() public void addObservers(List observers) } package slogo.model.parsers; public class XMLParser extends Parser { public XMLParser() public void loadXMLFile(String commandName) public String getAsString(String xmlTag) protected double getParamCount(String commandType) public void parseProgramCode(String input) throws Exception } package slogo.model; public class Turtle { public Turtle() public Turtle(double xi, double yi) public double getX() public void setX(double x) public double getY() public void setY(double y) public double getDirection() public void setDirection(double direction) public boolean isPenDown() public void setPenDown(boolean penDown) public boolean isVisible() public void setVisibility(boolean visible) public void setPosition(double x, double y) public Color getPenColor() public void setPenColor(Color penColor) public void rotate(double angle) public void clear() } package slogo.model.commands; public interface VarCommand { void setVar(String name); } package slogo.model.commands; public interface CtrlCommand { public double setBehavior(Stack> ctrlLists, ArrayList paramList, Turtle turtle, List observers) throws Exception; public int getPops(); } package slogo.model.commands; public class VariableMap { public static final Map variableMap } package slogo.model.commands; public abstract class Commands { public Commands() public abstract double setBehavior(ArrayList paramsList, Turtle turtle); public abstract double execute(Turtle turtle); } package slogo.model.commands; public interface Executable { double execute(Turtle turtle); } package slogo.model.commands.allcommands; public class Tangent extends Commands { public Tangent() public Tangent(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class LessThan extends Commands { public LessThan() public LessThan(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Quotient extends Commands { public Quotient() public Quotient(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Pi extends Commands { public Pi() public Pi(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Home extends Commands implements Executable { public Home() public Home(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class ListStart extends Commands { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Heading extends Commands implements Executable { public Heading() public Heading(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Product extends Commands { public Product() public Product(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Remainder extends Commands { public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Right extends Commands implements Executable { public Right() public Right(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Repeat extends Commands implements CtrlCommand, Executable { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) public double setBehavior(Stack> ctrlLists, ArrayList paramList, Turtle turtle, List observers) throws Exception public int getPops() } package slogo.model.commands.allcommands; public class XCoordinate extends Commands { public XCoordinate() public XCoordinate(ArrayList params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class SquareRoot extends Commands { public SquareRoot() public SquareRoot(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class PenUp extends Commands implements Executable { public PenUp() public PenUp(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Difference extends Commands { public Difference() public Difference(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class ArcTangent extends Commands { public ArcTangent() public ArcTangent(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Constant extends Commands { public Constant () public Constant(List params) public void set(Double value) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class SetTowards extends Commands implements Executable { public SetTowards() public SetTowards(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Sum extends Commands { public Sum() public Sum(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class YCoordinate extends Commands { public YCoordinate() public YCoordinate(ArrayList params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class IsPenDown extends Commands { public IsPenDown() public IsPenDown(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class SetHeading extends Commands implements Executable { public SetHeading() public SetHeading(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class RandomRange extends Commands { public RandomRange() public RandomRange(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class MakeVariable extends Commands implements Executable, VarCommand { public MakeVariable() public MakeVariable(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) public void setVar(String name) } package slogo.model.commands.allcommands; public class Cosine extends Commands { public Cosine() public Cosine(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Variable extends Commands { public Variable() public Variable(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) public void set(String name) public void setVal(double val) public double getVal() public String getName() } package slogo.model.commands.allcommands; public class Random extends Commands { public Random() public Random(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class And extends Commands { public And() public And(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class NotEqual extends Commands { public NotEqual() public NotEqual(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Forward extends Commands implements Executable { public Forward() public Forward(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Left extends Commands implements Executable { public Left() public Left(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class ListEnd extends Commands { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class GreaterEqual extends Commands { public GreaterEqual() public GreaterEqual(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Sine extends Commands { public Sine() public Sine(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class SetPosition extends Commands implements Executable { public SetPosition() public SetPosition(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Power extends Commands { public Power() public Power(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Minus extends Commands { public Minus() public Minus(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Not extends Commands { public Not() public Not(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class DoTimes extends Commands implements CtrlCommand, Executable { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) public double setBehavior(Stack> ctrlLists, ArrayList paramList, Turtle turtle, List observers) throws Exception public int getPops() } package slogo.model.commands.allcommands; public class PenDown extends Commands implements Executable { public PenDown() public PenDown(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class GreaterThan extends Commands { public GreaterThan() public GreaterThan(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class ShowTurtle extends Commands implements Executable { public ShowTurtle() public ShowTurtle(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class IsShowing extends Commands { public IsShowing() public IsShowing(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class LessEqual extends Commands { public LessEqual() public LessEqual(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Equal extends Commands { public Equal() public Equal(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class ClearScreen extends Commands implements Executable { public ClearScreen() public ClearScreen(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class NaturalLog extends Commands { public NaturalLog() public NaturalLog(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Backward extends Commands implements Executable { public Backward() public Backward(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Empty extends Commands { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class Or extends Commands { public Or() public Or(List params) public double setBehavior(ArrayList paramList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class HideTurtle extends Commands implements Executable { public HideTurtle() public HideTurtle(List params) public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) } package slogo.model.commands.allcommands; public class For extends Commands implements CtrlCommand, Executable { public double setBehavior(ArrayList paramsList, Turtle turtle) public double execute(Turtle turtle) public double setBehavior(Stack> ctrlLists, ArrayList paramList, Turtle turtle, List observers) throws Exception public int getPops() } package slogo.view; public class TurtleGraphics { public TurtleGraphics(double initialX, double initialY, String property, Controller controller) public Canvas setCanvas() public void clearCanvas() public Timeline getAnimation() public void updateTurtleGraphics(double x, double y, double direction, } package slogo.view; public class View { public View(String language) public void setController(Controller controller) public Scene makeScene(int width, int height) public TurtleGraphics getTurtleGraphic() public List getPanelButtons(String property) public ResourceBundle getMyLanguageResources() public CompletableFuture generateInputPopup(Stage stage) public TextArea getMyText() }