package FrontEnd; public class ClickableList { public Node createListView(double width, double height, String Label) public void updateVariablesList(List varList) public void addClickability(EventHandler< ? super MouseEvent> e) public String getSelection() } package FrontEnd; public class CommandInputPrevCommands { public Node createBottomPane() public StringProperty commandInputTextProperty() public void changeTextColor(String ColorCode) public BooleanProperty isClickedProperty() public String getText() public void setPrevCommand(List commands) } package FrontEnd; public class Display implements DisplayInterface { public Scene init(Stage s) public void step(double elaspedTime) public void displayError(String s) } package FrontEnd; public interface DisplayInterface { public Scene init(Stage s); public void displayError(String s); } package FrontEnd; public class tab { public void displayError(String myString) public Tab createPane() public void step(double elapsedTime) public String inputDialog(String s) public ResourceBundle getMyResources() } package FrontEnd; public class TopMenu { public Node getMenu() } package FrontEnd; public class turtle { public void addNextX(double val) public void rotate(Double degree) public void addNextY(double val) public double getNextX() public double getNextY() public boolean allMoved() public void updatePosition() public turtle(ImageView myTurtleImage, Label TurtleInf) public Node getNode() public void updateLabel(int x, int y, boolean penDown) public void setX(double x) public void setY(double y) public double getX() public double getY() public void setImage(Image i) } package FrontEnd; public class TurtleAndPen{ public void dashedLine(double ofset) public void lineOpacity(double value) public void setLineWidth(double value) public void setNextX(double x, int turtleNum) public void setNextY(double y, int turtleNum) public void penDown(boolean isDown, int turtleNum) public void infinite(boolean isInf) public void setAngle(int index, double degrees) public void clearScreen() public boolean getPenDown() public boolean getInfinite() public TurtleAndPen() public Node getTurtle(int index) public Node getScrollPane() public void createNewTurtle() public void moveTurtle(int num) public void updateLineColor(String code) public void updateTurtleImage(File file, int turtleNum) public void setBackgroundColor(String s) } package FrontEnd; public class UserCommands { public UserCommands(String cName, String cValue) public SimpleStringProperty commandNameProperty() public SimpleStringProperty commandValueProperty() public String getCommandName() public String getCommandValue() } package FrontEnd; public class UserCommandsClickableTable { public UserCommandsClickableTable() public Node createTableView(double width, double height, String Label) public Node updateCommandsMap(Map newValue) } package FrontEnd; public class Variable { public Variable(String vName, String vValue) public StringProperty variableNameProperty() public StringProperty variableValueProperty() public String getVariableName() public String getVariableValue() } package FrontEnd; public class VariablesClickableTable { public Node createTableView(double width, double height, String Label) public Node updateVariablesList(Map newValue) public void addClickability(EventHandler< ? super MouseEvent> e) public String getSelection() } package slogo_team08.back_end; public interface BackEndExternalInterface { public void updateBackEnd(String input); public DoubleProperty nextXProperty(); public DoubleProperty nextYProperty(); public DoubleProperty operationResultsProperty(); public StringProperty languageProperty(); public ListProperty commandHistoryProperty(); public MapProperty userDefinedVariablesProperty(); public MapProperty userDefinedCommandsProperty(); public StringProperty errorsProperty(); public StringProperty turtleImageProperty(); public StringProperty backgroundColorProperty(); public BooleanProperty isInfiniteProperty(); public BooleanProperty penIsDownProperty(); public BooleanProperty turtleIsVisibleProperty(); public StringProperty penColorProperty(); public BooleanProperty clearScreenProperty(); public BooleanProperty coordsUpdated(); } package slogo_team08.back_end; public interface BackEndInternalInterface extends BackEndExternalInterface{ public DoubleProperty currAngleProperty(); } package slogo_team08.back_end.expression_tree.commands; public abstract class Command implements CommandInterface { public abstract T resolve(InternalExpressionTreeInterface treeInterface); public K getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class And extends TwoInputCommand{ public And(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class ArcTangent extends OneInputCommand { public ArcTangent(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Backward extends OneInputCommand{ public Backward(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class ClearScreen extends ZeroInputCommand { public ClearScreen(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Constant extends ValuedCommand{ public Constant(InternalCommandFactoryInterface factory, Double value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Cosine extends OneInputCommand { public Cosine(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Difference extends TwoInputCommand{ public Difference(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class DoTimes extends Loop{ public DoTimes(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Equal extends TwoInputCommand{ public Equal(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class For extends Loop{ public For(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Forward extends OneInputCommand{ public Forward(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class GreaterThan extends TwoInputCommand{ public GreaterThan(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Heading extends ZeroInputCommand { public Heading(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class HideTurtle extends ZeroInputCommand { public HideTurtle(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Home extends ZeroInputCommand { public Home(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class If extends NInputCommand{ public If(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class IfElse extends NInputCommand{ public IfElse(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class IsPenDown extends ZeroInputCommand { public IsPenDown(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class IsShowing extends ZeroInputCommand { public IsShowing(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Left extends OneInputCommand{ public Left(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class LessThan extends TwoInputCommand{ public LessThan(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public abstract class ListDelimeter extends Delimeter{ public ListDelimeter(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class ListEnd extends ListDelimeter{ public ListEnd(InternalCommandFactoryInterface factory, String value) public Boolean getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class ListStart extends ListDelimeter{ public ListStart(InternalCommandFactoryInterface factory, String value) public Boolean getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class MakeVariable extends TwoInputCommand{ public MakeVariable(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Minus extends OneInputCommand { public Minus(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class NaturalLog extends OneInputCommand { public NaturalLog(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Not extends OneInputCommand { public Not(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class NotEqual extends TwoInputCommand{ public NotEqual(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Or extends TwoInputCommand{ public Or(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class PenDown extends ZeroInputCommand { public PenDown(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class PenUp extends ZeroInputCommand { public PenUp(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Pi extends ZeroInputCommand { public Pi(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Power extends TwoInputCommand{ public Power(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Product extends TwoInputCommand{ public Product(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Quotient extends TwoInputCommand { public Quotient(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Random extends OneInputCommand { public Random(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Remainder extends TwoInputCommand { public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Repeat extends Loop{ public Repeat(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Right extends OneInputCommand{ public Right(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class SetHeading extends OneInputCommand{ public SetHeading(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class SetPosition extends TwoInputCommand{ public SetPosition(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class SetTowards extends TwoInputCommand{ public SetTowards(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class ShowTurtle extends ZeroInputCommand { public ShowTurtle(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Sine extends OneInputCommand { public Sine(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Sum extends TwoInputCommand{ public Sum(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Tangent extends OneInputCommand { public Tangent(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class Variable extends ValuedCommand{ public Variable(InternalCommandFactoryInterface factory, String variableName) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class XCoordinate extends ZeroInputCommand { public XCoordinate(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes.command_types; public class YCoordinate extends ZeroInputCommand { public YCoordinate(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface tree) } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class DefinedInputCommand extends MultiInputCommand{ public DefinedInputCommand(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class Delimeter extends ValuedCommand{ public Delimeter(InternalCommandFactoryInterface factory, Object value) public abstract Object getValue(); } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class Loop extends NInputCommand{ public Loop(InternalCommandFactoryInterface factory, String value) public Double resolve(InternalExpressionTreeInterface treeInterface) } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class MultiInputCommand extends Command{ public MultiInputCommand(InternalCommandFactoryInterface factory, String value) public String getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class NInputCommand extends MultiInputCommand{ public NInputCommand(InternalCommandFactoryInterface factory, String value) public String getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class OneInputCommand extends DefinedInputCommand{ public OneInputCommand(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class TwoInputCommand extends DefinedInputCommand { public TwoInputCommand(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class ValuedCommand extends Command{ public ValuedCommand(InternalCommandFactoryInterface factory, K value) public K getValue() } package slogo_team08.back_end.expression_tree.commands.command_nodes; public abstract class ZeroInputCommand extends DefinedInputCommand{ public ZeroInputCommand(InternalCommandFactoryInterface factory, String value) } package slogo_team08.back_end.expression_tree.commands; public class CommandInstantiationException extends RuntimeException{ public CommandInstantiationException(String message) public CommandInstantiationException(Throwable cause) public CommandInstantiationException(String message, Throwable cause) } package slogo_team08.back_end.expression_tree.commands; public interface CommandInterface { public T resolve(InternalExpressionTreeInterface treeInterface); } package slogo_team08.back_end.expression_tree.commands; public interface ExternalCommandFactoryInterface { public List> createRoots(); } package slogo_team08.back_end.expression_tree.commands; public interface InternalCommandFactoryInterface { public Command createNextCommand(); } package slogo_team08.back_end.expression_tree.commands; public class RootCommandFactory implements InternalCommandFactoryInterface, ExternalCommandFactoryInterface{ public RootCommandFactory(ResourceBundle resourceBundle, ArrayList> parsedExpression) public ResourceBundle getResourceBundle() public List> createRoots() public Command createNextCommand() } package slogo_team08.back_end.expression_tree; public class ExpressionTreeFactory implements ExpressionTreeFactoryInterface{ public ExpressionTreeFactory(BackEndInternalInterface internalInterface) public ExternalExpressionTreeInterface create(ArrayList> parsedExpression) } package slogo_team08.back_end.expression_tree; public interface ExpressionTreeFactoryInterface { public ExternalExpressionTreeInterface create(ArrayList> parsedExpression); } package slogo_team08.back_end.expression_tree; public interface ExternalExpressionTreeInterface { public T execute(); } package slogo_team08.back_end.expression_tree; public interface InternalExpressionTreeInterface { public T resolveVariable(String variableName); public void setVariable(String variableName, T value ); public BackEndInternalInterface getBackEndInterface(); } package slogo_team08.back_end.expression_tree; public class ParsedData { public ParsedData(K key, V value) public K getKey() public V getValue() } package slogo_team08.back_end.expression_tree; * package-friendly instantiation only to force creation through factory public class SLogoExpressionTree implements InternalExpressionTreeInterface, ExternalExpressionTreeInterface{ public T execute() public T resolveVariable(String variableName) public void setVariable(String variableName, T command) public BackEndInternalInterface getBackEndInterface() } package slogo_team08.back_end; public class SLogoBackEnd implements BackEndExternalInterface, BackEndInternalInterface{ public SLogoBackEnd() public void updateBackEnd(String input) public DoubleProperty currAngleProperty() public DoubleProperty nextXProperty() public DoubleProperty nextYProperty() public DoubleProperty operationResultsProperty() public StringProperty languageProperty() public ListProperty commandHistoryProperty() public MapProperty userDefinedVariablesProperty() public MapProperty userDefinedCommandsProperty() public StringProperty errorsProperty() public StringProperty turtleImageProperty() public BooleanProperty isInfiniteProperty() public BooleanProperty penIsDownProperty() public BooleanProperty turtleIsVisibleProperty() public StringProperty backgroundColorProperty() public StringProperty penColorProperty() public BooleanProperty clearScreenProperty() public BooleanProperty coordsUpdated() } package slogo_team08; public class Main extends Application { public void start(Stage s) throws Exception } package slogo_team08.RegEx; public class ParserException extends RuntimeException { public ParserException(String message) public ParserException(Throwable cause) public ParserException(String message, Throwable cause) } package slogo_team08.RegEx; public class ParserManager implements RegExParser { public ParserManager(String langFileName, String synFileName) public List> getParsed(String input) public void updateLanguage(String langFileName) public void updateSyntax(String synFileName) } package slogo_team08.RegEx; public class ProgramParser { public ProgramParser () public void clearPatterns() //add clear lang public void printSymbols() public void addPatterns (String syntax) public void setSyntaxList(String syntax) public boolean checkSyntax(String syntaxWord) public String getSymbol (String text) public boolean match (String text, Pattern regex) } package slogo_team08.RegEx; public interface RegExParser { public List> getParsed(String input); public void updateLanguage(String langFileName); public void updateSyntax(String synFileName); }