package commands; public class And extends TwoArgumentsCommand{ public And(Data data) public double execute() throws Exception } package commands; public class ArcTangent extends OneArgumentCommand{ public ArcTangent(Data data) public double execute() } package commands; public class Backward extends OneArgumentCommand{ public Backward(Data data) public double execute() throws Exception } package commands; public abstract class Command { public Command(Data data) public String getNextArgType() public Boolean hasArg() public Boolean hasNextArg() public void setNextArg(String argValue) public abstract double execute() throws Exception; } package commands; public class Cosine extends OneArgumentCommand{ public Cosine(Data data) public double execute() } package commands; public class Difference extends TwoArgumentsCommand{ public Difference(Data data) public double execute() } package commands; public class Equal extends TwoArgumentsCommand{ public Equal(Data data) public double execute() throws Exception } package commands; public class Forward extends OneArgumentCommand{ public Forward(Data data) public double execute() } package commands; public class GreaterThan extends TwoArgumentsCommand{ public GreaterThan(Data data) public double execute() throws Exception } package commands; public class Heading extends Command{ public Heading(Data data) public double execute() } package commands; public class HideTurtle extends Command{ public HideTurtle(Data data) public double execute() throws Exception } package commands; public class Home extends Command{ public Home(Data data) public double execute() throws Exception } package commands; public class IsPenDown extends Command{ public IsPenDown(Data data) public double execute() throws Exception } package commands; public class IsShowing extends Command{ public IsShowing(Data data) public double execute() } package commands; public class Left extends OneArgumentCommand{ public Left(Data data) public double execute() throws Exception } package commands; public class LessThan extends TwoArgumentsCommand{ public LessThan(Data data) public double execute() throws Exception } package commands; public class MakeVariable extends Command{ public MakeVariable(Data data) public double execute() throws Exception } package commands; public class Minus extends OneArgumentCommand{ public Minus(Data data) public double execute() } package commands; public class NaturalLog extends OneArgumentCommand{ public NaturalLog(Data data) public double execute() throws Exception } package commands; public class Not extends OneArgumentCommand{ public Not(Data data) public double execute() throws Exception } package commands; public class NotEqual extends TwoArgumentsCommand{ public NotEqual(Data data) public double execute() throws Exception } package commands; public abstract class OneArgumentCommand extends Command{ public OneArgumentCommand(Data data) public double getArgDouble() } package commands; public class Or extends TwoArgumentsCommand{ public Or(Data data) public double execute() throws Exception } package commands; public class PenDown extends Command{ public PenDown(Data data) public double execute() throws Exception } package commands; public class PenUp extends Command{ public PenUp(Data data) public double execute() throws Exception } package commands; public class Pi extends Command{ public Pi(Data data) public double execute() } package commands; public class Power extends TwoArgumentsCommand{ public Power(Data data) public double execute() } package commands; public class Product extends TwoArgumentsCommand{ public Product(Data data) public double execute() } package commands; public class Quotient extends TwoArgumentsCommand{ public Quotient(Data data) public double execute() throws Exception } package commands; public class Random extends OneArgumentCommand{ public Random(Data data) public double execute() throws Exception } package commands; public class Remainder extends TwoArgumentsCommand{ public double execute() } package commands; public class Repeat extends Command { public Repeat(Data data) public double execute() throws Exception } package commands; public class Right extends OneArgumentCommand{ public Right(Data data) public double execute() throws Exception } package commands; public class SetHeading extends OneArgumentCommand{ public SetHeading(Data data) public double execute() throws Exception } package commands; public class SetPosition extends TwoArgumentsCommand{ public SetPosition(Data data) public double execute() throws Exception } package commands; public class SetTowards extends TwoArgumentsCommand{ public SetTowards(Data data) public double execute() throws Exception } package commands; public class ShowTurtle extends Command{ public ShowTurtle(Data data) public double execute() throws Exception } package commands; public class Sine extends OneArgumentCommand{ public Sine(Data data) public double execute() } package commands; public class Sum extends TwoArgumentsCommand{ public Sum(Data data) public double execute() } package commands; public class Tangent extends OneArgumentCommand{ public Tangent(Data data) public double execute() } package commands; public abstract class TwoArgumentsCommand extends Command{ public TwoArgumentsCommand(Data data) public double getArg1Double() public double getArg2Double() } package commands; public class XCoordinate extends Command{ public XCoordinate(Data data) public double execute() } package commands; public class YCoordinate extends Command{ public YCoordinate(Data data) public double execute() } package communication; public class CoordinateProperty extends SimpleListProperty public CoordinateProperty(double x, double y) public double getX() public double getY() public void setX(double x) public void setY(double y) } package communication; public class LoadCommandEvent extends Event public static final EventType PAST_COMMAND = new EventType<>("PAST_COMMAND"); public LoadCommandEvent(EventType eventType, String command) public String getCommandBlock() } package communication; public class ObservableCoordinate implements ObservableList public int size() public boolean isEmpty() public boolean contains(Object o) public Iterator iterator() public Object[] toArray() public T[] toArray(T[] a) public boolean add(T e) public boolean remove(Object o) public boolean containsAll(Collection c) public boolean addAll(Collection c) public boolean addAll(int index, Collection c) public boolean removeAll(Collection c) public boolean retainAll(Collection c) public void clear() public T get(int index) public T set(int index, T element) public void add(int index, T element) public T remove(int index) public int indexOf(Object o) public int lastIndexOf(Object o) public ListIterator listIterator() public ListIterator listIterator(int index) public List subList(int fromIndex, int toIndex) public void addListener(InvalidationListener listener) public void removeListener(InvalidationListener listener) public void addListener(ListChangeListener listener) public void removeListener(ListChangeListener listener) public boolean addAll(T... elements) public boolean setAll(T... elements) public boolean setAll(Collection col) public boolean removeAll(T... elements) public boolean retainAll(T... elements) public void remove(int from, int to) } package communication; public class Packet public Packet() public void addErrorMessage(String message) public void setDisplayingCommand(String nestedCommand) public void setReturnValue(double returnValue) public void setCommandType(String commandType) public List getErrorMessages() public String getCommands() public double getReturnValue() public String getCommandType() } package communication; public class RunEvent extends Event public static final EventType RUN = new EventType<>("RUN"); public RunEvent(EventType eventType, String userInput) public String getUserInput() } package communication; public class SLogoController public SLogoController(Stage stage) public void startSLogoSimulation() public String[] formatUserInputIntoArray(String userInput) public void handle(RunEvent re) } public class Main extends Application public void start(Stage stage) } package model; public class Data { public Data() public void reinitialize() public Map getVariableData() public Object getVariableValue(String variableName) public void setVariableValue(String variableName, Object value) public Turtle getTurtle() } package model; public class Parser { public Parser(String language, Data data) public void receiveCommand(String[] command) public Map getVariableData() public List run() } package model; public class SLogoLogic public Packet update(String command) } package model; public class Turtle { public Turtle() public boolean getVisibility() public BooleanProperty getVisibilityProperty() public void setVisibility(boolean visibility) public boolean getPenDown() public BooleanProperty getPenDownProperty() public void setPenDown(boolean pen) public double getHeading() public DoubleProperty getHeadingProperty() public void setHeading(double direction) public double getxPos() public CoordinateProperty getPositionProperty() public void setxPos(double xPosition) public double getyPos() public void setyPos(double yPosition) } package model; public class TypeChecker { public TypeChecker() public void addPatterns(String language) public String getSymbol(String text) } package view; public class ArithmeticResultConsoleView implements Viewable{ public ArithmeticResultConsoleView(int width, int height) public Node getNode() public void addCommand(String command) } package view; public class CommandLineView implements Viewable public CommandLineView(int width, int height) public String getCommandLineInput() public void resetCommandLineForNextCommand() public Node getNode() public void setCommandLineContent(String commandBlock) } package view; public class CommandView implements Viewable public CommandView(String commandBlock) public CommandView(String commandBlock, Color backgroundColor, Color textColor,Color highlightColor) public Node getNode() public void handle(MouseEvent re) public void handle(MouseEvent re) public void handle(MouseEvent re) } package view; public class ErrorView implements Viewable { public ErrorView() public Text getNode() public void updateErrorTextMessage(String message) public void hideErrorTextMessage() public void showErrorTextMessage() } package view; public class LineScreenView implements Viewable public LineScreenView(int width, int height) public Node getNode() } package view; public class PastCommandsView implements Viewable public PastCommandsView(int width, int height) public Node getNode() public void addCommand(String command) } package view; public class SLogoScreenView implements Viewable public SLogoScreenView(int width, int height) public void addTurtle() public Node getNode() } package view; public class SLogoView public SimpleDoubleProperty heading = new SimpleDoubleProperty(); public CoordinateProperty position = new CoordinateProperty(0.0,0.0); public SimpleBooleanProperty isVisible = new SimpleBooleanProperty(); public SimpleBooleanProperty penDown = new SimpleBooleanProperty(); public SLogoView() public void reset() public void loadPacket(Packet data) public void updateVariables(Map variableMap) public Scene getScene() public void handle(RunEvent re) public void handle(LoadCommandEvent lce) public void updateHeading(Object oldVal, Object newVal) public void updatePosition(Object oldVal, Object newVal) public void updatePenUpDown(Object oldVal, Object newVal) public void updateVisibility(Object oldVal, Object newVal) } package view; public class TurtlePositionChangeListener implements ChangeListener> } package view; public class TurtleView implements Viewable public TurtleView(SimpleDoubleProperty heading, CoordinateProperty position, SimpleBooleanProperty isVisible, SimpleBooleanProperty penDown, LineScreenView lineCanvas) public Node getNode() } package view; public class VariablesView implements Viewable{ public VariablesView(int width, int height) public void updateMap(Map variableList) public Node getNode() public void updateMapConsole() public void addVariable(String variable) } package view; public interface Viewable public Node getNode(); }