diff --git a/AlgebraicDataflowArchitectureModel/models/GameEngine.model b/AlgebraicDataflowArchitectureModel/models/GameEngine.model index b8173e4..8d05235 100644 --- a/AlgebraicDataflowArchitectureModel/models/GameEngine.model +++ b/AlgebraicDataflowArchitectureModel/models/GameEngine.model @@ -11,15 +11,15 @@ } native channel CameraPositionUpdate { - in scene.camera.transform.position(curPos: Json, updatePosition(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.camera.transform.position(curPos: Json, updatePosition(nextPos.x, nextPos.y, nextPos.z)) = nextPos } native channel CameraRotationUpdate { - in scene.camera.transform.rotation(curRot: Json, updateRotation(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.camera.transform.rotation(curRot: Json, updateRotation(nextRot.x, nextRot.y, nextRot.z)) = nextRot } native channel CameraScaleUpdate { - in scene.camera.transform.scale(curScale: Json, updateScale(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.camera.transform.scale(curScale: Json, updateScale(nextScale.x, nextScale.y, nextScale.z)) = nextScale } native channel CameraProjectionUpdate { @@ -27,17 +27,36 @@ } native channel EntityPositionUpdate(eid: Str) { - in scene.entities.{eid}.transform.position(curPos: Json, updatePosition(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.entities.{eid}.transform.position(curPos: Json, updatePosition(nextPos.x, nextPos.y, nextPos.z)) = nextPos } native channel EntityRotationUpdate(eid: Str) { - in scene.entities.{eid}.transform.rotation(curRot: Json, updateRotation(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.entities.{eid}.transform.rotation(curRot: Json, updateRotation(nextRot.x, nextRot.y, nextRot.z)) = nextRot } native channel EntityScaleUpdate(eid: Str) { - in scene.entities.{eid}.transform.scale(curScale: Json, updateScale(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} + in scene.entities.{eid}.transform.scale(curScale: Json, updateScale(nextScale.x, nextScale.y, nextScale.z)) = nextScale } native channel EntitySpriteUpdate(eid: Str) { in scene.entities.{eid}.mesh(curMesh: Json, updateSprite(spritePath: Str)) = {"type": "sprite", "sprite": spritePath} } + +channel AddSprite { + out scene.entities(entityDB: Map, addSprite(eid: Str, spritePath: Str)) = insert(entityDB, eid, { + "transform": { + "position": {"x": 0.0, "y": 0.0, "z": 0.0}, + "rotation": {"x": 0.0, "y": 0.0, "z": 0.0}, + "scale": {"x": 1.0, "y": 1.0, "z": 1.0} + }, + "mesh": {"type": "sprite", "sprite": spritePath} + }) +} + +channel MoveEntity(eid: Str) { + out scene.entities.{eid}.transform.position(curPos: Json, move(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} +} + +channel RotateEntity(eid: Str) { + out scene.entities.{eid}.transform.rotation(curRot: Json, rotate(x: Double, y: Double, z: Double)) = {"x": x, "y": y, "z": z} +} diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/DataTransferModelingCellEditor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/DataTransferModelingCellEditor.java index fa88e8d..f560501 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/DataTransferModelingCellEditor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/DataTransferModelingCellEditor.java @@ -31,6 +31,7 @@ import parser.Parser; import parser.Parser.TokenStream; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedRightBracket; import parser.exceptions.WrongJsonExpression; @@ -125,7 +126,7 @@ Expression exp = parser.parseTerm(stream, editor.getModel()); ((FormulaChannel) ch).setFormula(formula); ((FormulaChannel) ch).setFormulaTerm(exp); - } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { + } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java index 6fe7965..dc8d562 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java @@ -67,6 +67,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedFormulaChannel; import parser.exceptions.ExpectedGeometry; @@ -216,7 +217,7 @@ | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedModel | ExpectedGeometry | ExpectedNode | ExpectedResource | ExpectedFormulaChannel | ExpectedIoChannel - | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } @@ -252,7 +253,7 @@ return model; } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { @@ -589,7 +590,7 @@ Expression exp = parser.parseTerm(stream, getModel()); resourcePath = new ResourcePath(parentPath, exp); getModel().addResourcePath(resourcePath); - } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { + } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); return null; } @@ -779,7 +780,7 @@ resetDataFlowGraph(); } catch (ExpectedRightBracket | ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression - | WrongLHSExpression | WrongRHSExpression | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongLHSExpression | WrongRHSExpression | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/simulator/InputEventCellEditor.java b/AlgebraicDataflowArchitectureModel/src/application/simulator/InputEventCellEditor.java index 8d219c5..46bc39a 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/simulator/InputEventCellEditor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/simulator/InputEventCellEditor.java @@ -54,6 +54,7 @@ import parser.Parser; import parser.Parser.TokenStream; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedRightBracket; import parser.exceptions.WrongJsonExpression; import simulator.ChannelState; @@ -174,7 +175,7 @@ graphComponent.setCellEditor(new InputEventCellEditor(graphComponent, simulator, this.editor)); } catch (ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork - | InvalidMessage | UnificationFailed | ValueUndefined | ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { + | InvalidMessage | UnificationFailed | ValueUndefined | ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/simulator/SimulatorMenuBar.java b/AlgebraicDataflowArchitectureModel/src/application/simulator/SimulatorMenuBar.java index 29463f4..8337cd1 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/simulator/SimulatorMenuBar.java +++ b/AlgebraicDataflowArchitectureModel/src/application/simulator/SimulatorMenuBar.java @@ -5,6 +5,7 @@ import application.actions.ZoomInAction; import application.actions.ZoomOutAction; +import application.simulator.actions.ShowGameSimulatorAction; import application.simulator.actions.ShowUISimulatorAction; public class SimulatorMenuBar extends JMenuBar { @@ -22,6 +23,7 @@ menu = add(new JMenu("Show")); menu.add(new ShowUISimulatorAction(simulatorWindow.getSimulator())); + menu.add(new ShowGameSimulatorAction(simulatorWindow.getSimulator())); } } diff --git a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java index a1184ad..df55c5d 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java @@ -26,6 +26,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -86,6 +87,7 @@ public static final String COLON = ":"; public static final String DOT = "."; public static final String DOT_REGX = "\\."; + public static final String DOUBLE_QUOT = "\""; public Parser(final TokenStream stream) { this.stream = stream; @@ -107,14 +109,14 @@ public DataTransferModel doParse() throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedRightCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, - ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, WrongPathExpression, WrongJsonExpression, ExpectedColon { + ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { return parseDataFlowModel(); } public DataTransferModel parseDataFlowModel() throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedRightCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, - ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, WrongPathExpression, WrongJsonExpression, ExpectedColon { + ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { DataTransferModel model = new DataTransferModel(); DataTransferChannel channel; while ((channel = parseChannel(model)) != null) { @@ -131,7 +133,7 @@ throws ExpectedLeftCurlyBracket, ExpectedRightBracket, ExpectedRightCurlyBracket, ExpectedAssignment, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedChannel, ExpectedChannelName, ExpectedInOrOutOrRefOrSubKeyword, - ExpectedStateTransition, ExpectedEquals, WrongPathExpression, WrongJsonExpression, ExpectedColon { + ExpectedStateTransition, ExpectedEquals, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { if (!stream.hasNext()) return null; if (stream.checkNext().equals(RIGHT_CURLY_BRACKET)) return null; @@ -212,7 +214,7 @@ public void parseInit(DataTransferModel model) throws ExpectedLeftCurlyBracket, ExpectedAssignment, ExpectedRHSExpression, WrongRHSExpression, - ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon { + ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { String leftBracket = stream.next(); if (!leftBracket.equals(LEFT_CURLY_BRACKET)) throw new ExpectedLeftCurlyBracket(stream.getLine()); while (stream.hasNext() && !stream.checkNext().equals(RIGHT_CURLY_BRACKET)) { @@ -240,7 +242,7 @@ public ChannelMember parseChannelMember(DataTransferModel model, final String inOrOutOrRef) throws ExpectedRightBracket, ExpectedRightCurlyBracket, ExpectedStateTransition, ExpectedEquals, - ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, WrongPathExpression, WrongJsonExpression, ExpectedColon { + ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { if (!stream.hasNext()) throw new ExpectedStateTransition(stream.getLine()); StateTransitionTerm leftTerm = parseStateTransitionTerm(stream, model); if (leftTerm == null || !(leftTerm instanceof Term)) throw new WrongLHSExpression(stream.getLine()); @@ -287,7 +289,7 @@ return channelMember; } - public Expression parseTerm(TokenStream stream, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon { + public Expression parseTerm(TokenStream stream, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { ArrayList expressions = new ArrayList<>(); ArrayList operators = new ArrayList<>(); String operator = null; @@ -317,6 +319,10 @@ } else if (leftBracketOrMinusOrNeg.equals(NEG)) { minusOrNeg = DataTransferModel.neg; symbolName = stream.next(); + } else if (leftBracketOrMinusOrNeg.equals(DOUBLE_QUOT)) { + symbolName = DOUBLE_QUOT + stream.next() + DOUBLE_QUOT; + String doubleQuot = stream.next(); + if (!doubleQuot.equals(DOUBLE_QUOT)) throw new ExpectedDoubleQuotation(stream.getLine()); } else { symbolName = leftBracketOrMinusOrNeg; } @@ -363,7 +369,7 @@ } else { exp = new Constant(symbolName, DataTransferModel.typeInt); } - } else if (symbolName.startsWith("\"") && symbolName.endsWith("\"")) { + } else if (symbolName.startsWith(DOUBLE_QUOT) && symbolName.endsWith(DOUBLE_QUOT)) { // a string value exp = new Constant(symbolName, DataTransferModel.typeString); } else { @@ -550,21 +556,25 @@ // return jsonTerm; // } - private Expression parseJsonTerm(TokenStream stream, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon { + private Expression parseJsonTerm(TokenStream stream, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { JsonTerm jsonTerm = new JsonTerm(); while (stream.checkNext() != null && !stream.checkNext().equals(RIGHT_CURLY_BRACKET)) { + if (stream.checkNext() == null || !stream.checkNext().equals(DOUBLE_QUOT)) throw new ExpectedDoubleQuotation(stream.getLine()); + String doubleQuot = stream.next(); String key = stream.next(); + if (stream.checkNext() == null || !stream.checkNext().equals(DOUBLE_QUOT)) throw new ExpectedDoubleQuotation(stream.getLine()); + doubleQuot = stream.next(); if (stream.checkNext() == null || !stream.checkNext().equals(COLON)) throw new ExpectedColon(stream.getLine()); String colon = stream.next(); Expression value = parseTerm(stream, model); - jsonTerm.addMember(key, value); + jsonTerm.addMember(DOUBLE_QUOT + key + DOUBLE_QUOT, value); if (stream.checkNext() == null || !stream.checkNext().equals(COMMA)) break; String comma = stream.next(); } return jsonTerm; } - private Expression parseListTerm(TokenStream stream2, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon { + private Expression parseListTerm(TokenStream stream2, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { Term listTerm = new Constant(DataConstraintModel.nil); listTerm.setType(DataConstraintModel.typeList); while (stream.checkNext() != null && !stream.checkNext().equals(RIGHT_SQUARE_BRACKET)) { @@ -597,7 +607,7 @@ } public StateTransitionTerm parseStateTransitionTerm(TokenStream stream, DataTransferModel model) - throws ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon { + throws ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { ResourcePath resourcePath = parseResourcePath(stream, model); StateTransitionTerm term = new StateTransitionTerm(resourcePath); int arity = 0; @@ -637,7 +647,7 @@ } public ResourcePath parseResourcePath(TokenStream stream, DataTransferModel model) - throws ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon { + throws ExpectedRightBracket, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { ResourcePath path = null; do { String literalOrLeftCurlyBracket = stream.next(); @@ -682,90 +692,34 @@ public void addLine(String line) { lines.add(line); line = line.trim(); - tokens.add( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - splitBy( - line.split("[ \t]"), - ADD, - ADD_REGX), - MUL, - MUL_REGX), - SUB, - SUB_REGX), - DIV, - DIV_REGX), - MOD, - MOD), - EQ, - EQ), - NEQ, - NEQ), - GE, - GE), - LE, - LE), - GT, - GT), - LT, - LT), - AND, - AND), - OR, - OR_REGX), - NEG, - NEG), - DOT, - DOT_REGX), - COMMA, - COMMA), - COLON, - COLON), - LEFT_BRACKET, - LEFT_BRACKET_REGX), - RIGHT_BRACKET, - RIGHT_BRACKET_REGX), - EQUALS, - EQUALS), - LEFT_CURLY_BRACKET, - LEFT_CURLY_BRACKET_REGX), - RIGHT_CURLY_BRACKET, - RIGHT_CURLY_BRACKET_REGX), - LEFT_SQUARE_BRACKET, - LEFT_SQUARE_BRACKET_REGX), - RIGHT_SQUARE_BRACKET, - RIGHT_SQUARE_BRACKET_REGX)); + ArrayList tokenList = splitByDoubleQuotation(line); + tokenList = splitBy(tokenList, ADD, ADD_REGX); + tokenList = splitBy(tokenList, MUL, MUL_REGX); + tokenList = splitBy(tokenList, SUB, SUB_REGX); + tokenList = splitBy(tokenList, DIV, DIV_REGX); + tokenList = splitBy(tokenList, MOD, MOD); + tokenList = splitBy(tokenList, EQ, EQ); + tokenList = splitBy(tokenList, NEQ, NEQ); + tokenList = splitBy(tokenList, GE, GE); + tokenList = splitBy(tokenList, LE, LE); + tokenList = splitBy(tokenList, GT, GT); + tokenList = splitBy(tokenList, LT, LT); + tokenList = splitBy(tokenList, AND, AND); + tokenList = splitBy(tokenList, OR, OR_REGX); + tokenList = splitBy(tokenList, NEG, NEG); + tokenList = splitBy(tokenList, DOT, DOT_REGX); + tokenList = splitBy(tokenList, COMMA, COMMA); + tokenList = splitBy(tokenList, COLON, COLON); + tokenList = splitBy(tokenList, LEFT_BRACKET, LEFT_BRACKET_REGX); + tokenList = splitBy(tokenList, RIGHT_BRACKET, RIGHT_BRACKET_REGX); + tokenList = splitBy(tokenList, EQUALS, EQUALS); + tokenList = splitBy(tokenList, LEFT_CURLY_BRACKET, LEFT_CURLY_BRACKET_REGX); + tokenList = splitBy(tokenList, RIGHT_CURLY_BRACKET, RIGHT_CURLY_BRACKET_REGX); + tokenList = splitBy(tokenList, LEFT_SQUARE_BRACKET, LEFT_SQUARE_BRACKET_REGX); + tokenList = splitBy(tokenList, RIGHT_SQUARE_BRACKET, RIGHT_SQUARE_BRACKET_REGX); + tokens.add(tokenList); } - private ArrayList splitBy(String[] tokens, final String delimiter, final String delimiterRegx) { - ArrayList newTokens = new ArrayList<>(); - for (String token: tokens) { - newTokens.add(new Token(token)); - } - return splitBy(newTokens, delimiter, delimiterRegx); - } - private ArrayList splitBy(final List tokens, final String delimiter, final String delimiterRegx) { ArrayList newTokens = new ArrayList<>(); for (Token token: tokens) { @@ -791,6 +745,30 @@ } return newTokens; } + + private ArrayList splitByDoubleQuotation(String line) { + ArrayList newTokens = new ArrayList<>(); + String[] tokens = line.split(DOUBLE_QUOT); + boolean fFirstToken = true; + for (int i = 0; i < tokens.length; i++) { + String token = tokens[i]; + if (!fFirstToken) { + newTokens.add(new Token(DOUBLE_QUOT, true)); + } + if (token.length() > 0) { + if (i % 2 == 0) { + for (String t: token.split("[ \t]")) { + newTokens.add(new Token(t)); + } + } else { + // string literal + newTokens.add(new Token(token, true)); + } + } + fFirstToken = false; + } + return newTokens; + } public String next() { if (line >= tokens.size()) return null; diff --git a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java index 6ea7dec..eae7ac7 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java @@ -15,6 +15,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedFormulaChannel; import parser.exceptions.ExpectedGeometry; @@ -67,9 +68,10 @@ * @param reader * @throws WrongJsonExpression * @throws ExpectedColon + * @throws ExpectedDoubleQuotation */ public DataTransferModel doParseModel() - throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, ExpectedModel, ExpectedGeometry, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon { + throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, ExpectedModel, ExpectedGeometry, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { DataTransferModel model = getParsedModel(); return model; } @@ -91,9 +93,10 @@ * @param stream * @throws WrongJsonExpression * @throws ExpectedColon + * @throws ExpectedDoubleQuotation */ private DataTransferModel getParsedModel() - throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, ExpectedModel, ExpectedGeometry, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon { + throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedInOrOutOrRefOrSubKeyword, ExpectedStateTransition, ExpectedEquals, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment, ExpectedModel, ExpectedGeometry, ExpectedRightCurlyBracket, WrongPathExpression, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { if (!stream.hasNext()) throw new NullPointerException(); diff --git a/AlgebraicDataflowArchitectureModel/src/parser/exceptions/ExpectedDoubleQuotation.java b/AlgebraicDataflowArchitectureModel/src/parser/exceptions/ExpectedDoubleQuotation.java new file mode 100644 index 0000000..434bec3 --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/parser/exceptions/ExpectedDoubleQuotation.java @@ -0,0 +1,8 @@ +package parser.exceptions; + +public class ExpectedDoubleQuotation extends ParseException { + + public ExpectedDoubleQuotation(int line) { + super(line); + } +} diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java b/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java index 5f25bdb..645ed14 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java @@ -361,7 +361,7 @@ if (resStateValue instanceof Constant) { } else if (resStateValue instanceof JsonTerm) { JsonTerm jsonValue = (JsonTerm) resStateValue; - MapResourceState state = new MapResourceState(); + JsonResourceState state = new JsonResourceState(); Map.Entry createInfo = null; for (String key: jsonValue.keySet()) { String memberName = key.replace("\"", ""); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraPositionReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraPositionReceiver.java index 47103ea..cadc4e8 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraPositionReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraPositionReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraRotationReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraRotationReceiver.java index 8e368a8..e0ec72e 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraRotationReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraRotationReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraScaleReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraScaleReceiver.java index 1447071..fb0c1cf 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraScaleReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/CameraScaleReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityPositionReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityPositionReceiver.java index aa19a4d..f1c668a 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityPositionReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityPositionReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityRotationReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityRotationReceiver.java index 8185b49..a07ca45 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityRotationReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityRotationReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityScaleReceiver.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityScaleReceiver.java index ebbbcf4..3e9ebf7 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityScaleReceiver.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/EntityScaleReceiver.java @@ -21,6 +21,15 @@ Expression xExp = ((Term) message).getChild(0); Expression yExp = ((Term) message).getChild(1); Expression zExp = ((Term) message).getChild(2); + if (xExp instanceof Term) { + xExp = ((Term) xExp).reduce(); + } + if (yExp instanceof Term) { + yExp = ((Term) yExp).reduce(); + } + if (zExp instanceof Term) { + zExp = ((Term) zExp).reduce(); + } Float x = Float.parseFloat(xExp.toString()); Float y = Float.parseFloat(yExp.toString()); Float z = Float.parseFloat(zExp.toString()); diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/GameEnginePresenter.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/GameEnginePresenter.java index 2353549..f3fc924 100644 --- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/GameEnginePresenter.java +++ b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/gameEngine/GameEnginePresenter.java @@ -148,16 +148,16 @@ if (entityExp instanceof JsonTerm) { JsonTerm entity = (JsonTerm) entityExp; Resource entityResource = entitiesResource.getChildrenMap().get(newEid); - Expression transformExp = entity.get("\"transform\""); - Expression meshExp = entity.get("\"mesh\""); + Expression transformExp = entity.get("transform"); + Expression meshExp = entity.get("mesh"); if (transformExp instanceof JsonTerm && meshExp instanceof JsonTerm) { JsonTerm transform = (JsonTerm) transformExp; JsonTerm mesh = (JsonTerm) meshExp; Resource transformResource = entityResource.getChildrenMap().get("transform"); Resource meshResource = entityResource.getChildrenMap().get("mesh"); - Expression positionExp = transform.get("\"position\""); - Expression rotationExp = transform.get("\"rotation\""); - Expression scaleExp = transform.get("\"scale\""); + Expression positionExp = transform.get("position"); + Expression rotationExp = transform.get("rotation"); + Expression scaleExp = transform.get("scale"); Resource positionResource = transformResource.getChildrenMap().get("position"); Resource rotationResource = transformResource.getChildrenMap().get("rotation"); Resource scaleResource = transformResource.getChildrenMap().get("scale"); @@ -167,7 +167,7 @@ JsonTerm position = (JsonTerm) positionExp; JsonTerm rotation = (JsonTerm) rotationExp; JsonTerm scale = (JsonTerm) scaleExp; - GameObject gameObj = new GameObject("Sample");//新しいIDが必要あり + GameObject gameObj = new GameObject(newEid);//新しいIDが必要あり gameObj.transform.setPosition(Float.parseFloat(position.get("x").toString()), Float.parseFloat(position.get("y").toString()), Float.parseFloat(position.get("z").toString())); @@ -177,14 +177,14 @@ gameObj.transform.setScale(Float.parseFloat(scale.get("x").toString()), Float.parseFloat(scale.get("y").toString()), Float.parseFloat(scale.get("z").toString())); - Expression type = mesh.get("\"type\""); + Expression type = mesh.get("type"); if (type.toString().equals("\"sprite\"")) { - String texturePath = mesh.get("\"type\"").toString(); + String texturePath = mesh.get("sprite").toString().replace("\"", ""); Mesh meshObj = new Mesh(gameObj, Mesh.MeshType.SPRITE, texturePath); gameObj.addComponent(meshObj); - SpriteReceiver nativeSpriteReceiver = new SpriteReceiver(meshObj); simulator.addNativeReceiver(nativeSpriteReceiver, spriteUpdateChannel, meshResource); + Map resources = channelAndResourcesForEntityReceiving.get(spriteUpdateChannel); if (resources == null) { resources = new HashMap<>(); diff --git a/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java b/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java index b318c30..8ee6b46 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java @@ -18,6 +18,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -45,7 +46,7 @@ System.out.println(codetree); } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java index b228862..0db9f4b 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageDecisionTest.java @@ -14,6 +14,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -43,7 +44,7 @@ } } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { diff --git a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java index 73eff57..d95fb08 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/DataStorageNecessityTest.java @@ -13,6 +13,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -43,7 +44,7 @@ } } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { diff --git a/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java b/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java index c3b11ab..b88f7c3 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/EdgeTransitionSelectableTest.java @@ -13,6 +13,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -42,7 +43,7 @@ } } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression - | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongRHSExpression | ExpectedRightBracket | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { diff --git a/AlgebraicDataflowArchitectureModel/src/tests/InverseTest.java b/AlgebraicDataflowArchitectureModel/src/tests/InverseTest.java index 165013e..0d0efe1 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/InverseTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/InverseTest.java @@ -22,6 +22,7 @@ import parser.Parser; import parser.Parser.TokenStream; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedRightBracket; import parser.exceptions.WrongJsonExpression; @@ -111,7 +112,7 @@ assertTrue(inv.contains(z)); assertFalse(inv.contains(v)); } - } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { + } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/NativeAccessTest.java b/AlgebraicDataflowArchitectureModel/src/tests/NativeAccessTest.java index e014bab..a91d089 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/NativeAccessTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/NativeAccessTest.java @@ -16,6 +16,7 @@ import parser.Parser; import parser.Parser.TokenStream; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedRightBracket; import parser.exceptions.WrongJsonExpression; import simulator.Event; @@ -92,7 +93,7 @@ Expression sendMessage = parser.parseTerm(stream, model); textSender.sendToModel(sendMessage); // Send a message to the model - } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon e) { + } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/SimulatorTest.java b/AlgebraicDataflowArchitectureModel/src/tests/SimulatorTest.java index ca760bb..1800da4 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/SimulatorTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/SimulatorTest.java @@ -21,6 +21,7 @@ import parser.Parser; import parser.Parser.TokenStream; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedRightBracket; import parser.exceptions.WrongJsonExpression; import simulator.Event; @@ -156,6 +157,9 @@ customer_add_2.getStateTransition().setNextStateExpression(nextStateExp6); c.addChannelMemberAsOutput(customer_add_2); + model.addInputChannel(cio_addCustomer); + model.addInputChannel(cio_addCompany); + model.addInputChannel(cio_setCustomerOff); model.addInputChannel(cio_setCompanyAdd); model.addChannel(c); @@ -217,7 +221,7 @@ System.out.println("companies:" + nextNextNextState.getResource(ResourceIdentifier.createFrom(companies)).getState().getValue()); System.out.println("customers:" + nextNextNextState.getResource(ResourceIdentifier.createFrom(customers)).getState().getValue()); - } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage | UnificationFailed | ValueUndefined e) { + } catch (ExpectedRightBracket | WrongJsonExpression | ExpectedColon | ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage | UnificationFailed | ValueUndefined | ExpectedDoubleQuotation e) { e.printStackTrace(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/UpdateConflictCheckTest.java b/AlgebraicDataflowArchitectureModel/src/tests/UpdateConflictCheckTest.java index c507ae9..de362c9 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/UpdateConflictCheckTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/UpdateConflictCheckTest.java @@ -12,6 +12,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -36,7 +37,7 @@ } catch (ExpectedRightBracket | ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedRightCurlyBracket | ExpectedInOrOutOrRefOrSubKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression | WrongRHSExpression | ExpectedAssignment - | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) { diff --git a/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java b/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java index 6234ba9..8c5eae4 100644 --- a/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java +++ b/AlgebraicDataflowArchitectureModel/src/tests/parser/ParseTest.java @@ -18,6 +18,7 @@ import parser.exceptions.ExpectedChannel; import parser.exceptions.ExpectedChannelName; import parser.exceptions.ExpectedColon; +import parser.exceptions.ExpectedDoubleQuotation; import parser.exceptions.ExpectedEquals; import parser.exceptions.ExpectedInOrOutOrRefOrSubKeyword; import parser.exceptions.ExpectedLeftCurlyBracket; @@ -58,7 +59,7 @@ | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression | WrongRHSExpression | ExpectedRightBracket | ParameterizedIdentifierIsFutureWork | ResolvingMultipleDefinitionIsFutureWork | InvalidMessage - | UnificationFailed | ValueUndefined | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon e) { + | UnificationFailed | ValueUndefined | ExpectedAssignment | ExpectedRightCurlyBracket | WrongPathExpression | WrongJsonExpression | ExpectedColon | ExpectedDoubleQuotation e) { e.printStackTrace(); } } catch (FileNotFoundException e) {