diff --git a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java index b3c952c..a0a9115 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java @@ -15,6 +15,7 @@ import models.dataConstraintModel.ChannelMember; import models.dataConstraintModel.JsonAccessor; import models.dataConstraintModel.JsonTerm; +import models.dataConstraintModel.ListTerm; import models.dataConstraintModel.ResourceHierarchy; import models.dataConstraintModel.ResourcePath; import models.dataConstraintModel.StateTransition; @@ -634,14 +635,11 @@ } private Expression parseListTerm(TokenStream stream2, DataTransferModel model) throws ExpectedRightBracket, WrongJsonExpression, ExpectedColon, ExpectedDoubleQuotation { - Term listTerm = new Constant(DataTransferModel.nil); + ListTerm listTerm = new ListTerm(); listTerm.setType(DataTransferModel.typeList); while (stream.checkNext() != null && !stream.checkNext().equals(RIGHT_SQUARE_BRACKET)) { Expression element = parseTerm(stream, model); - Term nextTerm = new Term(DataTransferModel.cons); - nextTerm.addChild(element); - nextTerm.addChild(listTerm); - listTerm = nextTerm; + listTerm.addChild(element); if (stream.checkNext() == null || !stream.checkNext().equals(COMMA)) break; String comma = stream.next(); }