From 4e25101a2a6e365b60f36a9416bde26d64d2a03c Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Fri, 14 Feb 2025 10:52:54 +0100 Subject: [PATCH 01/21] Updated FeatureIDE to Eclipse 2024-12 from Eclipse Oxygen --- .../DeltaJConstraintGeneratorHelper.java | 95 +++-- .../generator/DeltaJConstraintsGenerator.java | 45 +-- .../DeltaJExpressionConstraintGenerator.java | 151 +++----- .../org/deltaj/generator/DeltaJGenerator.java | 338 ++++++++---------- .../generator/DeltaJGeneratorExtensions.java | 50 +-- .../DeltaJStatementConstraintGenerator.java | 87 ++--- .../deltaj/generator/DeltaJTypeGenerator.java | 16 +- .../TankWar-Antenna/bin/DrawPanel.class | Bin 13279 -> 13534 bytes .../TankWar-Antenna/bin/Entity.class | Bin 5831 -> 5835 bytes .../TankWar-Antenna/bin/Environment.class | Bin 1502 -> 1502 bytes .../TankWar-Antenna/bin/Gui.class | Bin 1325 -> 1354 bytes .../TankWar-Antenna/bin/LoadSave.class | Bin 2781 -> 3055 bytes .../TankWar-Antenna/bin/PowerUp.class | Bin 2384 -> 2384 bytes .../TankWar-Antenna/bin/Profile.class | Bin 1187 -> 1187 bytes .../TankWar-Antenna/bin/Proj.class | Bin 3324 -> 3324 bytes .../TankWar-Antenna/bin/Schuss.class | Bin 1698 -> 1698 bytes .../TankWar-Antenna/bin/Snd.class | Bin 981 -> 697 bytes .../TankWar-Antenna/bin/TankInfo.class | Bin 1062 -> 1095 bytes .../fm/ui/editors/FeatureUIHelper.java | 7 +- .../renaming/FeatureLabelEditManager.java | 2 +- pom.xml | 12 +- 21 files changed, 336 insertions(+), 467 deletions(-) diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintGeneratorHelper.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintGeneratorHelper.java index 7de8774e4c..81d3db66f4 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintGeneratorHelper.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintGeneratorHelper.java @@ -9,153 +9,144 @@ import org.deltaj.deltaj.New; import org.deltaj.deltaj.Statement; import org.deltaj.deltaj.Type; -import org.deltaj.generator.DeltaJGeneratorExtensions; -import org.deltaj.generator.DeltaJTypeGenerator; import org.deltaj.util.DeltaJNodeModelUtils; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.xbase.lib.Extension; import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xbase.lib.ListExtensions; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJConstraintGeneratorHelper { @Inject private DeltaJNodeModelUtils nodeModelUtils; - + @Inject @Extension private DeltaJTypeGenerator typeGenerator; - + @Inject @Extension private DeltaJGeneratorExtensions _deltaJGeneratorExtensions; - + protected CharSequence _genComment(final Statement statement) { StringConcatenation _builder = new StringConcatenation(); _builder.append("/* "); String _programText = this.nodeModelUtils.getProgramText(statement); - _builder.append(_programText, ""); + _builder.append(_programText); _builder.append(" */"); return _builder; } - + protected CharSequence _genComment(final JavaVerbatim javaVerbatim) { - List _javaVerbatimLines = this._deltaJGeneratorExtensions.javaVerbatimLines(javaVerbatim); - final Function1 _function = new Function1() { - @Override - public String apply(final String line) { - return ("// " + line); - } + final Function1 _function = (String line) -> { + return ("// " + line); }; - List _map = ListExtensions.map(_javaVerbatimLines, _function); - return IterableExtensions.join(_map, "\n"); + return IterableExtensions.join(ListExtensions.map(this._deltaJGeneratorExtensions.javaVerbatimLines(javaVerbatim), _function), "\n"); } - + public CharSequence genComment(final Expression exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("// "); String _programText = this.nodeModelUtils.getProgramText(exp); - _builder.append(_programText, ""); + _builder.append(_programText); return _builder; } - + public CharSequence genClassConstraint(final String class_, final New new_) { StringConcatenation _builder = new StringConcatenation(); _builder.append("class("); - _builder.append(class_, ""); + _builder.append(class_); _builder.append(") "); CharSequence _genComment = this.genComment(new_); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + public CharSequence genSubtypeConstraint(final Type candidate, final Type expectedType, final Expression exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("subtype("); CharSequence _compileType = this.typeGenerator.compileType(candidate); - _builder.append(_compileType, ""); + _builder.append(_compileType); _builder.append(", "); CharSequence _compileType_1 = this.typeGenerator.compileType(expectedType); - _builder.append(_compileType_1, ""); + _builder.append(_compileType_1); _builder.append(") "); CharSequence _genComment = this.genComment(exp); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + public CharSequence genPlusConstraint(final Type left, final Type right, final Type plusType, final Expression exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("plus("); CharSequence _compileType = this.typeGenerator.compileType(left); - _builder.append(_compileType, ""); + _builder.append(_compileType); _builder.append(", "); CharSequence _compileType_1 = this.typeGenerator.compileType(right); - _builder.append(_compileType_1, ""); + _builder.append(_compileType_1); _builder.append(", "); CharSequence _compileType_2 = this.typeGenerator.compileType(plusType); - _builder.append(_compileType_2, ""); + _builder.append(_compileType_2); _builder.append(") "); CharSequence _genComment = this.genComment(exp); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + public CharSequence genCastConstraint(final String castTo, final Type candidate, final Cast cast) { StringConcatenation _builder = new StringConcatenation(); _builder.append("cast("); - _builder.append(castTo, ""); + _builder.append(castTo); _builder.append(", "); CharSequence _compileType = this.typeGenerator.compileType(candidate); - _builder.append(_compileType, ""); + _builder.append(_compileType); _builder.append(") "); CharSequence _genComment = this.genComment(cast); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + public CharSequence genFieldConstraint(final Type containingType, final String fieldName, final Type fieldType, final Expression exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("field("); CharSequence _compileType = this.typeGenerator.compileType(containingType); - _builder.append(_compileType, ""); + _builder.append(_compileType); _builder.append(", "); - _builder.append(fieldName, ""); + _builder.append(fieldName); _builder.append(", "); CharSequence _compileType_1 = this.typeGenerator.compileType(fieldType); - _builder.append(_compileType_1, ""); + _builder.append(_compileType_1); _builder.append(") "); CharSequence _genComment = this.genComment(exp); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + public CharSequence genMethodConstraint(final Type receiverType, final String methodName, final Type returnType, final List typesForParams, final Expression exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("method("); CharSequence _compileType = this.typeGenerator.compileType(receiverType); - _builder.append(_compileType, ""); + _builder.append(_compileType); _builder.append(", "); - _builder.append(methodName, ""); + _builder.append(methodName); _builder.append(", ("); - final Function1 _function = new Function1() { - @Override - public CharSequence apply(final Type t) { - return DeltaJConstraintGeneratorHelper.this.typeGenerator.compileType(t); - } + final Function1 _function = (Type t) -> { + return this.typeGenerator.compileType(t); }; - List _map = ListExtensions.map(typesForParams, _function); - String _join = IterableExtensions.join(_map, ", "); - _builder.append(_join, ""); + String _join = IterableExtensions.join(ListExtensions.map(typesForParams, _function), ", "); + _builder.append(_join); _builder.append(") -> "); CharSequence _compileType_1 = this.typeGenerator.compileType(returnType); - _builder.append(_compileType_1, ""); + _builder.append(_compileType_1); _builder.append(") "); CharSequence _genComment = this.genComment(exp); - _builder.append(_genComment, ""); + _builder.append(_genComment); return _builder; } - + + @XbaseGenerated public CharSequence genComment(final Statement javaVerbatim) { if (javaVerbatim instanceof JavaVerbatim) { return _genComment((JavaVerbatim)javaVerbatim); diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintsGenerator.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintsGenerator.java index f020ede82c..cd9a0d8b3e 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintsGenerator.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJConstraintsGenerator.java @@ -10,50 +10,44 @@ import org.deltaj.deltaj.DeltaAction; import org.deltaj.deltaj.DeltaModule; import org.deltaj.deltaj.Method; -import org.deltaj.deltaj.Statement; -import org.deltaj.deltaj.StatementBlock; -import org.deltaj.generator.DeltaJStatementConstraintGenerator; import org.deltaj.typing.DeltaJTypeSystem; import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.generator.IFileSystemAccess; import org.eclipse.xtext.generator.IGenerator; import org.eclipse.xtext.xbase.lib.IteratorExtensions; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJConstraintsGenerator implements IGenerator { @Inject private DeltaJTypeSystem typeSystem; - + @Inject private DeltaJStatementConstraintGenerator statementConstraintGenerator; - + @Override public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - TreeIterator _allContents = resource.getAllContents(); - Iterable _iterable = IteratorExtensions.toIterable(_allContents); - Iterable _filter = Iterables.filter(_iterable, DeltaModule.class); + Iterable _filter = Iterables.filter(IteratorExtensions.toIterable(resource.getAllContents()), DeltaModule.class); for (final DeltaModule delta : _filter) { this.compile(delta, fsa); } } - + public void compile(final DeltaModule delta, final IFileSystemAccess fsa) { String _name = delta.getName(); String _plus = ("constraints/" + _name); String _plus_1 = (_plus + ".deltajconstraints"); - CharSequence _compile = this.compile(delta); - fsa.generateFile(_plus_1, _compile); + fsa.generateFile(_plus_1, this.compile(delta)); } - + public CharSequence compile(final DeltaModule delta) { StringConcatenation _builder = new StringConcatenation(); _builder.append("delta "); String _name = delta.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append(" with {"); _builder.newLineIfNotEmpty(); { @@ -69,25 +63,23 @@ public CharSequence compile(final DeltaModule delta) { _builder.newLine(); return _builder; } - + protected CharSequence _compile(final DeltaAction action) { StringConcatenation _builder = new StringConcatenation(); _builder.append("/* not yet implemented */"); _builder.newLine(); return _builder; } - + protected CharSequence _compile(final ClassAddition action) { StringConcatenation _builder = new StringConcatenation(); _builder.append("adds "); - org.deltaj.deltaj.Class _class_ = action.getClass_(); - String _name = _class_.getName(); - _builder.append(_name, ""); + String _name = action.getClass_().getName(); + _builder.append(_name); _builder.append(" with {"); _builder.newLineIfNotEmpty(); { - org.deltaj.deltaj.Class _class__1 = action.getClass_(); - EList _methods = _class__1.getMethods(); + EList _methods = action.getClass_().getMethods(); for(final Method method : _methods) { _builder.append("\t"); CharSequence _compile = this.compile(method); @@ -99,24 +91,23 @@ protected CharSequence _compile(final ClassAddition action) { _builder.newLine(); return _builder; } - + public CharSequence compile(final Method method) { StringConcatenation _builder = new StringConcatenation(); String _name = method.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append(" with {"); _builder.newLineIfNotEmpty(); _builder.append("\t"); - StatementBlock _body = method.getBody(); - EList _statements = _body.getStatements(); - CharSequence _genConstraints = this.statementConstraintGenerator.genConstraints(this.typeSystem, _statements); + CharSequence _genConstraints = this.statementConstraintGenerator.genConstraints(this.typeSystem, method.getBody().getStatements()); _builder.append(_genConstraints, "\t"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; } - + + @XbaseGenerated public CharSequence compile(final DeltaAction action) { if (action instanceof ClassAddition) { return _compile((ClassAddition)action); diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJExpressionConstraintGenerator.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJExpressionConstraintGenerator.java index 74223b7f4c..e8fe144a65 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJExpressionConstraintGenerator.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJExpressionConstraintGenerator.java @@ -26,26 +26,26 @@ import org.deltaj.deltaj.TypeVariable; import org.deltaj.deltaj.TypedDeclaration; import org.deltaj.deltaj.VariableAccess; -import org.deltaj.generator.DeltaJConstraintGeneratorHelper; import org.deltaj.typing.DeltaJTypeSystem; import org.deltaj.util.DeltaJTypeUtils; import org.eclipse.emf.common.util.EList; import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJExpressionConstraintGenerator { private DeltaJTypeSystem typeSystem; - + private StringConcatenation buffer; - + @Inject private DeltaJConstraintGeneratorHelper constraintGeneratorHelper; - + public void init(final DeltaJTypeSystem ts, final StringConcatenation buf) { this.typeSystem = ts; this.buffer = buf; } - + public StringConcatenation genConstraints(final DeltaJTypeSystem ts, final Expression exp) { StringConcatenation _xblockexpression = null; { @@ -56,7 +56,7 @@ public StringConcatenation genConstraints(final DeltaJTypeSystem ts, final Expre } return _xblockexpression; } - + public Type genConstraintAndGetType(final DeltaJTypeSystem ts, final StringConcatenation buffer, final Expression exp) { Type _xblockexpression = null; { @@ -65,147 +65,125 @@ public Type genConstraintAndGetType(final DeltaJTypeSystem ts, final StringConca } return _xblockexpression; } - + public Type genConstraintAndGetType(final Expression exp) { return this.genConstraintAndGetTypeCase(exp); } - + protected Type _genConstraintAndGetTypeCase(final Expression exp) { return this.typeSystem.getMethodBodyExpressionType(exp); } - + protected Type _genConstraintAndGetTypeCase(final Plus exp) { TypeVariable _xblockexpression = null; { - Expression _left = exp.getLeft(); - Type leftType = this.genConstraintAndGetType(_left); + Type leftType = this.genConstraintAndGetType(exp.getLeft()); this.buffer.newLineIfNotEmpty(); - Expression _right = exp.getRight(); - Type rightType = this.genConstraintAndGetType(_right); + Type rightType = this.genConstraintAndGetType(exp.getRight()); this.buffer.newLineIfNotEmpty(); TypeVariable plusType = this.typeSystem.createTypeVariable(); - CharSequence _genPlusConstraint = this.constraintGeneratorHelper.genPlusConstraint(leftType, rightType, plusType, exp); - this.buffer.append(_genPlusConstraint); + this.buffer.append(this.constraintGeneratorHelper.genPlusConstraint(leftType, rightType, plusType, exp)); _xblockexpression = plusType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Minus exp) { IntType _xblockexpression = null; { IntType intType = DeltaJTypeUtils.createIntType(); - Expression _left = exp.getLeft(); - Expression _right = exp.getRight(); - this.genConstraintsForSubexpressions(exp, _left, _right, intType); + this.genConstraintsForSubexpressions(exp, exp.getLeft(), exp.getRight(), intType); _xblockexpression = intType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final MultiOrDiv exp) { IntType _xblockexpression = null; { IntType intType = DeltaJTypeUtils.createIntType(); - Expression _left = exp.getLeft(); - Expression _right = exp.getRight(); - this.genConstraintsForSubexpressions(exp, _left, _right, intType); + this.genConstraintsForSubexpressions(exp, exp.getLeft(), exp.getRight(), intType); _xblockexpression = intType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final AndOrExpression exp) { BooleanType _xblockexpression = null; { BooleanType booleanType = DeltaJTypeUtils.createBooleanType(); - Expression _left = exp.getLeft(); - Expression _right = exp.getRight(); - this.genConstraintsForSubexpressions(exp, _left, _right, booleanType); + this.genConstraintsForSubexpressions(exp, exp.getLeft(), exp.getRight(), booleanType); _xblockexpression = booleanType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Comparison exp) { BooleanType _xblockexpression = null; { BooleanType booleanType = DeltaJTypeUtils.createBooleanType(); - Expression _left = exp.getLeft(); - Expression _right = exp.getRight(); - IntType _createIntType = DeltaJTypeUtils.createIntType(); - this.genConstraintsForSubexpressions(exp, _left, _right, _createIntType); + this.genConstraintsForSubexpressions(exp, exp.getLeft(), exp.getRight(), DeltaJTypeUtils.createIntType()); _xblockexpression = booleanType; } return _xblockexpression; } - + public void genConstraintsForSubexpressions(final Expression main, final Expression left, final Expression right, final Type expectedType) { Type leftType = this.genConstraintAndGetType(left); this.buffer.newLineIfNotEmpty(); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(leftType, expectedType, left); - this.buffer.append(_genSubtypeConstraint); + this.buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(leftType, expectedType, left)); this.buffer.newLineIfNotEmpty(); Type rightType = this.genConstraintAndGetType(right); this.buffer.newLineIfNotEmpty(); - CharSequence _genSubtypeConstraint_1 = this.constraintGeneratorHelper.genSubtypeConstraint(rightType, expectedType, right); - this.buffer.append(_genSubtypeConstraint_1); + this.buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(rightType, expectedType, right)); this.buffer.newLineIfNotEmpty(); - CharSequence _genComment = this.constraintGeneratorHelper.genComment(main); - this.buffer.append(_genComment); + this.buffer.append(this.constraintGeneratorHelper.genComment(main)); } - + protected Type _genConstraintAndGetTypeCase(final ArithmeticSigned exp) { IntType _xblockexpression = null; { IntType intType = DeltaJTypeUtils.createIntType(); - Expression _expression = exp.getExpression(); - this.genConstraintsForSubexpressions(exp, _expression, intType); + this.genConstraintsForSubexpressions(exp, exp.getExpression(), intType); _xblockexpression = intType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final BooleanNegation exp) { BooleanType _xblockexpression = null; { BooleanType booleanType = DeltaJTypeUtils.createBooleanType(); - Expression _expression = exp.getExpression(); - this.genConstraintsForSubexpressions(exp, _expression, booleanType); + this.genConstraintsForSubexpressions(exp, exp.getExpression(), booleanType); _xblockexpression = booleanType; } return _xblockexpression; } - + public void genConstraintsForSubexpressions(final Expression main, final Expression subExp, final Type expectedType) { Type subExpType = this.genConstraintAndGetType(subExp); this.buffer.newLineIfNotEmpty(); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(subExpType, expectedType, subExp); - this.buffer.append(_genSubtypeConstraint); + this.buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(subExpType, expectedType, subExp)); this.buffer.newLineIfNotEmpty(); - CharSequence _genComment = this.constraintGeneratorHelper.genComment(main); - this.buffer.append(_genComment); + this.buffer.append(this.constraintGeneratorHelper.genComment(main)); } - + protected Type _genConstraintAndGetTypeCase(final New exp) { Type _xblockexpression = null; { - String _class_ = exp.getClass_(); - CharSequence _genClassConstraint = this.constraintGeneratorHelper.genClassConstraint(_class_, exp); - this.buffer.append(_genClassConstraint); + this.buffer.append(this.constraintGeneratorHelper.genClassConstraint(exp.getClass_(), exp)); _xblockexpression = this.typeSystem.getMethodBodyExpressionType(exp); } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Cast exp) { Type _xblockexpression = null; { StringConcatenation tempBuffer = this.buffer; StringConcatenation _stringConcatenation = new StringConcatenation(); this.buffer = _stringConcatenation; - Expression _object = exp.getObject(); - Type objectType = this.genConstraintAndGetType(_object); + Type objectType = this.genConstraintAndGetType(exp.getObject()); int _length = this.buffer.length(); boolean _greaterThan = (_length > 0); if (_greaterThan) { @@ -213,49 +191,41 @@ protected Type _genConstraintAndGetTypeCase(final Cast exp) { } tempBuffer.append(this.buffer); this.buffer = tempBuffer; - String _type = exp.getType(); - CharSequence _genCastConstraint = this.constraintGeneratorHelper.genCastConstraint(_type, objectType, exp); - this.buffer.append(_genCastConstraint); + this.buffer.append(this.constraintGeneratorHelper.genCastConstraint(exp.getType(), objectType, exp)); _xblockexpression = this.typeSystem.getMethodBodyExpressionType(exp); } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Paren paren) { - Expression _expression = paren.getExpression(); - return this.genConstraintAndGetTypeCase(_expression); + return this.genConstraintAndGetTypeCase(paren.getExpression()); } - + protected Type _genConstraintAndGetTypeCase(final VariableAccess variableAccess) { - TypedDeclaration _variable = variableAccess.getVariable(); - return this.genConstraintAndGetTypeCase(variableAccess, _variable); + return this.genConstraintAndGetTypeCase(variableAccess, variableAccess.getVariable()); } - + protected Type _genConstraintAndGetTypeCase(final VariableAccess variableAccess, final TypedDeclaration declaration) { return declaration.getType(); } - + protected Type _genConstraintAndGetTypeCase(final VariableAccess variableAccess, final Field field) { TypeForDeclaration _xblockexpression = null; { - Type _thisType = this.typeSystem.getThisType(variableAccess); - String _name = field.getName(); - TypeForDeclaration _type = field.getType(); - CharSequence _genFieldConstraint = this.constraintGeneratorHelper.genFieldConstraint(_thisType, _name, _type, variableAccess); - this.buffer.append(_genFieldConstraint); + this.buffer.append( + this.constraintGeneratorHelper.genFieldConstraint(this.typeSystem.getThisType(variableAccess), field.getName(), field.getType(), variableAccess)); _xblockexpression = field.getType(); } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Selection sel) { Type _xblockexpression = null; { StringConcatenation tempBuffer = this.buffer; StringConcatenation _stringConcatenation = new StringConcatenation(); this.buffer = _stringConcatenation; - Expression _receiver = sel.getReceiver(); - Type receiverType = this.genConstraintAndGetType(_receiver); + Type receiverType = this.genConstraintAndGetType(sel.getReceiver()); int _length = this.buffer.length(); boolean _greaterThan = (_length > 0); if (_greaterThan) { @@ -263,28 +233,25 @@ protected Type _genConstraintAndGetTypeCase(final Selection sel) { } tempBuffer.append(this.buffer); this.buffer = tempBuffer; - Message _message = sel.getMessage(); - _xblockexpression = this.genConstraintAndGetTypeCase(receiverType, _message, sel); + _xblockexpression = this.genConstraintAndGetTypeCase(receiverType, sel.getMessage(), sel); } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Type receiverType, final Message message, final Selection sel) { return null; } - + protected Type _genConstraintAndGetTypeCase(final Type receiverType, final FieldSelection fieldSel, final Selection sel) { TypeVariable _xblockexpression = null; { TypeVariable fieldType = this.typeSystem.createTypeVariable(); - String _field = fieldSel.getField(); - CharSequence _genFieldConstraint = this.constraintGeneratorHelper.genFieldConstraint(receiverType, _field, fieldType, sel); - this.buffer.append(_genFieldConstraint); + this.buffer.append(this.constraintGeneratorHelper.genFieldConstraint(receiverType, fieldSel.getField(), fieldType, sel)); _xblockexpression = fieldType; } return _xblockexpression; } - + protected Type _genConstraintAndGetTypeCase(final Type receiverType, final MethodCall methodCall, final Selection sel) { TypeVariable _xblockexpression = null; { @@ -297,19 +264,17 @@ protected Type _genConstraintAndGetTypeCase(final Type receiverType, final Metho Type typeOfArg = this.genConstraintAndGetType(arg); this.buffer.newLineIfNotEmpty(); typesForParams.add(typeForParam); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(typeOfArg, typeForParam, arg); - this.buffer.append(_genSubtypeConstraint); + this.buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(typeOfArg, typeForParam, arg)); this.buffer.newLineIfNotEmpty(); } } - String _method = methodCall.getMethod(); - CharSequence _genMethodConstraint = this.constraintGeneratorHelper.genMethodConstraint(receiverType, _method, methodReturnType, typesForParams, sel); - this.buffer.append(_genMethodConstraint); + this.buffer.append(this.constraintGeneratorHelper.genMethodConstraint(receiverType, methodCall.getMethod(), methodReturnType, typesForParams, sel)); _xblockexpression = methodReturnType; } return _xblockexpression; } - + + @XbaseGenerated public Type genConstraintAndGetTypeCase(final Expression exp) { if (exp instanceof AndOrExpression) { return _genConstraintAndGetTypeCase((AndOrExpression)exp); @@ -342,7 +307,8 @@ public Type genConstraintAndGetTypeCase(final Expression exp) { Arrays.asList(exp).toString()); } } - + + @XbaseGenerated public Type genConstraintAndGetTypeCase(final VariableAccess variableAccess, final TypedDeclaration field) { if (field instanceof Field) { return _genConstraintAndGetTypeCase(variableAccess, (Field)field); @@ -353,7 +319,8 @@ public Type genConstraintAndGetTypeCase(final VariableAccess variableAccess, fin Arrays.asList(variableAccess, field).toString()); } } - + + @XbaseGenerated public Type genConstraintAndGetTypeCase(final Type receiverType, final Message fieldSel, final Selection sel) { if (fieldSel instanceof FieldSelection) { return _genConstraintAndGetTypeCase(receiverType, (FieldSelection)fieldSel, sel); diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGenerator.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGenerator.java index 14a97a5ad0..c2a0418c70 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGenerator.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGenerator.java @@ -3,11 +3,11 @@ */ package org.deltaj.generator; -import com.google.common.base.Objects; import com.google.common.collect.Iterables; import com.google.inject.Inject; import java.util.Arrays; import java.util.List; +import java.util.Objects; import org.deltaj.deltaj.AndOrExpression; import org.deltaj.deltaj.ArithmeticSigned; import org.deltaj.deltaj.Assignment; @@ -44,17 +44,10 @@ import org.deltaj.deltaj.StringConstant; import org.deltaj.deltaj.This; import org.deltaj.deltaj.Type; -import org.deltaj.deltaj.TypeForDeclaration; -import org.deltaj.deltaj.TypeForMethod; -import org.deltaj.deltaj.TypedDeclaration; import org.deltaj.deltaj.VariableAccess; import org.deltaj.deltaj.VoidType; -import org.deltaj.generator.DeltaJConstraintsGenerator; -import org.deltaj.generator.DeltaJGeneratorExtensions; import org.deltaj.util.ClassCollection; import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.TreeIterator; -import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtend2.lib.StringConcatenation; @@ -65,54 +58,52 @@ import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xbase.lib.IteratorExtensions; import org.eclipse.xtext.xbase.lib.ListExtensions; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJGenerator implements IGenerator { @Inject @Extension private DeltaJGeneratorExtensions generatorExtensions; - + @Inject private DeltaJConstraintsGenerator constraintsGenerator; - + @Override public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - TreeIterator _allContents = resource.getAllContents(); - Iterable _iterable = IteratorExtensions.toIterable(_allContents); - Iterable _filter = Iterables.filter(_iterable, Product.class); + Iterable _filter = Iterables.filter(IteratorExtensions.toIterable(resource.getAllContents()), Product.class); for (final Product product : _filter) { this.compile(product, fsa); } this.constraintsGenerator.doGenerate(resource, fsa); } - + public void compile(final Product product, final IFileSystemAccess fsa) { ClassCollection _classesToGenerate = this.generatorExtensions.classesToGenerate(product); for (final org.deltaj.deltaj.Class clazz : _classesToGenerate) { this.compile(product, clazz, fsa); } } - + public void compile(final Product product, final org.deltaj.deltaj.Class clazz, final IFileSystemAccess fsa) { - String _fileName = this.generatorExtensions.fileName(product, clazz); - CharSequence _compile = this.compile(product, clazz); - fsa.generateFile(_fileName, _compile); + fsa.generateFile(this.generatorExtensions.fileName(product, clazz), + this.compile(product, clazz)); } - + public CharSequence compile(final Product product, final org.deltaj.deltaj.Class clazz) { StringConcatenation _builder = new StringConcatenation(); _builder.append("package "); String _packageName = this.generatorExtensions.packageName(product); - _builder.append(_packageName, ""); + _builder.append(_packageName); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.newLine(); _builder.append("public class "); String _name = clazz.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append(" "); String _extendsClause = this.extendsClause(clazz); - _builder.append(_extendsClause, ""); + _builder.append(_extendsClause); _builder.append("{"); _builder.newLineIfNotEmpty(); { @@ -139,11 +130,11 @@ public CharSequence compile(final Product product, final org.deltaj.deltaj.Class _builder.newLine(); return _builder; } - + public String extendsClause(final org.deltaj.deltaj.Class clazz) { String _xifexpression = null; String _extends = clazz.getExtends(); - boolean _notEquals = (!Objects.equal(_extends, null)); + boolean _notEquals = (!Objects.equals(_extends, null)); if (_notEquals) { String _extends_1 = clazz.getExtends(); String _plus = ("extends " + _extends_1); @@ -153,57 +144,54 @@ public String extendsClause(final org.deltaj.deltaj.Class clazz) { } return _xifexpression; } - + public CharSequence fieldRep(final Field field) { StringConcatenation _builder = new StringConcatenation(); - TypeForDeclaration _type = field.getType(); - String _typeRep = this.typeRep(_type); - _builder.append(_typeRep, ""); + String _typeRep = this.typeRep(field.getType()); + _builder.append(_typeRep); _builder.append(" "); String _name = field.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; } - + protected String _typeRep(final Type voidType) { return ""; } - + protected String _typeRep(final VoidType voidType) { return "void"; } - + protected String _typeRep(final BasicType basic) { return basic.getBasic(); } - + protected String _typeRep(final ClassType clazz) { return clazz.getClassref(); } - + public CharSequence methodRep(final Method method) { StringConcatenation _builder = new StringConcatenation(); _builder.append("public "); - TypeForMethod _returntype = method.getReturntype(); - String _typeRep = this.typeRep(_returntype); - _builder.append(_typeRep, ""); + String _typeRep = this.typeRep(method.getReturntype()); + _builder.append(_typeRep); _builder.append(" "); String _name = method.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append("("); String _parameterList = this.parameterList(method); - _builder.append(_parameterList, ""); + _builder.append(_parameterList); _builder.append(") {"); _builder.newLineIfNotEmpty(); { StatementBlock _body = method.getBody(); - boolean _notEquals = (!Objects.equal(_body, null)); + boolean _notEquals = (!Objects.equals(_body, null)); if (_notEquals) { _builder.append("\t"); - StatementBlock _body_1 = method.getBody(); - CharSequence _bodyRep = this.bodyRep(_body_1); + CharSequence _bodyRep = this.bodyRep(method.getBody()); _builder.append(_bodyRep, "\t"); _builder.newLineIfNotEmpty(); } @@ -213,34 +201,27 @@ public CharSequence methodRep(final Method method) { _builder.newLine(); return _builder; } - + public String parameterList(final Method m) { - EList _params = m.getParams(); - final Function1 _function = new Function1() { - @Override - public String apply(final Parameter p) { - TypeForDeclaration _type = p.getType(); - String _typeRep = DeltaJGenerator.this.typeRep(_type); - String _plus = (_typeRep + " "); - String _name = p.getName(); - return (_plus + _name); - } + final Function1 _function = (Parameter p) -> { + String _typeRep = this.typeRep(p.getType()); + String _plus = (_typeRep + " "); + String _name = p.getName(); + return (_plus + _name); }; - List _map = ListExtensions.map(_params, _function); - return IterableExtensions.join(_map, ", "); + return IterableExtensions.join(ListExtensions.map(m.getParams(), _function), ", "); } - + public CharSequence bodyRep(final StatementBlock body) { StringConcatenation _builder = new StringConcatenation(); { EList _localvariables = body.getLocalvariables(); for(final LocalVariableDeclaration localvars : _localvariables) { - TypeForDeclaration _type = localvars.getType(); - String _typeRep = this.typeRep(_type); - _builder.append(_typeRep, ""); + String _typeRep = this.typeRep(localvars.getType()); + _builder.append(_typeRep); _builder.append(" "); String _name = localvars.getName(); - _builder.append(_name, ""); + _builder.append(_name); _builder.append(";"); _builder.newLineIfNotEmpty(); } @@ -249,80 +230,73 @@ public CharSequence bodyRep(final StatementBlock body) { EList _statements = body.getStatements(); for(final Statement statement : _statements) { CharSequence _compileStatement = this.compileStatement(statement); - _builder.append(_compileStatement, ""); + _builder.append(_compileStatement); _builder.newLineIfNotEmpty(); } } return _builder; } - + protected CharSequence _compileStatement(final ExpressionStatement expressionStatement) { StringConcatenation _builder = new StringConcatenation(); - Expression _expression = expressionStatement.getExpression(); - CharSequence _compileExp = this.compileExp(_expression); - _builder.append(_compileExp, ""); + CharSequence _compileExp = this.compileExp(expressionStatement.getExpression()); + _builder.append(_compileExp); _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; } - + protected CharSequence _compileStatement(final ReturnStatement returnStmt) { StringConcatenation _builder = new StringConcatenation(); _builder.append("return "); { Expression _expression = returnStmt.getExpression(); - boolean _notEquals = (!Objects.equal(_expression, null)); + boolean _notEquals = (!Objects.equals(_expression, null)); if (_notEquals) { - Expression _expression_1 = returnStmt.getExpression(); - CharSequence _compileExp = this.compileExp(_expression_1); - _builder.append(_compileExp, ""); + CharSequence _compileExp = this.compileExp(returnStmt.getExpression()); + _builder.append(_compileExp); } } _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; } - + protected CharSequence _compileStatement(final JavaVerbatim javaVerbatim) { return this.generatorExtensions.extractJavaVerbatimCode(javaVerbatim); } - + protected CharSequence _compileStatement(final Assignment assignment) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = assignment.getLeft(); - CharSequence _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + CharSequence _compileExp = this.compileExp(assignment.getLeft()); + _builder.append(_compileExp); _builder.append(" = "); - Expression _right = assignment.getRight(); - CharSequence _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + CharSequence _compileExp_1 = this.compileExp(assignment.getRight()); + _builder.append(_compileExp_1); _builder.append(";"); return _builder; } - + protected CharSequence _compileStatement(final IfStatement ifStatement) { StringConcatenation _builder = new StringConcatenation(); _builder.append("if ("); - Expression _expression = ifStatement.getExpression(); - CharSequence _compileExp = this.compileExp(_expression); - _builder.append(_compileExp, ""); + CharSequence _compileExp = this.compileExp(ifStatement.getExpression()); + _builder.append(_compileExp); _builder.append(") {"); _builder.newLineIfNotEmpty(); _builder.append("\t"); - StatementBlock _thenBlock = ifStatement.getThenBlock(); - Object _bodyRep = this.bodyRep(_thenBlock); + Object _bodyRep = this.bodyRep(ifStatement.getThenBlock()); _builder.append(_bodyRep, "\t"); _builder.newLineIfNotEmpty(); _builder.append("}"); { StatementBlock _elseBlock = ifStatement.getElseBlock(); - boolean _notEquals = (!Objects.equal(_elseBlock, null)); + boolean _notEquals = (!Objects.equals(_elseBlock, null)); if (_notEquals) { _builder.append(" else {"); _builder.newLineIfNotEmpty(); _builder.append("\t"); - StatementBlock _elseBlock_1 = ifStatement.getElseBlock(); - Object _bodyRep_1 = this.bodyRep(_elseBlock_1); + Object _bodyRep_1 = this.bodyRep(ifStatement.getElseBlock()); _builder.append(_bodyRep_1, "\t"); _builder.newLineIfNotEmpty(); _builder.append("}"); @@ -331,242 +305,219 @@ protected CharSequence _compileStatement(final IfStatement ifStatement) { _builder.newLineIfNotEmpty(); return _builder; } - + protected CharSequence _compileExp(final Expression expression) { StringConcatenation _builder = new StringConcatenation(); _builder.append("// "); - EClass _eClass = expression.eClass(); - String _name = _eClass.getName(); - _builder.append(_name, ""); + String _name = expression.eClass().getName(); + _builder.append(_name); _builder.append(" generation not yet implemented"); _builder.newLineIfNotEmpty(); return _builder; } - + protected CharSequence _compileExp(final Plus plus) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = plus.getLeft(); - Object _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(plus.getLeft()); + _builder.append(_compileExp); _builder.append(" + "); - Expression _right = plus.getRight(); - Object _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + Object _compileExp_1 = this.compileExp(plus.getRight()); + _builder.append(_compileExp_1); return _builder; } - + protected CharSequence _compileExp(final Minus minus) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = minus.getLeft(); - Object _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(minus.getLeft()); + _builder.append(_compileExp); _builder.append(" - "); - Expression _right = minus.getRight(); - Object _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + Object _compileExp_1 = this.compileExp(minus.getRight()); + _builder.append(_compileExp_1); return _builder; } - + protected CharSequence _compileExp(final MultiOrDiv exp) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = exp.getLeft(); - Object _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(exp.getLeft()); + _builder.append(_compileExp); _builder.append(" "); String _op = exp.getOp(); - _builder.append(_op, ""); + _builder.append(_op); _builder.append(" "); - Expression _right = exp.getRight(); - Object _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + Object _compileExp_1 = this.compileExp(exp.getRight()); + _builder.append(_compileExp_1); return _builder; } - + protected CharSequence _compileExp(final Comparison exp) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = exp.getLeft(); - Object _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(exp.getLeft()); + _builder.append(_compileExp); _builder.append(" "); String _op = exp.getOp(); - _builder.append(_op, ""); + _builder.append(_op); _builder.append(" "); - Expression _right = exp.getRight(); - Object _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + Object _compileExp_1 = this.compileExp(exp.getRight()); + _builder.append(_compileExp_1); return _builder; } - + protected CharSequence _compileExp(final AndOrExpression exp) { StringConcatenation _builder = new StringConcatenation(); - Expression _left = exp.getLeft(); - Object _compileExp = this.compileExp(_left); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(exp.getLeft()); + _builder.append(_compileExp); _builder.append(" "); String _op = exp.getOp(); - _builder.append(_op, ""); + _builder.append(_op); _builder.append(" "); - Expression _right = exp.getRight(); - Object _compileExp_1 = this.compileExp(_right); - _builder.append(_compileExp_1, ""); + Object _compileExp_1 = this.compileExp(exp.getRight()); + _builder.append(_compileExp_1); return _builder; } - + protected CharSequence _compileExp(final BooleanNegation exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("!"); - Expression _expression = exp.getExpression(); - Object _compileExp = this.compileExp(_expression); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(exp.getExpression()); + _builder.append(_compileExp); return _builder; } - + protected CharSequence _compileExp(final ArithmeticSigned exp) { StringConcatenation _builder = new StringConcatenation(); _builder.append("-("); - Expression _expression = exp.getExpression(); - Object _compileExp = this.compileExp(_expression); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(exp.getExpression()); + _builder.append(_compileExp); _builder.append(")"); return _builder; } - + protected CharSequence _compileExp(final This thiz) { StringConcatenation _builder = new StringConcatenation(); _builder.append("this"); return _builder; } - + protected CharSequence _compileExp(final Null nul) { StringConcatenation _builder = new StringConcatenation(); _builder.append("null"); return _builder; } - + protected CharSequence _compileExp(final Original original) { StringConcatenation _builder = new StringConcatenation(); String _method = original.getMethod(); - _builder.append(_method, ""); + _builder.append(_method); _builder.append("("); - EList _args = original.getArgs(); - String _compileArgs = this.compileArgs(_args); - _builder.append(_compileArgs, ""); + String _compileArgs = this.compileArgs(original.getArgs()); + _builder.append(_compileArgs); _builder.append(")"); return _builder; } - + protected CharSequence _compileExp(final IntConstant c) { StringConcatenation _builder = new StringConcatenation(); int _constant = c.getConstant(); - _builder.append(_constant, ""); + _builder.append(_constant); return _builder; } - + protected CharSequence _compileExp(final StringConstant c) { StringConcatenation _builder = new StringConcatenation(); _builder.append("\""); String _constant = c.getConstant(); - _builder.append(_constant, ""); + _builder.append(_constant); _builder.append("\""); return _builder; } - + protected CharSequence _compileExp(final BoolConstant c) { StringConcatenation _builder = new StringConcatenation(); String _constant = c.getConstant(); - _builder.append(_constant, ""); + _builder.append(_constant); return _builder; } - + protected CharSequence _compileExp(final VariableAccess variable) { StringConcatenation _builder = new StringConcatenation(); - TypedDeclaration _variable = variable.getVariable(); - String _name = _variable.getName(); - _builder.append(_name, ""); + String _name = variable.getVariable().getName(); + _builder.append(_name); return _builder; } - + protected CharSequence _compileExp(final New n) { StringConcatenation _builder = new StringConcatenation(); _builder.append("new "); String _class_ = n.getClass_(); - _builder.append(_class_, ""); + _builder.append(_class_); _builder.append("()"); return _builder; } - + protected CharSequence _compileExp(final Cast cast) { StringConcatenation _builder = new StringConcatenation(); _builder.append("("); String _type = cast.getType(); - _builder.append(_type, ""); + _builder.append(_type); _builder.append(") "); - Expression _object = cast.getObject(); - Object _compileExp = this.compileExp(_object); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(cast.getObject()); + _builder.append(_compileExp); return _builder; } - + protected CharSequence _compileExp(final Paren paren) { StringConcatenation _builder = new StringConcatenation(); _builder.append("("); - Expression _expression = paren.getExpression(); - Object _compileExp = this.compileExp(_expression); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(paren.getExpression()); + _builder.append(_compileExp); _builder.append(")"); return _builder; } - + protected CharSequence _compileExp(final Selection sel) { StringConcatenation _builder = new StringConcatenation(); - Expression _receiver = sel.getReceiver(); - Object _compileExp = this.compileExp(_receiver); - _builder.append(_compileExp, ""); + Object _compileExp = this.compileExp(sel.getReceiver()); + _builder.append(_compileExp); _builder.append("."); - Message _message = sel.getMessage(); - CharSequence _compileMessage = this.compileMessage(_message); - _builder.append(_compileMessage, ""); + CharSequence _compileMessage = this.compileMessage(sel.getMessage()); + _builder.append(_compileMessage); return _builder; } - + protected CharSequence _compileMessage(final Message message) { StringConcatenation _builder = new StringConcatenation(); _builder.append(" "); return _builder; } - + protected CharSequence _compileMessage(final FieldSelection field) { StringConcatenation _builder = new StringConcatenation(); String _field = field.getField(); - _builder.append(_field, ""); + _builder.append(_field); return _builder; } - + protected CharSequence _compileMessage(final MethodCall methodCall) { StringConcatenation _builder = new StringConcatenation(); String _method = methodCall.getMethod(); - _builder.append(_method, ""); + _builder.append(_method); _builder.append("("); - EList _args = methodCall.getArgs(); - String _compileArgs = this.compileArgs(_args); - _builder.append(_compileArgs, ""); + String _compileArgs = this.compileArgs(methodCall.getArgs()); + _builder.append(_compileArgs); _builder.append(")"); return _builder; } - + public String compileArgs(final List args) { - final Function1 _function = new Function1() { - @Override - public Object apply(final Expression arg) { - return DeltaJGenerator.this.compileExp(arg); - } + final Function1 _function = (Expression arg) -> { + return this.compileExp(arg); }; - List _map = ListExtensions.map(args, _function); StringConcatenation _builder = new StringConcatenation(); _builder.append(", "); - return IterableExtensions.join(_map, _builder); + return IterableExtensions.join(ListExtensions.map(args, _function), _builder); } - + + @XbaseGenerated public String typeRep(final Type basic) { if (basic instanceof BasicType) { return _typeRep((BasicType)basic); @@ -581,7 +532,8 @@ public String typeRep(final Type basic) { Arrays.asList(basic).toString()); } } - + + @XbaseGenerated public CharSequence compileStatement(final Statement assignment) { if (assignment instanceof Assignment) { return _compileStatement((Assignment)assignment); @@ -598,7 +550,8 @@ public CharSequence compileStatement(final Statement assignment) { Arrays.asList(assignment).toString()); } } - + + @XbaseGenerated public CharSequence compileExp(final Expression c) { if (c instanceof BoolConstant) { return _compileExp((BoolConstant)c); @@ -643,7 +596,8 @@ public CharSequence compileExp(final Expression c) { Arrays.asList(c).toString()); } } - + + @XbaseGenerated public CharSequence compileMessage(final Message field) { if (field instanceof FieldSelection) { return _compileMessage((FieldSelection)field); diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGeneratorExtensions.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGeneratorExtensions.java index 47046ec409..73277828a8 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGeneratorExtensions.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJGeneratorExtensions.java @@ -1,12 +1,10 @@ package org.deltaj.generator; -import com.google.common.base.Objects; import com.google.inject.Inject; import java.util.List; +import java.util.Objects; import org.deltaj.deltaj.JavaVerbatim; import org.deltaj.deltaj.Product; -import org.deltaj.deltaj.ProductLine; -import org.deltaj.generator.DeltaJClassBuilder; import org.deltaj.util.ClassCollection; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.util.Strings; @@ -16,35 +14,27 @@ public class DeltaJGeneratorExtensions { @Inject private DeltaJClassBuilder classBuilder; - + public String fileName(final Product product, final org.deltaj.deltaj.Class clazz) { - String _packageName = this.packageName(product); - String _folderName = this.folderName(_packageName); + String _folderName = this.folderName(this.packageName(product)); String _plus = (_folderName + "/"); String _name = clazz.getName(); String _plus_1 = (_plus + _name); return (_plus_1 + ".java"); } - + public String packageName(final Product product) { - ProductLine _productLine = product.getProductLine(); - String _name = _productLine.getName(); - String _nameToPackage = this.nameToPackage(_name); - String _name_1 = product.getName(); - String _nameToPackage_1 = this.nameToPackage(_name_1); - return this.concatPackage(_nameToPackage, _nameToPackage_1); + return this.concatPackage(this.nameToPackage(product.getProductLine().getName()), this.nameToPackage(product.getName())); } - + public String qualifiedName(final Product product, final org.deltaj.deltaj.Class clazz) { - String _packageName = this.packageName(product); - String _name = clazz.getName(); - return this.concatPackage(_packageName, _name); + return this.concatPackage(this.packageName(product), clazz.getName()); } - + public String nameToPackage(final String name) { return name.toLowerCase(); } - + public String concatPackage(final String prefix, final String suffix) { String _xifexpression = null; boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(prefix); @@ -55,10 +45,10 @@ public String concatPackage(final String prefix, final String suffix) { } return _xifexpression; } - + public String folderName(final String javaPackageName) { String _xifexpression = null; - boolean _notEquals = (!Objects.equal(javaPackageName, null)); + boolean _notEquals = (!Objects.equals(javaPackageName, null)); if (_notEquals) { _xifexpression = javaPackageName.replace(".", "/"); } else { @@ -66,27 +56,23 @@ public String folderName(final String javaPackageName) { } return _xifexpression; } - + public DeltaJClassBuilder classBuilder() { return this.classBuilder; } - + public ClassCollection classesToGenerate(final Product product) { return this.classBuilder.classesToGenerate(product); } - + public String extractJavaVerbatimCode(final JavaVerbatim javaVerbatim) { - String _verbatim = javaVerbatim.getVerbatim(); - String _replace = _verbatim.replace("**Java:", ""); - return _replace.replace(":Java**", ""); + return javaVerbatim.getVerbatim().replace("**Java:", "").replace(":Java**", ""); } - + public List javaVerbatimLines(final JavaVerbatim javaVerbatim) { - String _verbatim = javaVerbatim.getVerbatim(); - String _property = System.getProperty("line.separator"); - return Strings.split(_verbatim, _property); + return Strings.split(javaVerbatim.getVerbatim(), System.getProperty("line.separator")); } - + public StringConcatenation addNewLineIfNotEmpty(final StringConcatenation buffer) { StringConcatenation _xblockexpression = null; { diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJStatementConstraintGenerator.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJStatementConstraintGenerator.java index ad07f6e170..d697ac129b 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJStatementConstraintGenerator.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJStatementConstraintGenerator.java @@ -1,44 +1,39 @@ package org.deltaj.generator; -import com.google.common.base.Objects; import com.google.inject.Inject; import java.util.Arrays; import java.util.List; +import java.util.Objects; import org.deltaj.deltaj.Assignment; import org.deltaj.deltaj.BooleanType; import org.deltaj.deltaj.Expression; import org.deltaj.deltaj.ExpressionStatement; import org.deltaj.deltaj.IfStatement; -import org.deltaj.deltaj.Method; import org.deltaj.deltaj.ReturnStatement; import org.deltaj.deltaj.Statement; import org.deltaj.deltaj.StatementBlock; import org.deltaj.deltaj.Type; -import org.deltaj.deltaj.TypeForMethod; -import org.deltaj.generator.DeltaJConstraintGeneratorHelper; -import org.deltaj.generator.DeltaJExpressionConstraintGenerator; -import org.deltaj.generator.DeltaJGeneratorExtensions; import org.deltaj.typing.DeltaJTypeSystem; import org.deltaj.util.DeltaJTypeUtils; import org.deltaj.util.DeltaJUtils; -import org.eclipse.emf.common.util.EList; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.xbase.lib.Extension; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJStatementConstraintGenerator { private DeltaJTypeSystem typeSystem; - + @Inject private DeltaJExpressionConstraintGenerator expressionConstraintGenerator; - + @Inject private DeltaJConstraintGeneratorHelper constraintGeneratorHelper; - + @Inject @Extension private DeltaJGeneratorExtensions generatorExtensions; - + public CharSequence genConstraints(final DeltaJTypeSystem ts, final List statements) { CharSequence _xblockexpression = null; { @@ -47,19 +42,19 @@ public CharSequence genConstraints(final DeltaJTypeSystem ts, final List statements) { StringConcatenation _builder = new StringConcatenation(); { for(final Statement statement : statements) { CharSequence _genConstraints = this.genConstraints(this.typeSystem, statement); - _builder.append(_genConstraints, ""); + _builder.append(_genConstraints); _builder.newLineIfNotEmpty(); } } return _builder; } - + public CharSequence genConstraints(final DeltaJTypeSystem ts, final Statement statement) { CharSequence _xblockexpression = null; { @@ -71,9 +66,9 @@ public CharSequence genConstraints(final DeltaJTypeSystem ts, final Statement st boolean _greaterThan = (_length > 0); if (_greaterThan) { StringConcatenation _builder = new StringConcatenation(); - _builder.append(comment, ""); + _builder.append(comment); _builder.newLineIfNotEmpty(); - _builder.append(constraints, ""); + _builder.append(constraints); _xifexpression = _builder; } else { _xifexpression = comment; @@ -82,36 +77,30 @@ public CharSequence genConstraints(final DeltaJTypeSystem ts, final Statement st } return _xblockexpression; } - + protected CharSequence _genConstraintsCase(final Statement statement) { StringConcatenation _builder = new StringConcatenation(); return _builder; } - + protected CharSequence _genConstraintsCase(final ExpressionStatement statement) { StringConcatenation _builder = new StringConcatenation(); - Expression _expression = statement.getExpression(); - StringConcatenation _genConstraints = this.expressionConstraintGenerator.genConstraints(this.typeSystem, _expression); - _builder.append(_genConstraints, ""); + StringConcatenation _genConstraints = this.expressionConstraintGenerator.genConstraints(this.typeSystem, statement.getExpression()); + _builder.append(_genConstraints); return _builder; } - + protected CharSequence _genConstraintsCase(final ReturnStatement statement) { CharSequence _xifexpression = null; Expression _expression = statement.getExpression(); - boolean _notEquals = (!Objects.equal(_expression, null)); + boolean _notEquals = (!Objects.equals(_expression, null)); if (_notEquals) { StringConcatenation _xblockexpression = null; { StringConcatenation buffer = new StringConcatenation(); - Expression _expression_1 = statement.getExpression(); - final Type expType = this.expressionConstraintGenerator.genConstraintAndGetType(this.typeSystem, buffer, _expression_1); + final Type expType = this.expressionConstraintGenerator.genConstraintAndGetType(this.typeSystem, buffer, statement.getExpression()); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - Method _containingMethod = DeltaJUtils.getContainingMethod(statement); - TypeForMethod _returntype = _containingMethod.getReturntype(); - Expression _expression_2 = statement.getExpression(); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(expType, _returntype, _expression_2); - buffer.append(_genSubtypeConstraint); + buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(expType, DeltaJUtils.getContainingMethod(statement).getReturntype(), statement.getExpression())); _xblockexpression = buffer; } _xifexpression = _xblockexpression; @@ -121,68 +110,56 @@ protected CharSequence _genConstraintsCase(final ReturnStatement statement) { } return _xifexpression; } - + protected CharSequence _genConstraintsCase(final Assignment assignment) { StringConcatenation _xblockexpression = null; { StringConcatenation buffer = new StringConcatenation(); this.expressionConstraintGenerator.init(this.typeSystem, buffer); - Expression _left = assignment.getLeft(); - Type leftType = this.expressionConstraintGenerator.genConstraintAndGetType(_left); + Type leftType = this.expressionConstraintGenerator.genConstraintAndGetType(assignment.getLeft()); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - Expression _right = assignment.getRight(); - Type rightType = this.expressionConstraintGenerator.genConstraintAndGetType(_right); + Type rightType = this.expressionConstraintGenerator.genConstraintAndGetType(assignment.getRight()); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - Expression _right_1 = assignment.getRight(); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(rightType, leftType, _right_1); - buffer.append(_genSubtypeConstraint); + buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(rightType, leftType, assignment.getRight())); _xblockexpression = buffer; } return _xblockexpression; } - + protected CharSequence _genConstraintsCase(final IfStatement statement) { StringConcatenation _xblockexpression = null; { StringConcatenation buffer = new StringConcatenation(); - Expression _expression = statement.getExpression(); - Type expressionType = this.expressionConstraintGenerator.genConstraintAndGetType(this.typeSystem, buffer, _expression); + Type expressionType = this.expressionConstraintGenerator.genConstraintAndGetType(this.typeSystem, buffer, statement.getExpression()); BooleanType booleanType = DeltaJTypeUtils.createBooleanType(); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - Expression _expression_1 = statement.getExpression(); - CharSequence _genSubtypeConstraint = this.constraintGeneratorHelper.genSubtypeConstraint(expressionType, booleanType, _expression_1); - buffer.append(_genSubtypeConstraint); + buffer.append(this.constraintGeneratorHelper.genSubtypeConstraint(expressionType, booleanType, statement.getExpression())); this.generatorExtensions.addNewLineIfNotEmpty(buffer); StringConcatenation _builder = new StringConcatenation(); _builder.append("// then branch"); buffer.append(_builder); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - StatementBlock _thenBlock = statement.getThenBlock(); - EList _statements = _thenBlock.getStatements(); - Object _genConstraints = this.genConstraints(_statements); - buffer.append(_genConstraints); + buffer.append(this.genConstraints(statement.getThenBlock().getStatements())); StatementBlock _elseBlock = statement.getElseBlock(); - boolean _notEquals = (!Objects.equal(_elseBlock, null)); + boolean _notEquals = (!Objects.equals(_elseBlock, null)); if (_notEquals) { buffer.newLineIfNotEmpty(); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("// else branch"); buffer.append(_builder_1); this.generatorExtensions.addNewLineIfNotEmpty(buffer); - StatementBlock _elseBlock_1 = statement.getElseBlock(); - EList _statements_1 = _elseBlock_1.getStatements(); - Object _genConstraints_1 = this.genConstraints(_statements_1); - buffer.append(_genConstraints_1); + buffer.append(this.genConstraints(statement.getElseBlock().getStatements())); } _xblockexpression = buffer; } return _xblockexpression; } - + public StringConcatenation genConstraints(final Expression exp) { return this.expressionConstraintGenerator.genConstraints(this.typeSystem, exp); } - + + @XbaseGenerated public CharSequence genConstraintsCase(final Statement assignment) { if (assignment instanceof Assignment) { return _genConstraintsCase((Assignment)assignment); diff --git a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJTypeGenerator.java b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJTypeGenerator.java index 697cfca20d..15da7953ad 100644 --- a/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJTypeGenerator.java +++ b/experimental/org.deltaj/xtend-gen/org/deltaj/generator/DeltaJTypeGenerator.java @@ -6,6 +6,7 @@ import org.deltaj.deltaj.Type; import org.deltaj.deltaj.TypeVariable; import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtext.xbase.lib.XbaseGenerated; @SuppressWarnings("all") public class DeltaJTypeGenerator { @@ -13,28 +14,29 @@ protected CharSequence _compileType(final Type type) { StringConcatenation _builder = new StringConcatenation(); return _builder; } - + protected CharSequence _compileType(final TypeVariable type) { StringConcatenation _builder = new StringConcatenation(); String _varName = type.getVarName(); - _builder.append(_varName, ""); + _builder.append(_varName); return _builder; } - + protected CharSequence _compileType(final ClassType type) { StringConcatenation _builder = new StringConcatenation(); String _classref = type.getClassref(); - _builder.append(_classref, ""); + _builder.append(_classref); return _builder; } - + protected CharSequence _compileType(final BasicType type) { StringConcatenation _builder = new StringConcatenation(); String _basic = type.getBasic(); - _builder.append(_basic, ""); + _builder.append(_basic); return _builder; } - + + @XbaseGenerated public CharSequence compileType(final Type type) { if (type instanceof BasicType) { return _compileType((BasicType)type); diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/DrawPanel.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/DrawPanel.class index 3af5072c9f1f5b9c27eee273e2c5d1c06688464d..41ab99e0df80320cb09e5da82d62540aec32c226 100644 GIT binary patch delta 4651 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 delta 4396 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 Xcbr#0DP`Le<4w&<_zLr(5=FiSa9*D< diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Entity.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Entity.class index 59e24acc55b2eff9c670aa2185d8f2cda38cc371..5a122f4b1783073fa964c6b1c2b2d7557f56a761 100644 GIT binary patch delta 40 ycmV+@0N4M=Ez2zk%Ko~(0000%u?TYr0qm1}2=fD$040-h34H^^0DZIW3E2!wMGw6I delta 36 ucmV+<0Nek|Eypbg%Ko~(0000ou?TYr0qB!_2=fDy03?%g34OEk3D^t}qz+{O diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Environment.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Environment.class index 6c1d0413454755aea1e929ba532c94735c21446e..1f5c1d3a3d23fc29f44a26236bb9a2f46f0fa274 100644 GIT binary patch delta 17 Zcmcb|eUF>t)W2Q(7#J8FH*#EK1pq~<2Jip? delta 17 Zcmcb|eUF>t)W2Q(7#J9gHga5J1pq}}2H^kz diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Gui.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Gui.class index 7a6de7a8d938e57d49021b2670f32b01a1362564..829ecb1c7c59a9d759532352ddf5ac9632d31810 100644 GIT binary patch delta 383 zcmX9($xZ@66s#TwkhYNoFDe%$(L^BP28iMYiW_dAB6=_rAY@D!5&_YJ7w?|>;=y0= zU}DBC@dNk|FMfpjM$&oJsjjZ7yhq;Vy#4e331AtgPyCt%ofv2EookocRk+^LjY>GL z8>Lz+RWs@h&1lp)e3%rN!nC|&BaWy*3^VeLg$8GlaAJjE3{Rtd$n8M-T4wR}c>V_K7A7yC}^G1ziONg#_M279$x*NYqs z0~Q<#q~(`#!{V}N^Lu(=qa9pufI~pYdt0+_BJd2qi3nYzCgOREswNiYu$qjdutJ7a z8aI?*^ny7l6+Hy$fAo+PB}R|v>O`!`2h|_yI9=Gp7KzrkEEGC`*PD68&IefG1-VSn Z#DV-)1N}$Hljw#W$5d)17Kkf2`2&LtOHBX( delta 335 zcmX9&$xZ@M5Ue-zmjEOQ558nKP_X8%L zH8Ig~OZ)&n!H-cJO{J?->FVlkihCiN-|wFQ;wU|eD<%YbF(NUFxO!k=V_aealj@5_ z`=>BtVw%A^wJ+_M-KfVhXHMO&I+b&YStM0hOBiz!^H@-2Ey8i}Ei##FZVT{_KheWX@xrdZW^K{=L(zKMJYKQiN0GLV1=pf3fTOMRf>Wzn@|298X tu||_lvge@@0Lxl`MeYNv^n%^okcYf7eUa`x?Ehu@a6lIrp-5W8;V%fiJ~03Q diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/LoadSave.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/LoadSave.class index 089b114d4f4d7ac738e4a5b1d94076bcb6c0097a..2084e95d43fc0ae0fe0e76cda633fe5a29faf3c3 100644 GIT binary patch delta 1605 zcmaJ>TTmNS82(PO$u8?M(3Avt0HKA{atniPxr9`?3JMgZmZD<2kOczEZklYU6gAR| zmnv4fR_onr6>ksXXmDVr55DO5wRTC;#~`-}hhgv;X&E z`G>zZZUE@O=WBArCCezmK?R4pqK84*4$~XcH3|1HKt?zE6-emdxBCZA8y^{`bne-1R7{O8dSNEFnC_`X7M`vnkN=s1=E-zz6+|J(vD0~l`ea#o5DW0II?lfDbRUA zJg0d=t}zst$Ro|9ZYD`{3P}+O`=qCYS@xpmB0Fvi-jHyXK-)|VxJ8_|hrPwpIXun5 zJY$>QfV7O~_>YVBinpX{880YU;T4jo1<`?+L1nx|^`&0r<7EYxVcXw&m(mP{ou+9e zt%MpM)T|jZnw0S--WKr|L)E`+iWv*$oR;fWb{2ZoNy|(u@*#PL;p)z&=B%>;`&1*U zYssns)0|7i!#DMQkJJ1es+&BIF2=R6{f9f4zSW{j)%6joU%0@FHzZu6S?HlbQYW;E zA$4ABt6&m7V7M(5RV_8d8c0a^kio@hD3pG~&=Os`noMd`>W>+!Z=t#q{K0MXB0gm( z|6f~L3vZUH9TCsw?SqFtz!m#@F_f;&;J^l2fDGDezQQgySB&tR;OlgxCnvo*DU#eo z_n5DD9er)WmuM&zGPsxfJC|(4K^}34$I0OSHA?5gZaRChi_Rh%3qJxVhJ8sYN{3N~ z9+YDcx8p%n(EL?G!(PNug(Xzu6$HrzIFQBdxPn5gko7TIqX5zv#c@he2@7L*2yXJN z#>0370=?6Y(J51eUvk_dn;0M4#EG%mb*SleObodX39AUy*ZGB}Z=h`;#_`Xd7nonD zyK!ynxB3j`S0N3NjIU8Nj;5LR!tKxsB9AmRC`2uxsUy6#Xhc2PG>}z@>f4BRG&w8| z!%Mc291FUok-~x#G6K<|QAos3<1r_A85VJdXtdCG36GQR334xo@D~Ci#+h%6_JX>CYFixIZpb*I-VV@%i#H;RrKZ8)can{;H9roQ2*W5 zpW8I4c?DlMxPsXKAF9nnwS_3O(w}r2_K*ys-JX^Ao=H*BX@^ltZM#A(@l(fNC4O!y z&rSwqoI#0*Wx}1eMKy6b9J+G^+<1*3yKoh+lPn_lcPZ?9&iTG`UdKoD!v98B@d-Xd F=|8a4Xkh>V delta 1256 zcmZ9M-%}e^6vsa|*|1Ao3Z??-D3w~NBao)n*p^_iMFGV^DX55A?Lros5)urd)mDjO z>km|{uGZGyRY#t5#L;9%X8P)k`r;qpI6mu)zWCyd;<R-tA9Id7(Ug;(hz{kl$@E0$Y%-N_vlhD*8@eRmjJl2e z&XgN(3=*Tw#v<I(;hgt^sbFCE??-66t}v%{D3!K2pinzZ`W1HhdUrDA zS_~)%(np(KhHUQ9U8*PC-2T|;OeQs(a|fKzFJtK5?$p+SK#kw`cuFy9UI#}dT-1vg+n~Va3I=|$UYTx@`?a*+! z!H6zf;PA3{q%xB4qJe{KW|(VbFpW&Gg$!Fc$@QF}iBH+aRf0IShMQXIWM}aS4x@-* zoM(&#KFNC-mvQ`(83;t%V~NIyhFs*) z)>>m{foy2D4EV%pL)99smoBdU6e)0W39Dc1lgm;UI^<)Rlb##JzfN#LGc~jbu2y!4 zjT4a@Q95PUEk9MwrGpAtdo-84INF`(nNqnP%o3RzZsN2EpbOu?vpgqcI^}(y7bLbI zIh!&5qRu3#u342q`%RQdmC1|R&S~l|i6Cp#zZdF;y4XKgtwkQq`ZAaBbtp|IyqnH1`OFHu=|x3-vZ{@QSSi^CG*FlTEzO o2QrjeA$(D|`9+q?(Kl%HVUtC{T)8TG_)7Tu{ssS`!1eLbKiHQEEC2ui diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/PowerUp.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/PowerUp.class index dd6cd7d79bb4c7a10751e0a932b9bf5d8ceb815e..41afb9032ffeaefa1f8646ed8968d4ed4944e63b 100644 GIT binary patch delta 17 Zcmca0bU}#Y)W2Q(7#J8FH*$Dz0sup!23P<9 delta 17 Zcmca0bU}#Y)W2Q(7#J9gHgb4y0suo;21x(_ diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Profile.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Profile.class index 417e70167a6617f8ae975cfcd9d3ce3034692835..8170ad109398263fa75aba0e12ed98a4afff5d2d 100644 GIT binary patch delta 17 ZcmZ3?xtNpV)W2Q(7#J8FH*(Bo0RTOg208!$ delta 17 ZcmZ3?xtNpV)W2Q(7#J9gHge2n0RTNq1}gvn diff --git a/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Proj.class b/plugins/de.ovgu.featureide.examples/featureide_examples/TankWar-Antenna/bin/Proj.class index d21b915f2beb02ec8f05181891c1d10bb93cc554..54e657064e43df0d6926deb9241c9d4f3d01eee3 100644 GIT binary patch delta 17 Zcmew(`A3rD)W2Q(7#J8FH*$R80RT%-2Wg!pmVs1YUcSe6D$c3aXdB>XH-B%0{mA7z{+ zM6P?8>6>};rp@cm@5dK_K2ALp7>WZu_E2J|PsKuXW1%PAhtX6L($k@}1wlX#GLXLT4l9`HyQ%3WdHMA>9FL>bh=VN6a zW3iN$M?!1k_(<~qF=x2oZaI_rn2XIjHf*}16iFW48{tG=UVhd5%xr%ic7QsXnVB_) zU|{Apl6NZeu|igzXC~kbWIz2Epg)ZjidHCX@ltPKOsv(W3A9ZxBs>nV!L6{6y%_yPKG%nm zNaCXp{wVd#mU?M<`DSOnGv}Q7zHfj0{Q3>R15^xz1ZL`X$ABh~IFcV^sVD7j>7aFF zwmpH_=ay}GF9^yP8Uos@LC1_@29X$a%nHP-mTm6){g&yxm93sBkgN{cve%G~rS_9U z&3k9L0(zBF6|Q~Xwb}xyeD$wn-E%CvTPZXmn8$*FB=fFsm!#jZ2BnuO9`@uX(~02< zQnWSnJQ(xBwG83=F z|AVDn1-co-EvyI_UDMl^Z|KbEcics#3fgC{Dozit{MMu%>M3 zt|uMOz`DS~*?aa5UVm(xL(dx6Y@BO%R97w(nyK3EA>;OLZAuYO{jgb~+78P&^)YOM z8`M)^X&T@U$6Vc$?e{e~4CcYW)BlEzFm_%bS|9jM+f?lk2y;|6m1$O%CONM_h+iB# zMuWQ&SHV?Z8zFogq@#=~%|l#bj7`2{nBy*j%ZT$tUH%>r@hA9#L{*fvF&3L+WSZo< zI>K^o{RB7m$H+A|Mz~YfK0`0-#jJLM{BgjriUNwXr4&~X4%jv78B|Ckfn^SHfrDD) zblm5Oaa(q{K14)NT(}5Wv?2+ZXvCGjQ0~ef zaN$nT_yV_rOBe3^0XP1Ecq20~XU?1hGjrv7a|!Ri&#wTASZfKNDIPw8z@c)goXNV` zRQKiWrn;w@Wlhx$MKyE*Zumt65Nv(Nf_;ea2otz%hpd=}T-J`XV-ZpGQ;CGzVy_@%bBmCL z0ULFYG)oIZk4V*}luf-Lv(q{DfV?N`$yyk{M}g4=3p4iAX`y(-{={L4emLa#GQ(ch V0lQeiDyunmUIkSU7PWt6{SVBEN(}%2 delta 306 zcmW-cOD_Xq6o#K~+H{)Fq$#SZTGtkxmSMEioz}Irv9z%0PDG4Q`a9(N18nRGLn^VA zu(y!-74~8(=Opj#EZ*}Lyba3t-{vb|Q@xU(QW7F&&_i6ciBuv%pH5N`I;vgPtXiXP zm7Qbf%%GnERTce#A%kI3>QtD45ra|2)U}8NOmaF|)f7qJI1}ni6vU(oYq7X3&?}{j zdfhpZSaeEE3I;RGs*<)BnlsP|N)}ksSyVS#G_s5o_|FfWMyuMY!5Ss?p?z1o%?G;f z>2(=wv38O3)+PN+X4lNNtQV~Pj;SZ6!*M1y2gG~?fWY}UG;mywfW#tbh2|A|$ diff --git a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java index 403e8159d6..19cda076af 100644 --- a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java +++ b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java @@ -29,8 +29,8 @@ import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; +import org.eclipse.draw2d.zoom.ZoomListener; import org.eclipse.gef.EditPartViewer; -import org.eclipse.gef.editparts.ZoomListener; import org.eclipse.gef.editparts.ZoomManager; import de.ovgu.featureide.fm.core.base.FeatureUtils; @@ -183,8 +183,9 @@ public static void setZoomManager(ZoomManager zoomManager) { zoomManager.addZoomListener(new ZoomListener() { @Override - public void zoomChanged(double newZoomFactor) { - FeatureUIHelper.zoomFactor = newZoomFactor; + public void zoomChanged(double newZoomLevel) { + FeatureUIHelper.zoomFactor = newZoomLevel; + } }); } diff --git a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java index 761d86310b..b1f64f3156 100644 --- a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java +++ b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java @@ -61,7 +61,7 @@ public class FeatureLabelEditManager extends DirectEditManager implements GUIDef private final IManager featureModelManager; private final FeatureEditPart editPart; - public FeatureLabelEditManager(FeatureEditPart editPart, Class editorType, FeatureCellEditorLocator locator, + public FeatureLabelEditManager(FeatureEditPart editPart, Class editorType, FeatureCellEditorLocator locator, IManager featureModelManager) { super(editPart, editorType, locator); this.featureModelManager = featureModelManager; diff --git a/pom.xml b/pom.xml index 39118ab766..0c6c698897 100644 --- a/pom.xml +++ b/pom.xml @@ -7,11 +7,11 @@ pom - 1.1.0 - 1.1.0 + 4.0.10 + 4.0.10 UTF-8 - 1.8 - 1.8 + 21 + 21 @@ -270,8 +270,8 @@ - oxygen - http://download.eclipse.org/releases/oxygen + 2024-12 + http://download.eclipse.org/releases/2024-12 p2 From f5ef30673043314a7afe1ca2580557404732d5d8 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Fri, 14 Feb 2025 13:42:47 +0100 Subject: [PATCH 02/21] Added support for MacOS aarch64 to FeatureIDE --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 0c6c698897..633f29c20e 100644 --- a/pom.xml +++ b/pom.xml @@ -122,6 +122,11 @@ cocoa x86_64 + + macosx + cocoa + aarch64 + From 84cb80725a9c00a94a083eeec5157dc163d6a34f Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Fri, 14 Feb 2025 13:48:23 +0100 Subject: [PATCH 03/21] Add myself to the credits for the Eclipse 2024-12 update --- .../src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java | 1 + .../featuremodel/commands/renaming/FeatureLabelEditManager.java | 1 + 2 files changed, 2 insertions(+) diff --git a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java index 19cda076af..84bbc58f25 100644 --- a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java +++ b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/FeatureUIHelper.java @@ -48,6 +48,7 @@ * @author Christian Kaestner * @author Martha Nyerembe * @author Lukas Vogt + * @author Malte Grave VaSiCS LIT CPS */ public class FeatureUIHelper { diff --git a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java index b1f64f3156..44be87df4f 100644 --- a/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java +++ b/plugins/de.ovgu.featureide.fm.ui/src/de/ovgu/featureide/fm/ui/editors/featuremodel/commands/renaming/FeatureLabelEditManager.java @@ -55,6 +55,7 @@ * @author Florian Proksch * @author Stefan Krueger * @author Marcus Pinnecke + * @author Malte Grave VaSiCS LIT CPS */ public class FeatureLabelEditManager extends DirectEditManager implements GUIDefaults { From 62285d4398de286c91b7670497b2b08e4c20cb9b Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 17 Feb 2025 10:49:38 +0100 Subject: [PATCH 04/21] Updated dependencies for FeatureIDE. More to come --- deploy/NightlyUpdate/pom.xml | 2 ++ plugins/br.ufal.ic.colligens/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 12 ++++-------- .../br.ufal.ic.colligens/META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.Cloneanalysis/.classpath | 3 ++- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.core.ahead/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.antenna/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.aspectj/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.framework/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.images/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.core.mpl/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.core.munge/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.runtime/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.core/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../de.ovgu.featureide.core/META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.fm.attributes/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.fm.core/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.fm.ui/.classpath | 6 +++--- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.migration/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.ui.android/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.ui.mpl/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- plugins/de.ovgu.featureide.ui/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../de.ovgu.featureide.ui/META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.visualisation/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 9 ++++++--- .../META-INF/MANIFEST.MF | 2 +- pom.xml | 16 ++++++---------- 71 files changed, 193 insertions(+), 216 deletions(-) diff --git a/deploy/NightlyUpdate/pom.xml b/deploy/NightlyUpdate/pom.xml index 706b70e079..3df42ed65a 100644 --- a/deploy/NightlyUpdate/pom.xml +++ b/deploy/NightlyUpdate/pom.xml @@ -40,4 +40,6 @@ --> + + \ No newline at end of file diff --git a/plugins/br.ufal.ic.colligens/.classpath b/plugins/br.ufal.ic.colligens/.classpath index 19502fa46a..a4da0b5073 100644 --- a/plugins/br.ufal.ic.colligens/.classpath +++ b/plugins/br.ufal.ic.colligens/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/br.ufal.ic.colligens/.settings/org.eclipse.jdt.core.prefs b/plugins/br.ufal.ic.colligens/.settings/org.eclipse.jdt.core.prefs index f3943d75bf..aaa1bad0e2 100644 --- a/plugins/br.ufal.ic.colligens/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/br.ufal.ic.colligens/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,9 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -11,8 +11,8 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -26,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -147,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -218,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -363,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/br.ufal.ic.colligens/META-INF/MANIFEST.MF b/plugins/br.ufal.ic.colligens/META-INF/MANIFEST.MF index 4c01c9f42c..06277d96b2 100644 --- a/plugins/br.ufal.ic.colligens/META-INF/MANIFEST.MF +++ b/plugins/br.ufal.ic.colligens/META-INF/MANIFEST.MF @@ -20,7 +20,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ltk.ui.refactoring, org.eclipse.ui.workbench.texteditor Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Import-Package: org.eclipse.cdt.core.model, org.eclipse.cdt.internal.core.model, org.eclipse.cdt.ui.text.contentassist diff --git a/plugins/de.ovgu.featureide.Cloneanalysis/.classpath b/plugins/de.ovgu.featureide.Cloneanalysis/.classpath index 9d41b0c50d..4f7288519b 100644 --- a/plugins/de.ovgu.featureide.Cloneanalysis/.classpath +++ b/plugins/de.ovgu.featureide.Cloneanalysis/.classpath @@ -29,6 +29,7 @@ - + + diff --git a/plugins/de.ovgu.featureide.Cloneanalysis/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.Cloneanalysis/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.Cloneanalysis/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.Cloneanalysis/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.Cloneanalysis/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.Cloneanalysis/META-INF/MANIFEST.MF index 53c9a05974..59d8b63917 100644 --- a/plugins/de.ovgu.featureide.Cloneanalysis/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.Cloneanalysis/META-INF/MANIFEST.MF @@ -15,7 +15,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.text, org.eclipse.ui.ide Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ClassPath: lib/pmd-core-5.2.2.jar, lib/pmd-java-5.2.2.jar, ., diff --git a/plugins/de.ovgu.featureide.core.ahead/.classpath b/plugins/de.ovgu.featureide.core.ahead/.classpath index e50a50e789..2494221477 100644 --- a/plugins/de.ovgu.featureide.core.ahead/.classpath +++ b/plugins/de.ovgu.featureide.core.ahead/.classpath @@ -2,7 +2,7 @@ - + diff --git a/plugins/de.ovgu.featureide.core.ahead/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.ahead/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.ahead/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.ahead/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.ahead/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.ahead/META-INF/MANIFEST.MF index 3dc41d3ce3..4ab1141f95 100644 --- a/plugins/de.ovgu.featureide.core.ahead/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.ahead/META-INF/MANIFEST.MF @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime, de.ovgu.featureide.fm.core, de.ovgu.featureide.fm.ui Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Bundle-ClassPath: ., lib/jak2java.jar, diff --git a/plugins/de.ovgu.featureide.core.antenna/.classpath b/plugins/de.ovgu.featureide.core.antenna/.classpath index ffd66a440c..1c740e4fbd 100644 --- a/plugins/de.ovgu.featureide.core.antenna/.classpath +++ b/plugins/de.ovgu.featureide.core.antenna/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.antenna/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.antenna/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.antenna/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.antenna/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.antenna/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.antenna/META-INF/MANIFEST.MF index 05ca99a6c7..4113b34e54 100644 --- a/plugins/de.ovgu.featureide.core.antenna/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.antenna/META-INF/MANIFEST.MF @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime, Bundle-ActivationPolicy: lazy Bundle-ClassPath: ., lib/antenna.jar -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: antenna.preprocessor, antenna.preprocessor.v3, diff --git a/plugins/de.ovgu.featureide.core.aspectj/.classpath b/plugins/de.ovgu.featureide.core.aspectj/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.aspectj/.classpath +++ b/plugins/de.ovgu.featureide.core.aspectj/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.aspectj/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.aspectj/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.aspectj/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.aspectj/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.aspectj/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.aspectj/META-INF/MANIFEST.MF index 92eea84dc9..195f407821 100644 --- a/plugins/de.ovgu.featureide.core.aspectj/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.aspectj/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime, de.ovgu.featureide.fm.core, org.eclipse.jdt.core Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide.aspectj Automatic-Module-Name: de.ovgu.featureide.core.aspectj diff --git a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.classpath b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.classpath +++ b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/META-INF/MANIFEST.MF index 0b44293334..10e7209db5 100644 --- a/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.conversion.ahead-featurehouse/META-INF/MANIFEST.MF @@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.ui, de.ovgu.featureide.core.ahead, de.ovgu.featureide.core.featurehouse -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide.core.conversion.ahead_featurehouse, diff --git a/plugins/de.ovgu.featureide.core.featurecpp/.classpath b/plugins/de.ovgu.featureide.core.featurecpp/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.featurecpp/.classpath +++ b/plugins/de.ovgu.featureide.core.featurecpp/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.featurecpp/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.featurecpp/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.featurecpp/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.featurecpp/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.featurecpp/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.featurecpp/META-INF/MANIFEST.MF index 4b2b13633f..70c92cd90c 100644 --- a/plugins/de.ovgu.featureide.core.featurecpp/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.featurecpp/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.core, de.ovgu.featureide.core Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide.featurecpp, de.ovgu.featureide.featurecpp.model, diff --git a/plugins/de.ovgu.featureide.core.featurehouse/.classpath b/plugins/de.ovgu.featureide.core.featurehouse/.classpath index 980bd7af20..6077ff9d1b 100644 --- a/plugins/de.ovgu.featureide.core.featurehouse/.classpath +++ b/plugins/de.ovgu.featureide.core.featurehouse/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.featurehouse/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.featurehouse/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.featurehouse/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.featurehouse/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.featurehouse/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.featurehouse/META-INF/MANIFEST.MF index e6a3120eef..dbc660faa6 100644 --- a/plugins/de.ovgu.featureide.core.featurehouse/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.featurehouse/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.core, org.eclipse.jdt.core Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ClassPath: lib/FeatureHouse.jar, . Bundle-Vendor: University of Magdeburg diff --git a/plugins/de.ovgu.featureide.core.framework/.classpath b/plugins/de.ovgu.featureide.core.framework/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.framework/.classpath +++ b/plugins/de.ovgu.featureide.core.framework/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.framework/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.framework/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.framework/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.framework/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.framework/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.framework/META-INF/MANIFEST.MF index 97f8e7a716..41ec56d6aa 100644 --- a/plugins/de.ovgu.featureide.core.framework/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.framework/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureIDE Plug-In for Black-Box Frameworks Bundle-SymbolicName: de.ovgu.featureide.core.framework;singleton:=true Bundle-Version: 3.11.1.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: de.ovgu.featureide.core, de.ovgu.featureide.fm.core, org.eclipse.core.runtime, diff --git a/plugins/de.ovgu.featureide.core.images/.classpath b/plugins/de.ovgu.featureide.core.images/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.images/.classpath +++ b/plugins/de.ovgu.featureide.core.images/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.images/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.images/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.images/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.images/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.images/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.images/META-INF/MANIFEST.MF index 91af825565..1936ad63c9 100644 --- a/plugins/de.ovgu.featureide.core.images/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.images/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureIDE Plug-In for Image Composition Bundle-SymbolicName: de.ovgu.featureide.core.images;singleton:=true Bundle-Version: 3.11.1.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: de.ovgu.featureide.core, de.ovgu.featureide.fm.core, org.eclipse.core.runtime, diff --git a/plugins/de.ovgu.featureide.core.mpl/.classpath b/plugins/de.ovgu.featureide.core.mpl/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.mpl/.classpath +++ b/plugins/de.ovgu.featureide.core.mpl/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.mpl/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.mpl/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.mpl/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.mpl/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.mpl/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.mpl/META-INF/MANIFEST.MF index 687839ee19..c1de3100a4 100644 --- a/plugins/de.ovgu.featureide.core.mpl/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.mpl/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureIDE Plug-In for Multi Product Lines Bundle-SymbolicName: de.ovgu.featureide.core.mpl;singleton:=true Bundle-Version: 3.11.1.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: de.ovgu.featureide.core, de.ovgu.featureide.fm.core, org.eclipse.core.resources, diff --git a/plugins/de.ovgu.featureide.core.munge.android/.classpath b/plugins/de.ovgu.featureide.core.munge.android/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.munge.android/.classpath +++ b/plugins/de.ovgu.featureide.core.munge.android/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.munge.android/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.munge.android/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.munge.android/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.munge.android/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.munge.android/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.munge.android/META-INF/MANIFEST.MF index f394efcb04..d2b7655957 100644 --- a/plugins/de.ovgu.featureide.core.munge.android/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.munge.android/META-INF/MANIFEST.MF @@ -10,6 +10,6 @@ Require-Bundle: org.eclipse.core.runtime, de.ovgu.featureide.fm.core, de.ovgu.featureide.core.munge Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Export-Package: de.ovgu.featureide.munge_android Automatic-Module-Name: de.ovgu.featureide.core.munge.android diff --git a/plugins/de.ovgu.featureide.core.munge/.classpath b/plugins/de.ovgu.featureide.core.munge/.classpath index c4a519dc51..a5c86d21aa 100644 --- a/plugins/de.ovgu.featureide.core.munge/.classpath +++ b/plugins/de.ovgu.featureide.core.munge/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.munge/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.munge/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.munge/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.munge/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.munge/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.munge/META-INF/MANIFEST.MF index 1d5cbdb7b7..9e73d1c3ec 100644 --- a/plugins/de.ovgu.featureide.core.munge/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.munge/META-INF/MANIFEST.MF @@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.ui, org.eclipse.core.expressions Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide.munge, de.ovgu.featureide.munge.documentation, diff --git a/plugins/de.ovgu.featureide.core.runtime/.classpath b/plugins/de.ovgu.featureide.core.runtime/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.core.runtime/.classpath +++ b/plugins/de.ovgu.featureide.core.runtime/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core.runtime/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core.runtime/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core.runtime/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core.runtime/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core.runtime/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core.runtime/META-INF/MANIFEST.MF index e878f19585..67783f6a1f 100644 --- a/plugins/de.ovgu.featureide.core.runtime/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core.runtime/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureIDE Plug-In for Runtime Parameters Bundle-SymbolicName: de.ovgu.featureide.core.runtime;singleton:=true Bundle-Version: 3.11.1.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: de.ovgu.featureide.core, de.ovgu.featureide.fm.core, org.eclipse.core.runtime, diff --git a/plugins/de.ovgu.featureide.core/.classpath b/plugins/de.ovgu.featureide.core/.classpath index 70749767b8..a4d4711b92 100644 --- a/plugins/de.ovgu.featureide.core/.classpath +++ b/plugins/de.ovgu.featureide.core/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.core/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.core/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.core/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.core/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.core/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.core/META-INF/MANIFEST.MF index f065850b46..7c0a028e3b 100644 --- a/plugins/de.ovgu.featureide.core/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.core/META-INF/MANIFEST.MF @@ -30,7 +30,7 @@ Export-Package: de.ovgu.featureide.core.signature.java Bundle-ClassPath: lib/tools.jar, . -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Bundle-ActivationPolicy: lazy Automatic-Module-Name: de.ovgu.featureide.core diff --git a/plugins/de.ovgu.featureide.fm.attributes/.classpath b/plugins/de.ovgu.featureide.fm.attributes/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.fm.attributes/.classpath +++ b/plugins/de.ovgu.featureide.fm.attributes/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.fm.attributes/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.fm.attributes/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.fm.attributes/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.fm.attributes/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.fm.attributes/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.attributes/META-INF/MANIFEST.MF index 806dcdb91c..406dccbfb2 100644 --- a/plugins/de.ovgu.featureide.fm.attributes/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.attributes/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.core, de.ovgu.featureide.fm.ui, de.ovgu.featureide.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Export-Package: de.ovgu.featureide.fm.attributes, de.ovgu.featureide.fm.attributes.base, de.ovgu.featureide.fm.attributes.base.exceptions, diff --git a/plugins/de.ovgu.featureide.fm.core/.classpath b/plugins/de.ovgu.featureide.fm.core/.classpath index 08f8dc8f32..d59650ae4c 100644 --- a/plugins/de.ovgu.featureide.fm.core/.classpath +++ b/plugins/de.ovgu.featureide.fm.core/.classpath @@ -7,7 +7,7 @@ - + diff --git a/plugins/de.ovgu.featureide.fm.core/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.fm.core/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.fm.core/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.fm.core/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF index 55dafb1120..42fb96e98e 100644 --- a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF @@ -14,7 +14,7 @@ Bundle-ClassPath: ., lib/SPLCAT.jar, lib/commons-math-2.2.jar, lib/uvl-parser.jar -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Activator: de.ovgu.featureide.fm.core.FMCorePlugin Bundle-Vendor: University of Magdeburg Export-Package: de.vill.model, diff --git a/plugins/de.ovgu.featureide.fm.ui/.classpath b/plugins/de.ovgu.featureide.fm.ui/.classpath index c22620bde4..b3086bd822 100644 --- a/plugins/de.ovgu.featureide.fm.ui/.classpath +++ b/plugins/de.ovgu.featureide.fm.ui/.classpath @@ -1,8 +1,8 @@ - + - + - + diff --git a/plugins/de.ovgu.featureide.fm.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.fm.ui/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.fm.ui/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.fm.ui/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF index 5b9dca0883..54f82b4b24 100644 --- a/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF @@ -18,7 +18,7 @@ Require-Bundle: org.eclipse.core.resources, de.ovgu.featureide.fm.core Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide.fm.ui, de.ovgu.featureide.fm.ui.editors; diff --git a/plugins/de.ovgu.featureide.migration/.classpath b/plugins/de.ovgu.featureide.migration/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.migration/.classpath +++ b/plugins/de.ovgu.featureide.migration/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.migration/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.migration/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.migration/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.migration/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.migration/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.migration/META-INF/MANIFEST.MF index bfcc26a33b..6144c5dd16 100644 --- a/plugins/de.ovgu.featureide.migration/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.migration/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.core, de.ovgu.featureide.ui Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Export-Package: de.ovgu.featureide.migration.impl, de.ovgu.featureide.ui.migration.plugin, de.ovgu.featureide.ui.migration.wizard diff --git a/plugins/de.ovgu.featureide.ui.android/.classpath b/plugins/de.ovgu.featureide.ui.android/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.ui.android/.classpath +++ b/plugins/de.ovgu.featureide.ui.android/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.ui.android/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.ui.android/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.ui.android/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.ui.android/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.ui.android/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.ui.android/META-INF/MANIFEST.MF index 1d2327fdc9..22fb5f3543 100644 --- a/plugins/de.ovgu.featureide.ui.android/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.ui.android/META-INF/MANIFEST.MF @@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.core.munge.android, org.eclipse.ui.ide Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Export-Package: de.ovgu.featureide.ui.android, de.ovgu.featureide.ui.android.handlers, de.ovgu.featureide.ui.android.wizards diff --git a/plugins/de.ovgu.featureide.ui.mpl/.classpath b/plugins/de.ovgu.featureide.ui.mpl/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.ui.mpl/.classpath +++ b/plugins/de.ovgu.featureide.ui.mpl/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.ui.mpl/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.ui.mpl/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.ui.mpl/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.ui.mpl/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.ui.mpl/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.ui.mpl/META-INF/MANIFEST.MF index 92155197c1..aef5f5f082 100644 --- a/plugins/de.ovgu.featureide.ui.mpl/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.ui.mpl/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureIDE UI Plug-In for Multi Product Lines Bundle-SymbolicName: de.ovgu.featureide.ui.mpl;singleton:=true Bundle-Version: 3.11.1.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: de.ovgu.featureide.core, de.ovgu.featureide.core.mpl, de.ovgu.featureide.fm.core, diff --git a/plugins/de.ovgu.featureide.ui/.classpath b/plugins/de.ovgu.featureide.ui/.classpath index f6fd6cbfee..48871556a2 100644 --- a/plugins/de.ovgu.featureide.ui/.classpath +++ b/plugins/de.ovgu.featureide.ui/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.ui/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.ui/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.ui/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.ui/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.ui/META-INF/MANIFEST.MF index d044315742..60f3dc03dd 100644 --- a/plugins/de.ovgu.featureide.ui/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.ui/META-INF/MANIFEST.MF @@ -22,7 +22,7 @@ Require-Bundle: org.eclipse.core.expressions, Bundle-ActivationPolicy: lazy Bundle-ClassPath: lib/FeatureIDEAnnotations.jar, . -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Export-Package: de.ovgu.featureide, diff --git a/plugins/de.ovgu.featureide.visualisation/.classpath b/plugins/de.ovgu.featureide.visualisation/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.visualisation/.classpath +++ b/plugins/de.ovgu.featureide.visualisation/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.visualisation/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.visualisation/.settings/org.eclipse.jdt.core.prefs index c5a0ba0b79..659aa34ca4 100644 --- a/plugins/de.ovgu.featureide.visualisation/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.visualisation/.settings/org.eclipse.jdt.core.prefs @@ -1,10 +1,13 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/plugins/de.ovgu.featureide.visualisation/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.visualisation/META-INF/MANIFEST.MF index d533ae9cee..eeae167634 100644 --- a/plugins/de.ovgu.featureide.visualisation/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.visualisation/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, de.ovgu.featureide.core, de.ovgu.featureide.fm.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Automatic-Module-Name: de.ovgu.featureide.visualisation Export-Package: de.ovgu.featureide.visualisation, diff --git a/pom.xml b/pom.xml index 633f29c20e..b8ef583775 100644 --- a/pom.xml +++ b/pom.xml @@ -83,7 +83,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.11.2 ${project.basedir}/../Javadoc ${project.name} @@ -194,9 +194,7 @@ maven-resources-plugin - - [2.4.3,) - + 3.3.1 resources testResources @@ -214,9 +212,7 @@ tycho-compiler-plugin - - [0.23.1,) - + ${tycho-version} compile @@ -233,9 +229,9 @@ tycho-packaging-plugin - - [0.23.1,) - + + ${tycho-version} + build-qualifier build-qualifier-aggregator From 22118a17dc1b8ccdd868970844dad0ec74a3b7a0 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 17 Feb 2025 16:17:21 +0100 Subject: [PATCH 05/21] FeatureIDE is now build and shipped to an internal update site --- deploy/NightlyUpdate/category.xml | 4 +-- deploy/NightlyUpdate/pom.xml | 2 -- .../de.ovgu.featureide.examples/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++--- .../META-INF/MANIFEST.MF | 2 +- pom.xml | 34 +++++++++---------- .../pom.xml | 1 - 7 files changed, 26 insertions(+), 32 deletions(-) diff --git a/deploy/NightlyUpdate/category.xml b/deploy/NightlyUpdate/category.xml index aaea1c2023..a0c18ea7ea 100644 --- a/deploy/NightlyUpdate/category.xml +++ b/deploy/NightlyUpdate/category.xml @@ -1,14 +1,14 @@ + ]> FeatureIDE v3.x - 3.8.0 + 3.11.1 diff --git a/deploy/NightlyUpdate/pom.xml b/deploy/NightlyUpdate/pom.xml index 3df42ed65a..706b70e079 100644 --- a/deploy/NightlyUpdate/pom.xml +++ b/deploy/NightlyUpdate/pom.xml @@ -40,6 +40,4 @@ --> - - \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.examples/.classpath b/plugins/de.ovgu.featureide.examples/.classpath index eca7bdba8f..375961e4d6 100644 --- a/plugins/de.ovgu.featureide.examples/.classpath +++ b/plugins/de.ovgu.featureide.examples/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/de.ovgu.featureide.examples/.settings/org.eclipse.jdt.core.prefs b/plugins/de.ovgu.featureide.examples/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/plugins/de.ovgu.featureide.examples/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/de.ovgu.featureide.examples/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/plugins/de.ovgu.featureide.examples/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.examples/META-INF/MANIFEST.MF index b3e2ff69eb..65ad274a77 100644 --- a/plugins/de.ovgu.featureide.examples/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.examples/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.resources, de.ovgu.featureide.fm.ui, de.ovgu.featureide.core, de.ovgu.featureide.fm.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Bundle-ActivationPolicy: lazy Bundle-Activator: de.ovgu.featureide.examples.ExamplePlugin diff --git a/pom.xml b/pom.xml index b8ef583775..94356cff14 100644 --- a/pom.xml +++ b/pom.xml @@ -80,19 +80,6 @@ - - org.apache.maven.plugins - maven-javadoc-plugin - 3.11.2 - - ${project.basedir}/../Javadoc - ${project.name} - true - none - false - - - org.eclipse.tycho tycho-maven-plugin @@ -194,7 +181,7 @@ maven-resources-plugin - 3.3.1 + [3.3.1,) resources testResources @@ -212,7 +199,7 @@ tycho-compiler-plugin - ${tycho-version} + [3.0.0,] compile @@ -229,9 +216,7 @@ tycho-packaging-plugin - - ${tycho-version} - + [3.0.0,] build-qualifier build-qualifier-aggregator @@ -254,6 +239,19 @@ + + org.apache.maven.plugins + maven-javadoc-plugin + 3.11.2 + + ${project.basedir}/../Javadoc + ${project.name} + true + none + false + + + org.jacoco jacoco-maven-plugin diff --git a/tests/de.ovgu.featureide.core.ahead-test/pom.xml b/tests/de.ovgu.featureide.core.ahead-test/pom.xml index 0a436df10f..aadd279f22 100644 --- a/tests/de.ovgu.featureide.core.ahead-test/pom.xml +++ b/tests/de.ovgu.featureide.core.ahead-test/pom.xml @@ -8,6 +8,5 @@ ../../pom.xml de.ovgu.featureide.core.ahead-test - 3.11.1-SNAPSHOT eclipse-test-plugin \ No newline at end of file From c8303bf25b6bd441cb00aeb1b1fa4c44df825e14 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Tue, 27 May 2025 16:34:21 +0200 Subject: [PATCH 06/21] Push FeatureIDE to latest release --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 94356cff14..7890336b4d 100644 --- a/pom.xml +++ b/pom.xml @@ -269,8 +269,8 @@ - 2024-12 - http://download.eclipse.org/releases/2024-12 + 2025-03 + http://download.eclipse.org/releases/2025-03 p2 From 7a38730c4c746c68ccca7d32581ab56a1a53d420 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 30 Jun 2025 15:02:58 +0200 Subject: [PATCH 07/21] First cleanup, excluded the antlr formatter --- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 6 +- .../de.ovgu.featureide.ui.ahead/.gitignore | 1 + plugins/de.ovgu.featureide.fm.core/.classpath | 3 +- .../META-INF/MANIFEST.MF | 30 +- plugins/de.ovgu.featureide.fm.core/Velvet.g | 299 - plugins/de.ovgu.featureide.fm.core/Velvet.g4 | 258 + .../build.properties | 4 +- .../lib/ST-4.3.4.jar | Bin 0 -> 251081 bytes .../lib/antlr-3.4.jar | Bin 1803981 -> 0 bytes .../lib/antlr4-runtime-4.13.2.jar | Bin 0 -> 326307 bytes .../SimpleVelvetFeatureModelFormat.java | 925 +-- .../fm/core/io/velvet/Velvet.interp | 156 + .../fm/core/io/velvet/Velvet.tokens | 206 +- .../fm/core/io/velvet/VelvetBaseListener.java | 415 ++ .../fm/core/io/velvet/VelvetBaseVisitor.java | 235 + .../io/velvet/VelvetFeatureModelFormat.java | 1673 +---- .../fm/core/io/velvet/VelvetLexer.interp | 193 + .../fm/core/io/velvet/VelvetLexer.java | 2852 ++------ .../fm/core/io/velvet/VelvetLexer.tokens | 105 + .../fm/core/io/velvet/VelvetListener.java | 323 + .../fm/core/io/velvet/VelvetParser.java | 5789 ++++++----------- .../fm/core/io/velvet/VelvetVisitor.java | 202 + .../fm/core/io/velvet/VelvetVisitorImpl.java | 42 + 25 files changed, 5145 insertions(+), 8584 deletions(-) create mode 100644 experimental/de.ovgu.featureide.ui.ahead/.gitignore delete mode 100644 plugins/de.ovgu.featureide.fm.core/Velvet.g create mode 100644 plugins/de.ovgu.featureide.fm.core/Velvet.g4 create mode 100644 plugins/de.ovgu.featureide.fm.core/lib/ST-4.3.4.jar delete mode 100644 plugins/de.ovgu.featureide.fm.core/lib/antlr-3.4.jar create mode 100644 plugins/de.ovgu.featureide.fm.core/lib/antlr4-runtime-4.13.2.jar create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.interp create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.tokens create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java diff --git a/experimental/de.ovgu.featureide.fm.extended.ui/.classpath b/experimental/de.ovgu.featureide.fm.extended.ui/.classpath index cca544780e..1da000f8d6 100644 --- a/experimental/de.ovgu.featureide.fm.extended.ui/.classpath +++ b/experimental/de.ovgu.featureide.fm.extended.ui/.classpath @@ -1,6 +1,6 @@ - + diff --git a/experimental/de.ovgu.featureide.fm.extended.ui/.settings/org.eclipse.jdt.core.prefs b/experimental/de.ovgu.featureide.fm.extended.ui/.settings/org.eclipse.jdt.core.prefs index b98ad066db..3a79233b13 100644 --- a/experimental/de.ovgu.featureide.fm.extended.ui/.settings/org.eclipse.jdt.core.prefs +++ b/experimental/de.ovgu.featureide.fm.extended.ui/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,10 @@ -#Thu Mar 31 17:38:21 CEST 2011 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/experimental/de.ovgu.featureide.fm.extended.ui/META-INF/MANIFEST.MF b/experimental/de.ovgu.featureide.fm.extended.ui/META-INF/MANIFEST.MF index 178aefd215..fbc175e930 100644 --- a/experimental/de.ovgu.featureide.fm.extended.ui/META-INF/MANIFEST.MF +++ b/experimental/de.ovgu.featureide.fm.extended.ui/META-INF/MANIFEST.MF @@ -11,8 +11,6 @@ Require-Bundle: org.eclipse.ui, de.ovgu.featureide.fm.core, de.ovgu.featureide.fm.ui, org.sat4j.core;bundle-version="2.2.0", - org.sat4j.pb;bundle-version="2.2.0", - org.antlr.runtime;bundle-version="3.2.0", - org.junit4;bundle-version="4.5.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 + org.sat4j.pb;bundle-version="2.2.0" +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy diff --git a/experimental/de.ovgu.featureide.ui.ahead/.gitignore b/experimental/de.ovgu.featureide.ui.ahead/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/experimental/de.ovgu.featureide.ui.ahead/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/de.ovgu.featureide.fm.core/.classpath b/plugins/de.ovgu.featureide.fm.core/.classpath index d59650ae4c..553596da59 100644 --- a/plugins/de.ovgu.featureide.fm.core/.classpath +++ b/plugins/de.ovgu.featureide.fm.core/.classpath @@ -1,9 +1,10 @@ + + - diff --git a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF index 42fb96e98e..abe0516214 100644 --- a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF @@ -7,18 +7,18 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.resources, org.eclipse.swt Bundle-ClassPath: ., - lib/antlr-3.4.jar, lib/org.sat4j.core.jar, lib/org.sat4j.pb.jar, lib/splar.jar, lib/SPLCAT.jar, lib/commons-math-2.2.jar, - lib/uvl-parser.jar + lib/uvl-parser.jar, + lib/antlr4-runtime-4.13.2.jar, + lib/ST-4.3.4.jar Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Activator: de.ovgu.featureide.fm.core.FMCorePlugin Bundle-Vendor: University of Magdeburg -Export-Package: de.vill.model, - de.ovgu.featureide.fm.core, +Export-Package: de.ovgu.featureide.fm.core, de.ovgu.featureide.fm.core.analysis, de.ovgu.featureide.fm.core.analysis.cnf, de.ovgu.featureide.fm.core.analysis.cnf.analysis, @@ -87,22 +87,16 @@ Export-Package: de.vill.model, de.ovgu.featureide.fm.core.job.util, de.ovgu.featureide.fm.core.localization, de.ovgu.featureide.fm.core.preferences, + de.vill.model, no.sintef.ict.splcatool, org.antlr, - org.antlr.analysis, - org.antlr.codegen, - org.antlr.grammar.v3, - org.antlr.gunit, - org.antlr.gunit.swingui, - org.antlr.gunit.swingui.model, - org.antlr.gunit.swingui.parsers, - org.antlr.gunit.swingui.runner, - org.antlr.misc, - org.antlr.runtime, - org.antlr.runtime.debug, - org.antlr.runtime.misc, - org.antlr.runtime.tree, - org.antlr.tool, + org.antlr.v4.runtime, + org.antlr.v4.runtime.atn, + org.antlr.v4.runtime.dfa, + org.antlr.v4.runtime.misc, + org.antlr.v4.runtime.tree, + org.antlr.v4.runtime.tree.pattern, + org.antlr.v4.runtime.tree.xpath, org.prop4j, org.prop4j.explain.solvers, org.prop4j.explain.solvers.impl, diff --git a/plugins/de.ovgu.featureide.fm.core/Velvet.g b/plugins/de.ovgu.featureide.fm.core/Velvet.g deleted file mode 100644 index 03b7ef15a6..0000000000 --- a/plugins/de.ovgu.featureide.fm.core/Velvet.g +++ /dev/null @@ -1,299 +0,0 @@ -grammar Velvet; - -options { - ASTLabelType = Tree; - output = AST; -} - -tokens { - IMPORT ='import'; - - MANDATORY ='mandatory'; - ABSTRACT ='abstract'; - SOMEOF ='someOf'; - ONEOF ='oneOf'; - CONCEPT ='concept'; - CINTERFACE ='cinterface'; - CONSTRAINT ='constraint'; - FEATURE ='feature'; - USE ='use'; - IMPORTINSTANCE ='instance'; - IMPORTINTERFACE ='interface'; - DESCRIPTION ='description'; - - VAR_INT ='int'; - VAR_FLOAT ='float'; - VAR_STRING ='string'; - VAR_BOOL ='bool'; - - SEMI =';'; - START_C ='{'; - END_C ='}'; - START_R ='('; - END_R =')'; - EQ ='='; - COMMA =','; - COLON =':'; - PLUS ='+'; - MINUS ='-'; - - OP_NOT ='!'; - OP_AND ='&&'; - OP_OR ='||'; - OP_XOR ='xor'; - OP_IMPLIES ='->'; - OP_EQUIVALENT ='<->'; - - ATTR_OP_EQUALS ='=='; - ATTR_OP_NOT_EQUALS ='!='; - ATTR_OP_GREATER ='>'; - ATTR_OP_LESS ='<'; - ATTR_OP_GREATER_EQ ='>='; - ATTR_OP_LESS_EQ ='<='; - - EMPTY; - CONSTR; - ACONSTR; - BASEEXT; - DEF; - GROUP; - ATTR; - UNARYOP; - OPERAND; -} - -@lexer::header {package de.ovgu.featureide.fm.core.io.velvet;} -@header { -package de.ovgu.featureide.fm.core.io.velvet; - -import de.ovgu.featureide.fm.core.FMCorePlugin;} - -@members { -@Override -public void emitErrorMessage(String msg) { - FMCorePlugin.getDefault().logError(new Exception(msg)); -} -@Override -public void reportError(RecognitionException e) { - throw new InternalSyntaxException(e); -} - -public class InternalSyntaxException extends RuntimeException{ - private final RecognitionException e; - public InternalSyntaxException(RecognitionException e){ - this.e = e; - } - - public RecognitionException getException(){ - return e; - } -} -} - -velvetModel - : imp? (concept|cinterface) EOF - ; - -imp - : (IMPORT name SEMI)+ - -> ^(IMPORT name+) - ; - -concept - : CONCEPT ID - (COLON conceptBaseExt)? (instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | instanceImports)? - definitions? - -> ^(CONCEPT ID conceptBaseExt? instanceImports? interfaceImports? definitions?) - ; - -cinterface : CINTERFACE ID (COLON conceptBaseExt)? definitions - -> ^(CINTERFACE ID conceptBaseExt? definitions) - ; - -conceptBaseExt - : ID (COMMA ID)* - -> ^(BASEEXT ID+) - ; - -instanceImports - : IMPORTINSTANCE ID name (COMMA ID name)* - -> ^(IMPORTINSTANCE (ID name)+) - ; - -interfaceImports - : IMPORTINTERFACE ID name (COMMA ID name)* - -> ^(IMPORTINTERFACE (ID name)+) - ; - -name: ID - | IDPath - ; - -definitions - : START_C definition END_C - -> ^(DEF definition? EMPTY) - ; - -definition - : nonFeatureDefinition* ( - (featureGroup nonFeatureDefinition*) | (feature (feature | nonFeatureDefinition)*) - )? - ; - -nonFeatureDefinition - : constraint - | use - | attribute - | description - ; - -use : USE name SEMI - -> ^(USE name) - ; - -feature - : (MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT)? - FEATURE name (definitions | SEMI) - -> ^(FEATURE name MANDATORY? ABSTRACT? definitions?) - ; - -featureGroup - : groupType START_C feature+ END_C - -> ^(GROUP groupType feature+) - ; - -groupType - : SOMEOF - | ONEOF - ; - -description - : DESCRIPTION STRING SEMI - -> ^(DESCRIPTION STRING) - ; - -constraint - : CONSTRAINT^ (ID EQ!)? (constraintDefinition | attributeConstraint) SEMI! - ; - -constraintDefinition - : constraintOperand (binaryOp constraintOperand)* - -> ^(CONSTR constraintOperand+ binaryOp*) - ; - -constraintOperand : unaryOp* (START_R constraintDefinition END_R | name ) - -> constraintDefinition? ^(UNARYOP unaryOp)* ^(OPERAND name)? - ; - -attribute - : (intAttribute | floatAttribute | stringAttribute | boolAttribute) SEMI - -> ^(ATTR intAttribute? floatAttribute? stringAttribute? boolAttribute?) - ; - -attributeConstraint - : attribConstraint - -> ^(ACONSTR attribConstraint) - ; - -attribConstraint - : attribNumInstance (attribOperator attribNumInstance)* - attribRelation - attribNumInstance (attribOperator attribNumInstance)* - ; - -attribOperator - : PLUS - | MINUS - ; - -attribNumInstance - : INT -// | FLOAT - | name - ; - -intAttribute: VAR_INT! name (EQ! INT)?; -floatAttribute: VAR_FLOAT! name (EQ! FLOAT)?; -stringAttribute: VAR_STRING! name (EQ! STRING)?; -boolAttribute: VAR_BOOL! name (EQ! BOOLEAN)?; - -unaryOp - : OP_NOT - ; - -binaryOp - : OP_AND - | OP_OR - | OP_XOR - | OP_IMPLIES - | OP_EQUIVALENT - ; - -attribRelation - : ATTR_OP_EQUALS -// | ATTR_OP_NOT_EQUALS -// | ATTR_OP_GREATER -// | ATTR_OP_LESS - | ATTR_OP_GREATER_EQ - | ATTR_OP_LESS_EQ - ; - -BOOLEAN : 'true' - | 'false' - ; - -ID : ('a'..'z'|'A'..'Z'|'_'|'-') ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'-')* - ; - -IDPath : ID ('.' ID)+ - ; - -INT : '0'..'9'+ - ; - -FLOAT - : ('0'..'9')+ '.' ('0'..'9')* EXPONENT? - | '.' ('0'..'9')+ EXPONENT? - | ('0'..'9')+ EXPONENT - ; - -STRING - : '"' ( ESC_SEQ | ~('\\'|'"') )* '"' - ; - -fragment -EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ; - -fragment -HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ; - -fragment -ESC_SEQ - : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') - | UNICODE_ESC - | OCTAL_ESC - ; - -fragment -OCTAL_ESC - : '\\' ('0'..'3') ('0'..'7') ('0'..'7') - | '\\' ('0'..'7') ('0'..'7') - | '\\' ('0'..'7') - ; - -fragment -UNICODE_ESC - : '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - ; - -WS : ( ' ' - | '\t' - | '\r' - | '\n' - ) {$channel=HIDDEN;} - ; - -SL_COMMENT : ('//' ~('\r'|'\n')*) {skip();}; - -ML_COMMENT : ('/*' ~('*/')*) {skip();}; - diff --git a/plugins/de.ovgu.featureide.fm.core/Velvet.g4 b/plugins/de.ovgu.featureide.fm.core/Velvet.g4 new file mode 100644 index 0000000000..37f805256a --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/Velvet.g4 @@ -0,0 +1,258 @@ +grammar Velvet; + +@header { +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.FMCorePlugin;} + +@members { +public class InternalSyntaxException extends RuntimeException{ + private final RecognitionException e; + public InternalSyntaxException(RecognitionException e){ + this.e = e; + } + + public RecognitionException getException(){ + return e; + } +} +} + +IMPORT :'import'; + +MANDATORY :'mandatory'; +ABSTRACT :'abstract'; +SOMEOF :'someOf'; +ONEOF :'oneOf'; +CONCEPT :'concept'; +CINTERFACE :'cinterface'; +CONSTRAINT :'constraint'; +FEATURE :'feature'; +USE :'use'; +IMPORTINSTANCE :'instance'; +IMPORTINTERFACE :'interface'; +DESCRIPTION :'description'; + +VAR_INT :'int'; +VAR_FLOAT :'float'; +VAR_STRING :'string'; +VAR_BOOL :'bool'; + +SEMI :';'; +START_C :'{'; +END_C :'}'; +START_R :'('; +END_R :')'; +EQ :'='; +COMMA :','; +COLON :':'; +PLUS :'+'; +MINUS :'-'; + +OP_NOT :'!'; +OP_AND :'&&'; +OP_OR :'||'; +OP_XOR :'xor'; +OP_IMPLIES :'->'; +OP_EQUIVALENT :'<->'; + +ATTR_OP_EQUALS :'=='; +ATTR_OP_NOT_EQUALS :'!='; +ATTR_OP_GREATER :'>'; +ATTR_OP_LESS :'<'; +ATTR_OP_GREATER_EQ :'>='; +ATTR_OP_LESS_EQ :'<='; + +EMPTY : 'EMPTY'; +CONSTR : 'CONSTR'; +ACONSTR : 'ACONSTR'; +BASEEXT : 'BASEEXT'; +DEF : 'DEF'; +GROUP : 'GROUP'; +ATTR : 'ATTR'; +UNARYOP : 'UNARYOP'; +OPERAND : 'OPERAND'; + +velvetModel + : imp? (concept|cinterface) EOF + ; + +imp + : (IMPORT name SEMI)+; + +concept + : CONCEPT ID + (COLON conceptBaseExt)? (instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | instanceImports)? + definitions?; + +cinterface : CINTERFACE ID (COLON conceptBaseExt)? definitions; + +conceptBaseExt + : ID (COMMA ID)*; + +instanceImports + : IMPORTINSTANCE ID name (COMMA ID name)*; + +interfaceImports + : IMPORTINTERFACE ID name (COMMA ID name)*; + +name: ID + | IDPath + ; + +definitions + : START_C definition END_C + ; + +definition + : nonFeatureDefinition* ( + (featureGroup nonFeatureDefinition*) | (feature (feature | nonFeatureDefinition)*) + )? + ; + +nonFeatureDefinition + : constraint + | use + | attribute + | description + ; + +use : USE name SEMI + ; + +feature + : (MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT)? + FEATURE name (definitions | SEMI) + ; + +featureGroup + : groupType START_C feature+ END_C + ; + +groupType + : SOMEOF + | ONEOF + ; + +description + : DESCRIPTION STRING SEMI + ; + +constraint + : CONSTRAINT (ID EQ) (constraintDefinition | attributeConstraint) SEMI + ; + +constraintDefinition + : constraintOperand (binaryOp constraintOperand)* + ; + +constraintOperand : unaryOp* (START_R constraintDefinition END_R | name ) + ; + +attribute + : (intAttribute | floatAttribute | stringAttribute | boolAttribute) SEMI + ; + +attributeConstraint + : attribConstraint + ; + +attribConstraint + : attribNumInstance (attribOperator attribNumInstance)* + attribRelation + attribNumInstance (attribOperator attribNumInstance)* + ; + +attribOperator + : PLUS + | MINUS + ; + +attribNumInstance + : INT +// | FLOAT + | name + ; + +intAttribute: VAR_INT name (EQ INT)?; +floatAttribute: VAR_FLOAT name (EQ FLOAT)?; +stringAttribute: VAR_STRING name (EQ STRING)?; +boolAttribute: VAR_BOOL name (EQ BOOLEAN)?; + +unaryOp + : OP_NOT + ; + +binaryOp + : OP_AND + | OP_OR + | OP_XOR + | OP_IMPLIES + | OP_EQUIVALENT + ; + +attribRelation + : ATTR_OP_EQUALS +// | ATTR_OP_NOT_EQUALS +// | ATTR_OP_GREATER +// | ATTR_OP_LESS + | ATTR_OP_GREATER_EQ + | ATTR_OP_LESS_EQ + ; + +BOOLEAN : 'true' + | 'false' + ; + +ID : ('a'..'z'|'A'..'Z'|'_'|'-') ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'-')* + ; + +IDPath : ID ('.' ID)+ + ; + +INT : '0'..'9'+ + ; + +FLOAT + : ('0'..'9')+ '.' ('0'..'9')* EXPONENT? + | '.' ('0'..'9')+ EXPONENT? + | ('0'..'9')+ EXPONENT + ; + +STRING + : '"' (ESC_SEQ | ~["\\])* '"' + ; + +fragment +EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ; + +fragment HEX_DIGIT + : [0-9a-fA-F] + ; + +fragment ESC_SEQ + : '\\' ('b' | 't' | 'n' | 'f' | 'r' | '\\"' | '\'' | '\\') + | UNICODE_ESC + | OCTAL_ESC + ; + +fragment OCTAL_ESC + : '\\' ('0'..'3') ('0'..'7') ('0'..'7')? + | '\\' ('0'..'7') ('0'..'7')? + | '\\' ('0'..'7') + ; + +fragment UNICODE_ESC + : '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT + ; + +WS : [ \t\r\n]+ -> skip ; + +SL_COMMENT + : '//' ~[\r\n]* -> skip + ; + +ML_COMMENT + : '/*' .*? '*/' -> skip + ; + diff --git a/plugins/de.ovgu.featureide.fm.core/build.properties b/plugins/de.ovgu.featureide.fm.core/build.properties index 60f15f8114..39031d0210 100644 --- a/plugins/de.ovgu.featureide.fm.core/build.properties +++ b/plugins/de.ovgu.featureide.fm.core/build.properties @@ -5,5 +5,7 @@ bin.includes = META-INF/,\ src/,\ schema/,\ lib/,\ - plugin.xml + plugin.xml,\ + lib/antlr4-runtime-4.13.2.jar,\ + lib/ST-4.3.4.jar bin.excludes = lib/cover.exe diff --git a/plugins/de.ovgu.featureide.fm.core/lib/ST-4.3.4.jar b/plugins/de.ovgu.featureide.fm.core/lib/ST-4.3.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..21a2f61f88852edcb6f55bfeeda17741582845cf GIT binary patch literal 251081 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�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�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%0ANAe{L4T=bK5XjR%Kd~@gg+Zd9Q;2dPV*5~n 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

%*JvzXv~P)BNF2muJGC)Oz;85d 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�V!!*t0~0=yXbfcR>*#q44r% zf~qYr5$@H@>c#P*S=yO+5k#-D7p)O{5(j+mlRf>SvRAx+h;$iPPLc00KYs9G{!bzu z_WvCh{+CF{_Fo!Z!t6h46NA2TX)KZ#1wcXMfGApMM)Gn9@xvlXrNS`RcLHzp&B%;w zIoBn@k+*wGLg99(Qt*Z8B9?g)ZYJg+LP1vzO{Oy(9^a-XQa5$FyT5+W`+Fe%9

K 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�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

Eny5tgg8DU+VI*!t_GsUa1;l&{7l^nKf`noAv4T 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

Q(IbE7VHcAJQo25g^L((Gh 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�eJ)F!+wV0c@DWNf(mnX%`ky(ZJhF($tIK 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 z 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 z
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%0AwYuyQar_=8=jHPAM1lbK^ET$9l1SknJd83Sn3S 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Ф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�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\dL}4Vf^iQ5G z)7dH4nEr(Ehz+aG{+)gQkZX|y_xUYIBuD&c!mCirS@m`ETYG=m7G~(ysUCzkPcl*rhXS|JpygA8$7Z9q&{c!QuIx)chkntbd<#WgRpm`qa-Cq%N z>g9Oh{Ll#r80qDFaf`qB2=5Qr6*Ncl7u#ez<@eqx@OY66`63ISw&#%&i7Qm}^kTwX zGe&vH7rzTATtPl-oY!LW2kh5=_=S8?oaeHURN;N3uU^<$eNHPdPtC*!YgYJhLF0ZP zDUA!h8bE#lp0Pg=za-)ZwEWg~Jzn`k;JlLiZyrkK)TL_!f8}S9p><199aJGw65xFV zT^@)EL@^-728%!q_!b^YNqp)pr~9~vaAm&P*|}qvyrh?CYC@_ z86wjOlk2fNoS+X^77QwrY|p<^e-Fz*pwOd zh%sCtvBmIWC@651lVL8ZUiVJ3B8qo4#)A4{ZM_++@zs2Ti5I?0?f*3+$Mrkmtit_sN`jAXb$9BH9K&Y4h6 zbYF?RbEL}gFHLepelGpgO?+W0rNj=(phTQ)p_{uLsY!CKLThSY-zVEZX9hGl1v@`b_S{BsOl4ykUH^xzc;YaH7>;7)6+OC61aFow8$?A zpN4UL-S9;b+@(oNr%xbc?>tglV`TlMEIQfl%*{))2n>H+j!W#0T(HmpJTB0S+|74NK>exK{scEoeEY z4KcM?<8~#5LL;Lo-B5)Ob{Tgus&?bK1f!One7e?NQ4}r*-bHC{kL11uj~qc&ESEWMT^^9Pvlpd>!$XfHE~Qc!cSw7A@P#%$by z{8zElbORl_*)kbs%DYMaPJWZ8N&3*j>F@-9KsOGK{7FR0Gt^VoNi!9iB(gA zGa;#jTU0Tb2j|iCzzIIC(8X}D*o75tu7cAercOx{fKbIa}96!J>A!W1f85r}6(EqDWd0`z`=2-=4X&pr>Pu?tFJJOy}hM;IAUwu8t zKiz35A2nD!Qu&7gX;Yg2jWByzJNabJW8v|b)|JT@Vt(2(4E~-Vpk~X}G{^i}*&J=k zp`g-I?sV5OTWq2-b{f15*NU*ZMA~}bRGTMny)vHXRP`K~0n$7VaSA~tx#h~dPJ1fS z5l;eQiXIp(+{#}ki{7y*!Z>GE?k2c=4tAPXQci`GPOD+kamr(K0|w(m zq`14N>M*(uh59UDxbe;-`A=_1i_T#+HNCqx;?vg|f8f4Dp7RvQ!(Y9?%EMo^;F9?Y zI`tAco+a4F28X!=6>@S0WeG7hA*BKj*VSpYTo>n2SqU~CB$h5Ss}DP=3t8T!d$pEa z+_#OffOICoF@ei>q{AS~@|pxrT8`Vr6UD_T{9*D2!;vC?DMk5d47s0FGxMnOrUj{0 zR@V5g{Yy(fkd8E}yaa70C+S6eJwK?8D)*%&7RcEDCpyyrSOFgOuV}!Z=lA1knm(gV zsZ%zqkW1B@)wVj#^M3K;Nyag-vI{9)1|C>BfJf<|;+8|x3nM@uElB-Se&EkNMhJqht(x#R~h zOaEN=>;Jhb=bSTj>hBMZozevdAkOdO-$xhc&wEgTNVN>4U6*KY$Zb@DU*$R$l|py5Zf! z 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

-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∓jxH#T+D*Wcs#rdH)k%%Q+?!Oek6hi`@$Z)?1d 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 literal 0 HcmV?d00001 diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java index 1089078e9b..bd3e6b13bd 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java @@ -1,5 +1,7 @@ /* FeatureIDE - A Framework for Feature-Oriented Software Development * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany + * 2025 Malte Grave, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz + * * This file is part of FeatureIDE. * @@ -20,55 +22,7 @@ */ package de.ovgu.featureide.fm.core.io.velvet; -import static de.ovgu.featureide.fm.core.localization.StringTable.IN_FILE; -import static de.ovgu.featureide.fm.core.localization.StringTable.NO_SUCH_ATTRIBUTE_DEFINED_; -import static java.lang.String.format; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.nio.file.Path; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.ListIterator; - -import org.antlr.runtime.ANTLRInputStream; -import org.antlr.runtime.CommonTokenStream; -import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.tree.CommonErrorNode; -import org.antlr.runtime.tree.Tree; -import org.prop4j.And; -import org.prop4j.Choose; -import org.prop4j.Equals; -import org.prop4j.Implies; -import org.prop4j.Literal; -import org.prop4j.Node; -import org.prop4j.Not; -import org.prop4j.Or; - -import de.ovgu.featureide.fm.core.Logger; -import de.ovgu.featureide.fm.core.PluginID; -import de.ovgu.featureide.fm.core.base.IConstraint; -import de.ovgu.featureide.fm.core.base.IFeature; -import de.ovgu.featureide.fm.core.base.IFeatureModel; -import de.ovgu.featureide.fm.core.base.IFeatureStructure; -import de.ovgu.featureide.fm.core.base.impl.FMFactoryManager; -import de.ovgu.featureide.fm.core.base.impl.MultiConstraint; -import de.ovgu.featureide.fm.core.base.impl.MultiFeature; -import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; -import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModelFactory; -import de.ovgu.featureide.fm.core.constraint.Equation; -import de.ovgu.featureide.fm.core.constraint.FeatureAttribute; -import de.ovgu.featureide.fm.core.constraint.Reference; -import de.ovgu.featureide.fm.core.constraint.ReferenceType; -import de.ovgu.featureide.fm.core.constraint.RelationOperator; -import de.ovgu.featureide.fm.core.constraint.WeightedTerm; import de.ovgu.featureide.fm.core.io.AFeatureModelFormat; -import de.ovgu.featureide.fm.core.io.Problem; -import de.ovgu.featureide.fm.core.io.ProblemList; -import de.ovgu.featureide.fm.core.io.UnsupportedModelException; /** * Reads / Writes feature models in the Velvet format. @@ -76,733 +30,182 @@ * @author Sebastian Krieter * @author Matthias Strauss * @author Reimar Schroeter + * @author Malte Grave */ public class SimpleVelvetFeatureModelFormat extends AFeatureModelFormat { - public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + SimpleVelvetFeatureModelFormat.class.getSimpleName(); - - protected Path featureModelFile; - protected ProblemList problemList; - - private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; - private static final String NEWLINE = System.getProperty("line.separator", "\n"); - private final StringBuilder sb = new StringBuilder(); - - public SimpleVelvetFeatureModelFormat() { - super(); - } - - public SimpleVelvetFeatureModelFormat(AFeatureModelFormat oldFormat) { - super(oldFormat); - } - - @Override - public boolean supportsRead() { - return true; - } - - @Override - public boolean supportsWrite() { - return true; - } - - @Override - public String write(IFeatureModel object) { - if (object instanceof MultiFeatureModel) { - extFeatureModel = (MultiFeatureModel) object; - } - final IFeatureStructure root = object.getStructure().getRoot(); - sb.delete(0, sb.length()); - - sb.append("concept "); - - sb.append(root.getFeature().getName()); - sb.append(" {"); - sb.append(NEWLINE); - - if (extFeatureModel != null) { - for (final IFeatureStructure child : root.getChildren()) { - writeNewDefined(child, 1); - } - - for (final IConstraint constraint : object.getConstraints()) { - if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { - sb.append("\tconstraint "); - sb.append(constraint.getNode().toString(SYMBOLS)); - sb.append(";"); - sb.append(NEWLINE); - } - } - } else { - writeFeatureGroup(root, 1); - - for (final IConstraint constraint : object.getConstraints()) { - sb.append("\tconstraint "); - sb.append(constraint.getNode().toString(SYMBOLS)); - sb.append(";"); - sb.append(NEWLINE); - } - } - - sb.append("}"); - - return sb.toString(); - } - - private void writeFeatureGroup(IFeatureStructure root, int depth) { - if (root.isAnd()) { - for (final IFeatureStructure feature : root.getChildren()) { - writeFeature(feature, depth + 1); - } - } else if (root.isOr()) { - writeTab(depth + 1); - sb.append("someOf {"); - sb.append(NEWLINE); - for (final IFeatureStructure feature : root.getChildren()) { - writeFeature(feature, depth + 2); - } - writeTab(depth + 1); - sb.append("}"); - sb.append(NEWLINE); - } else if (root.isAlternative()) { - writeTab(depth + 1); - sb.append("oneOf {"); - sb.append(NEWLINE); - for (final IFeatureStructure f : root.getChildren()) { - writeFeature(f, depth + 2); - } - writeTab(depth + 1); - sb.append("}"); - sb.append(NEWLINE); - } - } - - private void writeFeature(IFeatureStructure feature, int depth) { - writeTab(depth); - if (feature.isAbstract()) { - sb.append("abstract "); - } - if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { - sb.append("mandatory "); - } - sb.append("feature "); - sb.append(feature.getFeature().getName()); - final String description = feature.getFeature().getProperty().getDescription(); - final boolean hasDescription = (description != null) && !description.isEmpty(); - - if ((feature.getChildrenCount() == 0) && !hasDescription) { - sb.append(";"); - } else { - sb.append(" {"); - sb.append(NEWLINE); - if (hasDescription) { - writeTab(depth + 1); - sb.append("description \""); - sb.append(description.replace("\"", "\\\"")); - sb.append("\";"); - sb.append(NEWLINE); - } - - writeFeatureGroup(feature, depth); - - writeTab(depth); - sb.append("}"); - } - sb.append(NEWLINE); - } - - private void writeNewDefined(IFeatureStructure child2, int depth) { - writeFeature(child2, 1); - for (final IFeatureStructure child : child2.getChildren()) { - writeNewDefined(child, depth); - } - } - - private void writeTab(int times) { - for (int i = 0; i < times; i++) { - sb.append('\t'); - } - } - + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.IFeatureModelFormat#getName() + */ @Override - public ProblemList read(IFeatureModel object, CharSequence source) { - problemList = new ProblemList(); - factory = MultiFeatureModelFactory.getInstance(); - extFeatureModel = (MultiFeatureModel) object; - if (extFeatureModel != null) { - featureModelFile = extFeatureModel.getSourceFile(); - } - - final ByteArrayInputStream inputstr = new ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); - try { - parseInputStream(inputstr); - } catch (final UnsupportedModelException e) { - problemList.add(new Problem(e, e.lineNumber)); - } - return problemList; - } - - private static class ConstraintNode { - - private final Node computedNode; - private final Tree rawNode; - - public ConstraintNode(Node computedNode, Tree rawNode) { - this.computedNode = computedNode; - this.rawNode = rawNode; - } - } - - private static final int[] binaryOperators = - { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, VelvetParser.OP_EQUIVALENT }; - - private final LinkedList atrributeConstraintNodes = new LinkedList<>(); - private final LinkedList parentStack = new LinkedList<>(); - private final LinkedList constraintNodeList = new LinkedList<>(); - private final HashSet usedVariables = new HashSet<>(); - - private final boolean velvetImport = false; - - private MultiFeatureModel extFeatureModel; - private String extFeatureModelName; - - private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference reference) { - boolean positive = weight >= 0; - if (rightSide ^ minus) { - positive = !positive; - } - return new WeightedTerm(Math.abs(weight), positive, reference); - } - - private static LinkedList getChildren(final Tree root) { - final LinkedList children = new LinkedList<>(); - - final int childCount = root.getChildCount(); - for (int i = 0; i < childCount; i++) { - children.add(root.getChild(i)); - } - return children; - } - - protected synchronized void parseInputStream(final InputStream inputStream) throws UnsupportedModelException { - ANTLRInputStream antlrInputStream = null; - try { - antlrInputStream = new ANTLRInputStream(inputStream); - } catch (final IOException e) { - Logger.logError(e); - throw new UnsupportedModelException("Error while reading model!", 0); - } - final VelvetParser parser = new VelvetParser(new CommonTokenStream(new VelvetLexer(antlrInputStream))); - Tree root = null; - try { - root = (Tree) parser.velvetModel().getTree(); - if (root == null) { - throw new UnsupportedModelException("Error while parsing model!", 0); - } - - init(); - - checkTree(root); - parseModel(root); - parseAttributeConstraints(); - } catch (final RecognitionException e) { - Logger.logError(e); - final UnsupportedModelException unsupportedModelException = new UnsupportedModelException(e.getMessage(), e.line); - unsupportedModelException.addSuppressed(e); - throw unsupportedModelException; - } - } - - private MultiFeature addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean isAbstract, - final boolean isHidden) { - final MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); - newFeature.getStructure().setMandatory(isMandatory); - newFeature.getStructure().setAbstract(isAbstract); - newFeature.getStructure().setHidden(isHidden); - - final IFeature orgFeature = extFeatureModel.getFeature(featureName); - if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { - return (MultiFeature) orgFeature; - } else { - extFeatureModel.addFeature(newFeature); - parent.getStructure().addChild(newFeature.getStructure()); - newFeature.setNewDefined(true); - return newFeature; - } - } - - private String checkNode(Node curNode) { - if (curNode instanceof Literal) { - final Literal literal = (Literal) curNode; - final String varString = literal.var.toString(); - if (extFeatureModel.getFeature(varString) == null) { - return literal.var.toString(); - } - } else { - for (final Node child : curNode.getChildren()) { - final String childRet = checkNode(child); - if (childRet != null) { - return childRet; - } - } - } + public String getName() { + // TODO Auto-generated method stub return null; } - /** - * Initializes all variables. + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.IPersistentFormat#getSuffix() */ - private void init() { - atrributeConstraintNodes.clear(); - parentStack.clear(); - constraintNodeList.clear(); - usedVariables.clear(); - - extFeatureModel.reset(); - - extFeatureModelName = null; - extFeatureModel.setInterface(false); - } - - private void parseAttribute(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - final String name = checkTree(nodeList.poll()).getText(); - final Tree valueNode = nodeList.poll(); - - switch (valueNode.getType()) { - case VelvetParser.FLOAT: - break; - case VelvetParser.INT: - extFeatureModel.addAttribute(parent.getName(), name, Integer.parseInt(valueNode.getText())); - break; - case VelvetParser.BOOLEAN: - extFeatureModel.addAttribute(parent.getName(), name, Boolean.parseBoolean(valueNode.getText())); - break; - case VelvetParser.STRING: - final String valueNodeText = valueNode.getText(); - extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - 1)); - break; - default: - reportSyntaxError(valueNode); - } - } - - private void parseAttributeConstraints() throws UnsupportedModelException, RecognitionException { - while (!atrributeConstraintNodes.isEmpty()) { - final LinkedList nodeList = getChildren(atrributeConstraintNodes.poll()); - - final LinkedList weightedTerms = new LinkedList<>(); - RelationOperator relationOperator = null; - boolean minus = false; - int degree = 0; - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - case VelvetParser.IDPath: - final String attributeName = curNode.getText(); - - final Collection> attributes = extFeatureModel.getIntegerAttributes().getAttributes(attributeName); - - if (attributes == null) { - throw new UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, - curNode.getLine()); - } - - for (final FeatureAttribute attr : attributes) { - weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, - new Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); - } - - break; - // case VelvetParser.FLOAT: - // break; - case VelvetParser.INT: - final int value = Integer.parseInt(curNode.getText()); - if ((relationOperator == null) ^ minus) { - degree -= value; - } else { - degree += value; - } - break; - case VelvetParser.PLUS: - minus = false; - break; - case VelvetParser.MINUS: - minus = true; - break; - case VelvetParser.ATTR_OP_EQUALS: - relationOperator = RelationOperator.EQUAL; - break; - case VelvetParser.ATTR_OP_NOT_EQUALS: - relationOperator = RelationOperator.NOT_EQUAL; - break; - case VelvetParser.ATTR_OP_GREATER: - relationOperator = RelationOperator.GREATER; - break; - case VelvetParser.ATTR_OP_GREATER_EQ: - relationOperator = RelationOperator.GREATER_EQUAL; - break; - case VelvetParser.ATTR_OP_LESS: - relationOperator = RelationOperator.LESS; - break; - case VelvetParser.ATTR_OP_LESS_EQ: - relationOperator = RelationOperator.LESS_EQUAL; - break; - default: - reportSyntaxError(curNode); - } - } - final Equation equation = new Equation(weightedTerms, relationOperator, degree); - extFeatureModel.addAttributeConstraint(equation); - } - } - - private void parseConcept(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - extFeatureModelName = checkTree(curNode).getText(); - - final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); - rootFeature.getStructure().setAbstract(true); - rootFeature.getStructure().setMandatory(true); - - extFeatureModel.addFeature(rootFeature); - extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); - parentStack.push(rootFeature); - - break; - case VelvetParser.BASEEXT: - reportWarning(curNode, "Inheritance are not supported."); - break; - case VelvetParser.IMPORTINSTANCE: - reportWarning(curNode, "Instances are not supported."); - break; - case VelvetParser.IMPORTINTERFACE: - reportWarning(curNode, "Interfaces are not supported."); - break; - case VelvetParser.DEF: - parseDefinitions(curNode); - break; - default: - reportSyntaxError(curNode); - } - } - - for (final ConstraintNode constraintNode : constraintNodeList) { - final String nameError = checkNode(constraintNode.computedNode); - if (nameError == null) { - extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); - } else { - reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); - } - } - } - - private void parseConstraint(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - // name = curNode.getText(); - break; - case VelvetParser.CONSTR: - Node newNode = parseConstraint_rec(curNode); - newNode = new Implies(new Literal(parent.getName()), newNode); - constraintNodeList.add(new ConstraintNode(newNode, curNode)); - break; - case VelvetParser.ACONSTR: - atrributeConstraintNodes.add(curNode); - break; - default: - reportSyntaxError(curNode); - } - } - } - - private Node parseConstraint_rec(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - final LinkedList nodes = new LinkedList<>(); - final LinkedList operators = new LinkedList<>(); - final LinkedList unaryOp = new LinkedList<>(); - Node n = null; - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.UNARYOP: - unaryOp.push(curNode.getChild(0).getType()); - break; - case VelvetParser.CONSTR: - n = parseConstraint_rec(curNode); - break; - case VelvetParser.OPERAND: - n = new Literal(curNode.getChild(0).getText()); - break; - default: - operators.add(curNode.getType()); - } - - if (n != null) { - while (!unaryOp.isEmpty()) { - switch (unaryOp.pop()) { - case VelvetParser.OP_NOT: - n = new Not(n); - } - } - nodes.add(n); - n = null; - } - } - if (!operators.isEmpty()) { - for (final int operator : binaryOperators) { - final ListIterator nodesIt = nodes.listIterator(); - for (final ListIterator opIt = operators.listIterator(); opIt.hasNext();) { - final Node operand1 = nodesIt.next(); - if (opIt.next() == operator) { - opIt.remove(); - nodesIt.remove(); - final Node operand2 = nodesIt.next(); - switch (operator) { - case VelvetParser.OP_AND: - nodesIt.set(new And(operand1, operand2)); - break; - case VelvetParser.OP_OR: - nodesIt.set(new Or(operand1, operand2)); - break; - case VelvetParser.OP_XOR: - nodesIt.set(new Choose(1, operand1, operand2)); - break; - case VelvetParser.OP_IMPLIES: - nodesIt.set(new Implies(operand1, operand2)); - break; - case VelvetParser.OP_EQUIVALENT: - nodesIt.set(new Equals(operand1, operand2)); - break; - } - nodesIt.previous(); - } - } - } - } - if (nodes.isEmpty()) { - return null; - } - - return nodes.getFirst(); - } - - private void parseDefinitions(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - final IFeature parentFeature = parentStack.pop(); - parentFeature.getStructure().setAnd(); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - // Feature - case VelvetParser.FEATURE: - parseFeature(curNode, parentFeature); - break; - // Feature-Group - case VelvetParser.GROUP: - parseFeatureGroup(curNode, parentFeature); - break; - // Constraint - case VelvetParser.CONSTRAINT: - parseConstraint(curNode, parentFeature); - break; - // Use - case VelvetParser.USE: - parseUse(curNode, parentFeature); - break; - // Attribute - case VelvetParser.ATTR: - parseAttribute(curNode, parentFeature); - break; - case VelvetParser.DESCRIPTION: - parseDescription(curNode, parentFeature); - break; - case VelvetParser.EMPTY: - break; - default: - reportSyntaxError(curNode); - } - } - - } - - private void parseDescription(Tree root, IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - final Tree valueNode = nodeList.poll(); - - switch (valueNode.getType()) { - case VelvetParser.STRING: - final String valueNodeText = valueNode.getText(); - parent.getProperty().setDescription(valueNodeText.substring(1, valueNodeText.length() - 1).replace("\\\"", "\"")); - break; - default: - reportSyntaxError(valueNode); - } - } - - private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { - final LinkedList childList = getChildren(root); - final String featureName; - if (extFeatureModel.isInterface()) { - featureName = checkTree(childList.poll()).getText(); - } else { - if (velvetImport || parent.getStructure().isRoot()) { - featureName = checkTree(childList.poll()).getText(); - } else { - featureName = parent.getName() + "." + checkTree(childList.poll()).getText(); - } - } - boolean isMandatory = false, isAbstract = false, moreDefinitions = false; - - Tree childNode = null; - while (!childList.isEmpty() && !moreDefinitions) { - childNode = childList.poll(); - - switch (childNode.getType()) { - case VelvetParser.MANDATORY: - isMandatory = true; - break; - case VelvetParser.ABSTRACT: - isAbstract = true; - break; - case VelvetParser.DEF: - moreDefinitions = true; - break; - default: - reportSyntaxError(childNode); - } - } - - if ((validator != null) && !validator.isValidFeatureName(featureName)) { - problemList.add(new Problem(featureName + " is not a valid feature name", root.getLine(), de.ovgu.featureide.fm.core.io.Problem.Severity.ERROR)); - } - - final MultiFeature newFeature = addFeature(parent, featureName, isMandatory, isAbstract, false); - if (moreDefinitions) { - parentStack.push(newFeature); - parseDefinitions(childNode); - } - } - - private void parseFeatureGroup(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.SOMEOF: - parent.getStructure().setOr(); - break; - case VelvetParser.ONEOF: - parent.getStructure().setAlternative(); - break; - case VelvetParser.FEATURE: - parseFeature(curNode, parent); - break; - default: - reportSyntaxError(curNode); - } - } - } - - private void parseModel(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - switch (curNode.getType()) { - case VelvetParser.CONCEPT: - parseConcept(curNode); - break; - case VelvetParser.CINTERFACE: - extFeatureModel.setInterface(true); - parseConcept(curNode); - break; - case VelvetParser.EOF: - if (curNode.getTokenStartIndex() > -1) { - break; - } - default: - reportSyntaxError(curNode); - } - } - } - - private void parseUse(Tree root, IFeature parent) throws RecognitionException { - reportWarning(root, "USE is not supported."); - } - - private void reportWarning(Tree curNode, String message) { - Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + featureModelFile.getFileName() : "") + ": \"" - + curNode.getText() + "\")"); - } - - private Tree checkTree(Tree root) throws RecognitionException { - if (root instanceof CommonErrorNode) { - throwException(((CommonErrorNode) root).trappedException, root); - } - return root; - } - - private void reportSyntaxError(Tree curNode) throws RecognitionException { - checkTree(curNode); - final RecognitionException ex = new RecognitionException(); - ex.line = 1; - ex.charPositionInLine = 1; - throwException(ex, curNode); - } - - private void throwException(RecognitionException e, Tree curNode) throws RecognitionException { - throw e; - } - @Override public String getSuffix() { - return "velvet"; - } - - @Override - public SimpleVelvetFeatureModelFormat getInstance() { - return new SimpleVelvetFeatureModelFormat(this); + // TODO Auto-generated method stub + return null; } + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.IExtension#getId() + */ @Override public String getId() { - return ID; - } - - @Override - public boolean initExtension() { - if (super.initExtension()) { - FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(SimpleVelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); - return true; - } - return false; - } - - @Override - public String getName() { - return "Simple Velevet"; + // TODO Auto-generated method stub + return null; } + /* + * public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + SimpleVelvetFeatureModelFormat.class.getSimpleName(); protected Path + * featureModelFile; protected ProblemList problemList; private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", + * "atmost" }; private static final String NEWLINE = System.getProperty("line.separator", "\n"); private final StringBuilder sb = new StringBuilder(); + * public SimpleVelvetFeatureModelFormat() { super(); } public SimpleVelvetFeatureModelFormat(AFeatureModelFormat oldFormat) { super(oldFormat); } + * @Override public boolean supportsRead() { return true; } + * @Override public boolean supportsWrite() { return true; } + * @Override public String write(IFeatureModel object) { if (object instanceof MultiFeatureModel) { extFeatureModel = (MultiFeatureModel) object; } final + * IFeatureStructure root = object.getStructure().getRoot(); sb.delete(0, sb.length()); sb.append("concept "); sb.append(root.getFeature().getName()); + * sb.append(" {"); sb.append(NEWLINE); if (extFeatureModel != null) { for (final IFeatureStructure child : root.getChildren()) { writeNewDefined(child, 1); + * } for (final IConstraint constraint : object.getConstraints()) { if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { + * sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); sb.append(";"); sb.append(NEWLINE); } } } else { writeFeatureGroup(root, + * 1); for (final IConstraint constraint : object.getConstraints()) { sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); + * sb.append(";"); sb.append(NEWLINE); } } sb.append("}"); return sb.toString(); } private void writeFeatureGroup(IFeatureStructure root, int depth) { if + * (root.isAnd()) { for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth + 1); } } else if (root.isOr()) { + * writeTab(depth + 1); sb.append("someOf {"); sb.append(NEWLINE); for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth + * + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); } else if (root.isAlternative()) { writeTab(depth + 1); sb.append("oneOf {"); + * sb.append(NEWLINE); for (final IFeatureStructure f : root.getChildren()) { writeFeature(f, depth + 2); } writeTab(depth + 1); sb.append("}"); + * sb.append(NEWLINE); } } private void writeFeature(IFeatureStructure feature, int depth) { writeTab(depth); if (feature.isAbstract()) { + * sb.append("abstract "); } if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { sb.append("mandatory "); } + * sb.append("feature "); sb.append(feature.getFeature().getName()); final String description = feature.getFeature().getProperty().getDescription(); final + * boolean hasDescription = (description != null) && !description.isEmpty(); if ((feature.getChildrenCount() == 0) && !hasDescription) { sb.append(";"); } + * else { sb.append(" {"); sb.append(NEWLINE); if (hasDescription) { writeTab(depth + 1); sb.append("description \""); sb.append(description.replace("\"", + * "\\\"")); sb.append("\";"); sb.append(NEWLINE); } writeFeatureGroup(feature, depth); writeTab(depth); sb.append("}"); } sb.append(NEWLINE); } private + * void writeNewDefined(IFeatureStructure child2, int depth) { writeFeature(child2, 1); for (final IFeatureStructure child : child2.getChildren()) { + * writeNewDefined(child, depth); } } private void writeTab(int times) { for (int i = 0; i < times; i++) { sb.append('\t'); } } + * @Override public ProblemList read(IFeatureModel object, CharSequence source) { problemList = new ProblemList(); factory = + * MultiFeatureModelFactory.getInstance(); extFeatureModel = (MultiFeatureModel) object; if (extFeatureModel != null) { featureModelFile = + * extFeatureModel.getSourceFile(); } final ByteArrayInputStream inputstr = new + * ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); try { parseInputStream(inputstr); } catch (final + * UnsupportedModelException e) { problemList.add(new Problem(e, e.lineNumber)); } return problemList; } private static class ConstraintNode { private final + * Node computedNode; private final Tree rawNode; public ConstraintNode(Node computedNode, Tree rawNode) { this.computedNode = computedNode; this.rawNode = + * rawNode; } } private static final int[] binaryOperators = { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, + * VelvetParser.OP_EQUIVALENT }; private final LinkedList atrributeConstraintNodes = new LinkedList<>(); private final LinkedList + * parentStack = new LinkedList<>(); private final LinkedList constraintNodeList = new LinkedList<>(); private final HashSet + * usedVariables = new HashSet<>(); private final boolean velvetImport = false; private MultiFeatureModel extFeatureModel; private String + * extFeatureModelName; private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference reference) { + * boolean positive = weight >= 0; if (rightSide ^ minus) { positive = !positive; } return new WeightedTerm(Math.abs(weight), positive, reference); } + * private static LinkedList getChildren(final Tree root) { final LinkedList children = new LinkedList<>(); final int childCount = + * root.getChildCount(); for (int i = 0; i < childCount; i++) { children.add(root.getChild(i)); } return children; } protected synchronized void + * parseInputStream(final InputStream inputStream) throws UnsupportedModelException { CharStream charStream = null; try { charStream = + * CharStreams.fromStream(inputStream); } catch (final IOException e) { Logger.logError(e); throw new + * UnsupportedModelException("Error while reading model!", 0); } final VelvetLexer lexer = new VelvetLexer(charStream); final CommonTokenStream tokens = new + * CommonTokenStream(lexer); final VelvetParser parser = new VelvetParser(tokens); final ParseTree root = parser.velvetModel(); init(); parseModel(root); + * parseAttributeConstraints(); } private MultiFeature addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean + * isAbstract, final boolean isHidden) { final MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); + * newFeature.getStructure().setMandatory(isMandatory); newFeature.getStructure().setAbstract(isAbstract); newFeature.getStructure().setHidden(isHidden); + * final IFeature orgFeature = extFeatureModel.getFeature(featureName); if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { return + * (MultiFeature) orgFeature; } else { extFeatureModel.addFeature(newFeature); parent.getStructure().addChild(newFeature.getStructure()); + * newFeature.setNewDefined(true); return newFeature; } } private String checkNode(Node curNode) { if (curNode instanceof Literal) { final Literal literal = + * (Literal) curNode; final String varString = literal.var.toString(); if (extFeatureModel.getFeature(varString) == null) { return literal.var.toString(); } + * } else { for (final Node child : curNode.getChildren()) { final String childRet = checkNode(child); if (childRet != null) { return childRet; } } } return + * null; } + *//** + * Initializes all variables. + *//* + * private void init() { atrributeConstraintNodes.clear(); parentStack.clear(); constraintNodeList.clear(); usedVariables.clear(); + * extFeatureModel.reset(); extFeatureModelName = null; extFeatureModel.setInterface(false); } private void parseAttribute(final Tree root, final + * IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final Tree valueNode = nodeList.poll(); + * switch (valueNode.getType()) { case VelvetParser.FLOAT: break; case VelvetParser.INT: extFeatureModel.addAttribute(parent.getName(), name, + * Integer.parseInt(valueNode.getText())); break; case VelvetParser.BOOLEAN: extFeatureModel.addAttribute(parent.getName(), name, + * Boolean.parseBoolean(valueNode.getText())); break; case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); + * extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - 1)); break; default: + * reportSyntaxError(valueNode); } } private void parseAttributeConstraints() throws UnsupportedModelException, RecognitionException { while + * (!atrributeConstraintNodes.isEmpty()) { final LinkedList nodeList = getChildren(atrributeConstraintNodes.poll()); final + * LinkedList weightedTerms = new LinkedList<>(); RelationOperator relationOperator = null; boolean minus = false; int degree = 0; + * while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: case VelvetParser.IDPath: + * final String attributeName = curNode.getText(); final Collection> attributes = + * extFeatureModel.getIntegerAttributes().getAttributes(attributeName); if (attributes == null) { throw new + * UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, curNode.getLine()); } for + * (final FeatureAttribute attr : attributes) { weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, new + * Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); } break; // case VelvetParser.FLOAT: // break; case VelvetParser.INT: + * final int value = Integer.parseInt(curNode.getText()); if ((relationOperator == null) ^ minus) { degree -= value; } else { degree += value; } + * break; case VelvetParser.PLUS: minus = false; break; case VelvetParser.MINUS: minus = true; break; case VelvetParser.ATTR_OP_EQUALS: + * relationOperator = RelationOperator.EQUAL; break; case VelvetParser.ATTR_OP_NOT_EQUALS: relationOperator = RelationOperator.NOT_EQUAL; break; + * case VelvetParser.ATTR_OP_GREATER: relationOperator = RelationOperator.GREATER; break; case VelvetParser.ATTR_OP_GREATER_EQ: relationOperator = + * RelationOperator.GREATER_EQUAL; break; case VelvetParser.ATTR_OP_LESS: relationOperator = RelationOperator.LESS; break; case + * VelvetParser.ATTR_OP_LESS_EQ: relationOperator = RelationOperator.LESS_EQUAL; break; default: reportSyntaxError(curNode); } } final Equation + * equation = new Equation(weightedTerms, relationOperator, degree); extFeatureModel.addAttributeConstraint(equation); } } private void + * parseConcept(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { + * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: extFeatureModelName = checkTree(curNode).getText(); + * final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); + * rootFeature.getStructure().setAbstract(true); rootFeature.getStructure().setMandatory(true); extFeatureModel.addFeature(rootFeature); + * extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); parentStack.push(rootFeature); break; case VelvetParser.BASEEXT: + * reportWarning(curNode, "Inheritance are not supported."); break; case VelvetParser.IMPORTINSTANCE: reportWarning(curNode, + * "Instances are not supported."); break; case VelvetParser.IMPORTINTERFACE: reportWarning(curNode, "Interfaces are not supported."); break; case + * VelvetParser.DEF: parseDefinitions(curNode); break; default: reportSyntaxError(curNode); } } for (final ConstraintNode constraintNode : + * constraintNodeList) { final String nameError = checkNode(constraintNode.computedNode); if (nameError == null) { + * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } else { + * reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); } } } private void parseConstraint(final Tree + * root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { + * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: // name = curNode.getText(); break; case + * VelvetParser.CONSTR: Node newNode = parseConstraint_rec(curNode); newNode = new Implies(new Literal(parent.getName()), newNode); + * constraintNodeList.add(new ConstraintNode(newNode, curNode)); break; case VelvetParser.ACONSTR: atrributeConstraintNodes.add(curNode); break; + * default: reportSyntaxError(curNode); } } } private Node parseConstraint_rec(final Tree root) throws RecognitionException { final LinkedList + * nodeList = getChildren(root); final LinkedList nodes = new LinkedList<>(); final LinkedList operators = new LinkedList<>(); final + * LinkedList unaryOp = new LinkedList<>(); Node n = null; while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch + * (curNode.getType()) { case VelvetParser.UNARYOP: unaryOp.push(curNode.getChild(0).getType()); break; case VelvetParser.CONSTR: n = + * parseConstraint_rec(curNode); break; case VelvetParser.OPERAND: n = new Literal(curNode.getChild(0).getText()); break; default: + * operators.add(curNode.getType()); } if (n != null) { while (!unaryOp.isEmpty()) { switch (unaryOp.pop()) { case VelvetParser.OP_NOT: n = new + * Not(n); } } nodes.add(n); n = null; } } if (!operators.isEmpty()) { for (final int operator : binaryOperators) { final ListIterator nodesIt + * = nodes.listIterator(); for (final ListIterator opIt = operators.listIterator(); opIt.hasNext();) { final Node operand1 = + * nodesIt.next(); if (opIt.next() == operator) { opIt.remove(); nodesIt.remove(); final Node operand2 = nodesIt.next(); switch (operator) { case + * VelvetParser.OP_AND: nodesIt.set(new And(operand1, operand2)); break; case VelvetParser.OP_OR: nodesIt.set(new Or(operand1, operand2)); break; + * case VelvetParser.OP_XOR: nodesIt.set(new Choose(1, operand1, operand2)); break; case VelvetParser.OP_IMPLIES: nodesIt.set(new Implies(operand1, + * operand2)); break; case VelvetParser.OP_EQUIVALENT: nodesIt.set(new Equals(operand1, operand2)); break; } nodesIt.previous(); } } } } if + * (nodes.isEmpty()) { return null; } return nodes.getFirst(); } private void parseDefinitions(final Tree root) throws RecognitionException { final + * LinkedList nodeList = getChildren(root); final IFeature parentFeature = parentStack.pop(); parentFeature.getStructure().setAnd(); while + * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { // Feature case VelvetParser.FEATURE: + * parseFeature(curNode, parentFeature); break; // Feature-Group case VelvetParser.GROUP: parseFeatureGroup(curNode, parentFeature); break; // + * Constraint case VelvetParser.CONSTRAINT: parseConstraint(curNode, parentFeature); break; // Use case VelvetParser.USE: parseUse(curNode, + * parentFeature); break; // Attribute case VelvetParser.ATTR: parseAttribute(curNode, parentFeature); break; case VelvetParser.DESCRIPTION: + * parseDescription(curNode, parentFeature); break; case VelvetParser.EMPTY: break; default: reportSyntaxError(curNode); } } } private void + * parseDescription(Tree root, IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final Tree + * valueNode = nodeList.poll(); switch (valueNode.getType()) { case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); + * parent.getProperty().setDescription(valueNodeText.substring(1, valueNodeText.length() - 1).replace("\\\"", "\"")); break; default: + * reportSyntaxError(valueNode); } } private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { final + * LinkedList childList = getChildren(root); final String featureName; if (extFeatureModel.isInterface()) { featureName = + * checkTree(childList.poll()).getText(); } else { if (velvetImport || parent.getStructure().isRoot()) { featureName = + * checkTree(childList.poll()).getText(); } else { featureName = parent.getName() + "." + checkTree(childList.poll()).getText(); } } boolean + * isMandatory = false, isAbstract = false, moreDefinitions = false; Tree childNode = null; while (!childList.isEmpty() && !moreDefinitions) { + * childNode = childList.poll(); switch (childNode.getType()) { case VelvetParser.MANDATORY: isMandatory = true; break; case VelvetParser.ABSTRACT: + * isAbstract = true; break; case VelvetParser.DEF: moreDefinitions = true; break; default: reportSyntaxError(childNode); } } if ((validator != + * null) && !validator.isValidFeatureName(featureName)) { problemList.add(new Problem(featureName + " is not a valid feature name", root.getLine(), + * de.ovgu.featureide.fm.core.io.Problem.Severity.ERROR)); } final MultiFeature newFeature = addFeature(parent, featureName, isMandatory, + * isAbstract, false); if (moreDefinitions) { parentStack.push(newFeature); parseDefinitions(childNode); } } private void parseFeatureGroup(final + * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) + * { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.SOMEOF: parent.getStructure().setOr(); break; case + * VelvetParser.ONEOF: parent.getStructure().setAlternative(); break; case VelvetParser.FEATURE: parseFeature(curNode, parent); break; default: + * reportSyntaxError(curNode); } } } private void parseModel(final Tree root) throws RecognitionException { final LinkedList nodeList = + * getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.CONCEPT: + * parseConcept(curNode); break; case VelvetParser.CINTERFACE: extFeatureModel.setInterface(true); parseConcept(curNode); break; case + * VelvetParser.EOF: if (curNode.getTokenStartIndex() > -1) { break; } default: reportSyntaxError(curNode); } } } private void parseUse(Tree root, + * IFeature parent) throws RecognitionException { reportWarning(root, "USE is not supported."); } private void reportWarning(Tree curNode, String + * message) { Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + featureModelFile.getFileName() + * : "") + ": \"" + curNode.getText() + "\")"); } + * @Override public String getSuffix() { return "velvet"; } + * @Override public SimpleVelvetFeatureModelFormat getInstance() { return new SimpleVelvetFeatureModelFormat(this); } + * @Override public String getId() { return ID; } + * @Override public boolean initExtension() { if (super.initExtension()) { + * FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(SimpleVelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); return + * true; } return false; } + * @Override public String getName() { return "Simple Velevet"; } + */ } diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp new file mode 100644 index 0000000000..78f6ed33e9 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp @@ -0,0 +1,156 @@ +token literal names: +null +'import' +'mandatory' +'abstract' +'someOf' +'oneOf' +'concept' +'cinterface' +'constraint' +'feature' +'use' +'instance' +'interface' +'description' +'int' +'float' +'string' +'bool' +';' +'{' +'}' +'(' +')' +'=' +',' +':' +'+' +'-' +'!' +'&&' +'||' +'xor' +'->' +'<->' +'==' +'!=' +'>' +'<' +'>=' +'<=' +'EMPTY' +'CONSTR' +'ACONSTR' +'BASEEXT' +'DEF' +'GROUP' +'ATTR' +'UNARYOP' +'OPERAND' +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +IMPORT +MANDATORY +ABSTRACT +SOMEOF +ONEOF +CONCEPT +CINTERFACE +CONSTRAINT +FEATURE +USE +IMPORTINSTANCE +IMPORTINTERFACE +DESCRIPTION +VAR_INT +VAR_FLOAT +VAR_STRING +VAR_BOOL +SEMI +START_C +END_C +START_R +END_R +EQ +COMMA +COLON +PLUS +MINUS +OP_NOT +OP_AND +OP_OR +OP_XOR +OP_IMPLIES +OP_EQUIVALENT +ATTR_OP_EQUALS +ATTR_OP_NOT_EQUALS +ATTR_OP_GREATER +ATTR_OP_LESS +ATTR_OP_GREATER_EQ +ATTR_OP_LESS_EQ +EMPTY +CONSTR +ACONSTR +BASEEXT +DEF +GROUP +ATTR +UNARYOP +OPERAND +BOOLEAN +ID +IDPath +INT +FLOAT +STRING +WS +SL_COMMENT +ML_COMMENT + +rule names: +velvetModel +imp +concept +cinterface +conceptBaseExt +instanceImports +interfaceImports +name +definitions +definition +nonFeatureDefinition +use +feature +featureGroup +groupType +description +constraint +constraintDefinition +constraintOperand +attribute +attributeConstraint +attribConstraint +attribOperator +attribNumInstance +intAttribute +floatAttribute +stringAttribute +boolAttribute +unaryOp +binaryOp +attribRelation + + +atn: +[4, 1, 57, 302, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 3, 0, 64, 8, 0, 1, 0, 1, 0, 3, 0, 68, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 76, 8, 1, 11, 1, 12, 1, 77, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 84, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 94, 8, 2, 1, 2, 3, 2, 97, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 103, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 5, 4, 110, 8, 4, 10, 4, 12, 4, 113, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 121, 8, 5, 10, 5, 12, 5, 124, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 132, 8, 6, 10, 6, 12, 6, 135, 9, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 5, 9, 144, 8, 9, 10, 9, 12, 9, 147, 9, 9, 1, 9, 1, 9, 5, 9, 151, 8, 9, 10, 9, 12, 9, 154, 9, 9, 1, 9, 1, 9, 1, 9, 5, 9, 159, 8, 9, 10, 9, 12, 9, 162, 9, 9, 3, 9, 164, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 170, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 182, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 188, 8, 12, 1, 13, 1, 13, 1, 13, 4, 13, 193, 8, 13, 11, 13, 12, 13, 194, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 211, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 219, 8, 17, 10, 17, 12, 17, 222, 9, 17, 1, 18, 5, 18, 225, 8, 18, 10, 18, 12, 18, 228, 9, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 235, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 241, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 251, 8, 21, 10, 21, 12, 21, 254, 9, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 261, 8, 21, 10, 21, 12, 21, 264, 9, 21, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 270, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 276, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 282, 8, 25, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 288, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 294, 8, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 0, 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 5, 1, 0, 50, 51, 1, 0, 4, 5, 1, 0, 26, 27, 1, 0, 29, 33, 2, 0, 34, 34, 38, 39, 312, 0, 63, 1, 0, 0, 0, 2, 75, 1, 0, 0, 0, 4, 79, 1, 0, 0, 0, 6, 98, 1, 0, 0, 0, 8, 106, 1, 0, 0, 0, 10, 114, 1, 0, 0, 0, 12, 125, 1, 0, 0, 0, 14, 136, 1, 0, 0, 0, 16, 138, 1, 0, 0, 0, 18, 145, 1, 0, 0, 0, 20, 169, 1, 0, 0, 0, 22, 171, 1, 0, 0, 0, 24, 181, 1, 0, 0, 0, 26, 189, 1, 0, 0, 0, 28, 198, 1, 0, 0, 0, 30, 200, 1, 0, 0, 0, 32, 204, 1, 0, 0, 0, 34, 214, 1, 0, 0, 0, 36, 226, 1, 0, 0, 0, 38, 240, 1, 0, 0, 0, 40, 244, 1, 0, 0, 0, 42, 246, 1, 0, 0, 0, 44, 265, 1, 0, 0, 0, 46, 269, 1, 0, 0, 0, 48, 271, 1, 0, 0, 0, 50, 277, 1, 0, 0, 0, 52, 283, 1, 0, 0, 0, 54, 289, 1, 0, 0, 0, 56, 295, 1, 0, 0, 0, 58, 297, 1, 0, 0, 0, 60, 299, 1, 0, 0, 0, 62, 64, 3, 2, 1, 0, 63, 62, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 68, 3, 4, 2, 0, 66, 68, 3, 6, 3, 0, 67, 65, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 5, 0, 0, 1, 70, 1, 1, 0, 0, 0, 71, 72, 5, 1, 0, 0, 72, 73, 3, 14, 7, 0, 73, 74, 5, 18, 0, 0, 74, 76, 1, 0, 0, 0, 75, 71, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 3, 1, 0, 0, 0, 79, 80, 5, 6, 0, 0, 80, 83, 5, 50, 0, 0, 81, 82, 5, 25, 0, 0, 82, 84, 3, 8, 4, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 93, 1, 0, 0, 0, 85, 86, 3, 10, 5, 0, 86, 87, 3, 12, 6, 0, 87, 94, 1, 0, 0, 0, 88, 89, 3, 12, 6, 0, 89, 90, 3, 10, 5, 0, 90, 94, 1, 0, 0, 0, 91, 94, 3, 12, 6, 0, 92, 94, 3, 10, 5, 0, 93, 85, 1, 0, 0, 0, 93, 88, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 92, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 97, 3, 16, 8, 0, 96, 95, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 5, 1, 0, 0, 0, 98, 99, 5, 7, 0, 0, 99, 102, 5, 50, 0, 0, 100, 101, 5, 25, 0, 0, 101, 103, 3, 8, 4, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 3, 16, 8, 0, 105, 7, 1, 0, 0, 0, 106, 111, 5, 50, 0, 0, 107, 108, 5, 24, 0, 0, 108, 110, 5, 50, 0, 0, 109, 107, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 115, 5, 11, 0, 0, 115, 116, 5, 50, 0, 0, 116, 122, 3, 14, 7, 0, 117, 118, 5, 24, 0, 0, 118, 119, 5, 50, 0, 0, 119, 121, 3, 14, 7, 0, 120, 117, 1, 0, 0, 0, 121, 124, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 11, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 125, 126, 5, 12, 0, 0, 126, 127, 5, 50, 0, 0, 127, 133, 3, 14, 7, 0, 128, 129, 5, 24, 0, 0, 129, 130, 5, 50, 0, 0, 130, 132, 3, 14, 7, 0, 131, 128, 1, 0, 0, 0, 132, 135, 1, 0, 0, 0, 133, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 13, 1, 0, 0, 0, 135, 133, 1, 0, 0, 0, 136, 137, 7, 0, 0, 0, 137, 15, 1, 0, 0, 0, 138, 139, 5, 19, 0, 0, 139, 140, 3, 18, 9, 0, 140, 141, 5, 20, 0, 0, 141, 17, 1, 0, 0, 0, 142, 144, 3, 20, 10, 0, 143, 142, 1, 0, 0, 0, 144, 147, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 163, 1, 0, 0, 0, 147, 145, 1, 0, 0, 0, 148, 152, 3, 26, 13, 0, 149, 151, 3, 20, 10, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 164, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 160, 3, 24, 12, 0, 156, 159, 3, 24, 12, 0, 157, 159, 3, 20, 10, 0, 158, 156, 1, 0, 0, 0, 158, 157, 1, 0, 0, 0, 159, 162, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 164, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 163, 148, 1, 0, 0, 0, 163, 155, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 19, 1, 0, 0, 0, 165, 170, 3, 32, 16, 0, 166, 170, 3, 22, 11, 0, 167, 170, 3, 38, 19, 0, 168, 170, 3, 30, 15, 0, 169, 165, 1, 0, 0, 0, 169, 166, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 169, 168, 1, 0, 0, 0, 170, 21, 1, 0, 0, 0, 171, 172, 5, 10, 0, 0, 172, 173, 3, 14, 7, 0, 173, 174, 5, 18, 0, 0, 174, 23, 1, 0, 0, 0, 175, 176, 5, 2, 0, 0, 176, 182, 5, 3, 0, 0, 177, 178, 5, 3, 0, 0, 178, 182, 5, 2, 0, 0, 179, 182, 5, 2, 0, 0, 180, 182, 5, 3, 0, 0, 181, 175, 1, 0, 0, 0, 181, 177, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 5, 9, 0, 0, 184, 187, 3, 14, 7, 0, 185, 188, 3, 16, 8, 0, 186, 188, 5, 18, 0, 0, 187, 185, 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 25, 1, 0, 0, 0, 189, 190, 3, 28, 14, 0, 190, 192, 5, 19, 0, 0, 191, 193, 3, 24, 12, 0, 192, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 5, 20, 0, 0, 197, 27, 1, 0, 0, 0, 198, 199, 7, 1, 0, 0, 199, 29, 1, 0, 0, 0, 200, 201, 5, 13, 0, 0, 201, 202, 5, 54, 0, 0, 202, 203, 5, 18, 0, 0, 203, 31, 1, 0, 0, 0, 204, 205, 5, 8, 0, 0, 205, 206, 5, 50, 0, 0, 206, 207, 5, 23, 0, 0, 207, 210, 1, 0, 0, 0, 208, 211, 3, 34, 17, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 210, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 5, 18, 0, 0, 213, 33, 1, 0, 0, 0, 214, 220, 3, 36, 18, 0, 215, 216, 3, 58, 29, 0, 216, 217, 3, 36, 18, 0, 217, 219, 1, 0, 0, 0, 218, 215, 1, 0, 0, 0, 219, 222, 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 35, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 223, 225, 3, 56, 28, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 234, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 5, 21, 0, 0, 230, 231, 3, 34, 17, 0, 231, 232, 5, 22, 0, 0, 232, 235, 1, 0, 0, 0, 233, 235, 3, 14, 7, 0, 234, 229, 1, 0, 0, 0, 234, 233, 1, 0, 0, 0, 235, 37, 1, 0, 0, 0, 236, 241, 3, 48, 24, 0, 237, 241, 3, 50, 25, 0, 238, 241, 3, 52, 26, 0, 239, 241, 3, 54, 27, 0, 240, 236, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 239, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 5, 18, 0, 0, 243, 39, 1, 0, 0, 0, 244, 245, 3, 42, 21, 0, 245, 41, 1, 0, 0, 0, 246, 252, 3, 46, 23, 0, 247, 248, 3, 44, 22, 0, 248, 249, 3, 46, 23, 0, 249, 251, 1, 0, 0, 0, 250, 247, 1, 0, 0, 0, 251, 254, 1, 0, 0, 0, 252, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 255, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 255, 256, 3, 60, 30, 0, 256, 262, 3, 46, 23, 0, 257, 258, 3, 44, 22, 0, 258, 259, 3, 46, 23, 0, 259, 261, 1, 0, 0, 0, 260, 257, 1, 0, 0, 0, 261, 264, 1, 0, 0, 0, 262, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 43, 1, 0, 0, 0, 264, 262, 1, 0, 0, 0, 265, 266, 7, 2, 0, 0, 266, 45, 1, 0, 0, 0, 267, 270, 5, 52, 0, 0, 268, 270, 3, 14, 7, 0, 269, 267, 1, 0, 0, 0, 269, 268, 1, 0, 0, 0, 270, 47, 1, 0, 0, 0, 271, 272, 5, 14, 0, 0, 272, 275, 3, 14, 7, 0, 273, 274, 5, 23, 0, 0, 274, 276, 5, 52, 0, 0, 275, 273, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 49, 1, 0, 0, 0, 277, 278, 5, 15, 0, 0, 278, 281, 3, 14, 7, 0, 279, 280, 5, 23, 0, 0, 280, 282, 5, 53, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 51, 1, 0, 0, 0, 283, 284, 5, 16, 0, 0, 284, 287, 3, 14, 7, 0, 285, 286, 5, 23, 0, 0, 286, 288, 5, 54, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 53, 1, 0, 0, 0, 289, 290, 5, 17, 0, 0, 290, 293, 3, 14, 7, 0, 291, 292, 5, 23, 0, 0, 292, 294, 5, 49, 0, 0, 293, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 55, 1, 0, 0, 0, 295, 296, 5, 28, 0, 0, 296, 57, 1, 0, 0, 0, 297, 298, 7, 3, 0, 0, 298, 59, 1, 0, 0, 0, 299, 300, 7, 4, 0, 0, 300, 61, 1, 0, 0, 0, 31, 63, 67, 77, 83, 93, 96, 102, 111, 122, 133, 145, 152, 158, 160, 163, 169, 181, 187, 194, 210, 220, 226, 234, 240, 252, 262, 269, 275, 281, 287, 293] \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.tokens b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.tokens index 1fd07086b4..3c8e8941ac 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.tokens +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.tokens @@ -1,101 +1,105 @@ -ABSTRACT=4 -ACONSTR=5 -ATTR=6 -ATTR_OP_EQUALS=7 -ATTR_OP_GREATER=8 -ATTR_OP_GREATER_EQ=9 -ATTR_OP_LESS=10 -ATTR_OP_LESS_EQ=11 -ATTR_OP_NOT_EQUALS=12 -BASEEXT=13 -BOOLEAN=14 -CINTERFACE=15 -COLON=16 -COMMA=17 -CONCEPT=18 -CONSTR=19 -CONSTRAINT=20 -DEF=21 -DESCRIPTION=22 -EMPTY=23 -END_C=24 -END_R=25 -EQ=26 -ESC_SEQ=27 -EXPONENT=28 -FEATURE=29 -FLOAT=30 -GROUP=31 -HEX_DIGIT=32 -ID=33 -IDPath=34 -IMPORT=35 -IMPORTINSTANCE=36 -IMPORTINTERFACE=37 -INT=38 -MANDATORY=39 -MINUS=40 -ML_COMMENT=41 -OCTAL_ESC=42 -ONEOF=43 -OPERAND=44 -OP_AND=45 -OP_EQUIVALENT=46 -OP_IMPLIES=47 -OP_NOT=48 -OP_OR=49 -OP_XOR=50 -PLUS=51 -SEMI=52 -SL_COMMENT=53 -SOMEOF=54 -START_C=55 -START_R=56 -STRING=57 -UNARYOP=58 -UNICODE_ESC=59 -USE=60 -VAR_BOOL=61 -VAR_FLOAT=62 -VAR_INT=63 -VAR_STRING=64 -WS=65 -'!'=48 -'!='=12 -'&&'=45 -'('=56 -')'=25 -'+'=51 -','=17 -'-'=40 -'->'=47 -':'=16 -';'=52 -'<'=10 -'<->'=46 -'<='=11 -'='=26 -'=='=7 -'>'=8 -'>='=9 -'abstract'=4 -'bool'=61 -'cinterface'=15 -'concept'=18 -'constraint'=20 -'description'=22 -'feature'=29 -'float'=62 -'import'=35 -'instance'=36 -'int'=63 -'interface'=37 -'mandatory'=39 -'oneOf'=43 -'someOf'=54 -'string'=64 -'use'=60 -'xor'=50 -'{'=55 -'||'=49 -'}'=24 +IMPORT=1 +MANDATORY=2 +ABSTRACT=3 +SOMEOF=4 +ONEOF=5 +CONCEPT=6 +CINTERFACE=7 +CONSTRAINT=8 +FEATURE=9 +USE=10 +IMPORTINSTANCE=11 +IMPORTINTERFACE=12 +DESCRIPTION=13 +VAR_INT=14 +VAR_FLOAT=15 +VAR_STRING=16 +VAR_BOOL=17 +SEMI=18 +START_C=19 +END_C=20 +START_R=21 +END_R=22 +EQ=23 +COMMA=24 +COLON=25 +PLUS=26 +MINUS=27 +OP_NOT=28 +OP_AND=29 +OP_OR=30 +OP_XOR=31 +OP_IMPLIES=32 +OP_EQUIVALENT=33 +ATTR_OP_EQUALS=34 +ATTR_OP_NOT_EQUALS=35 +ATTR_OP_GREATER=36 +ATTR_OP_LESS=37 +ATTR_OP_GREATER_EQ=38 +ATTR_OP_LESS_EQ=39 +EMPTY=40 +CONSTR=41 +ACONSTR=42 +BASEEXT=43 +DEF=44 +GROUP=45 +ATTR=46 +UNARYOP=47 +OPERAND=48 +BOOLEAN=49 +ID=50 +IDPath=51 +INT=52 +FLOAT=53 +STRING=54 +WS=55 +SL_COMMENT=56 +ML_COMMENT=57 +'import'=1 +'mandatory'=2 +'abstract'=3 +'someOf'=4 +'oneOf'=5 +'concept'=6 +'cinterface'=7 +'constraint'=8 +'feature'=9 +'use'=10 +'instance'=11 +'interface'=12 +'description'=13 +'int'=14 +'float'=15 +'string'=16 +'bool'=17 +';'=18 +'{'=19 +'}'=20 +'('=21 +')'=22 +'='=23 +','=24 +':'=25 +'+'=26 +'-'=27 +'!'=28 +'&&'=29 +'||'=30 +'xor'=31 +'->'=32 +'<->'=33 +'=='=34 +'!='=35 +'>'=36 +'<'=37 +'>='=38 +'<='=39 +'EMPTY'=40 +'CONSTR'=41 +'ACONSTR'=42 +'BASEEXT'=43 +'DEF'=44 +'GROUP'=45 +'ATTR'=46 +'UNARYOP'=47 +'OPERAND'=48 diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java new file mode 100644 index 0000000000..5379ec18c4 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java @@ -0,0 +1,415 @@ +// Generated from Velvet.g4 by ANTLR 4.13.2 + +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.FMCorePlugin; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link VelvetListener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +@SuppressWarnings("CheckReturnValue") +public class VelvetBaseListener implements VelvetListener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVelvetModel(VelvetParser.VelvetModelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVelvetModel(VelvetParser.VelvetModelContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterImp(VelvetParser.ImpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitImp(VelvetParser.ImpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConcept(VelvetParser.ConceptContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConcept(VelvetParser.ConceptContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterCinterface(VelvetParser.CinterfaceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitCinterface(VelvetParser.CinterfaceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInstanceImports(VelvetParser.InstanceImportsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInstanceImports(VelvetParser.InstanceImportsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceImports(VelvetParser.InterfaceImportsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceImports(VelvetParser.InterfaceImportsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterName(VelvetParser.NameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitName(VelvetParser.NameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefinitions(VelvetParser.DefinitionsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefinitions(VelvetParser.DefinitionsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefinition(VelvetParser.DefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefinition(VelvetParser.DefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUse(VelvetParser.UseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUse(VelvetParser.UseContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFeature(VelvetParser.FeatureContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFeature(VelvetParser.FeatureContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFeatureGroup(VelvetParser.FeatureGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFeatureGroup(VelvetParser.FeatureGroupContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterGroupType(VelvetParser.GroupTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitGroupType(VelvetParser.GroupTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDescription(VelvetParser.DescriptionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDescription(VelvetParser.DescriptionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstraint(VelvetParser.ConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstraint(VelvetParser.ConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterConstraintOperand(VelvetParser.ConstraintOperandContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitConstraintOperand(VelvetParser.ConstraintOperandContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttribute(VelvetParser.AttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttribute(VelvetParser.AttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttributeConstraint(VelvetParser.AttributeConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttribConstraint(VelvetParser.AttribConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttribConstraint(VelvetParser.AttribConstraintContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttribOperator(VelvetParser.AttribOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttribOperator(VelvetParser.AttribOperatorContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterIntAttribute(VelvetParser.IntAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitIntAttribute(VelvetParser.IntAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFloatAttribute(VelvetParser.FloatAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFloatAttribute(VelvetParser.FloatAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterStringAttribute(VelvetParser.StringAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitStringAttribute(VelvetParser.StringAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBoolAttribute(VelvetParser.BoolAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBoolAttribute(VelvetParser.BoolAttributeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnaryOp(VelvetParser.UnaryOpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnaryOp(VelvetParser.UnaryOpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBinaryOp(VelvetParser.BinaryOpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBinaryOp(VelvetParser.BinaryOpContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAttribRelation(VelvetParser.AttribRelationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAttribRelation(VelvetParser.AttribRelationContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java new file mode 100644 index 0000000000..0dbc3620e0 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java @@ -0,0 +1,235 @@ +// Generated from Velvet.g4 by ANTLR 4.13.2 + +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.FMCorePlugin; +import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; + +/** + * This class provides an empty implementation of {@link VelvetVisitor}, + * which can be extended to create a visitor which only needs to handle a subset + * of the available methods. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +@SuppressWarnings("CheckReturnValue") +public class VelvetBaseVisitor extends AbstractParseTreeVisitor implements VelvetVisitor { + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVelvetModel(VelvetParser.VelvetModelContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitImp(VelvetParser.ImpContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitConcept(VelvetParser.ConceptContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitCinterface(VelvetParser.CinterfaceContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInstanceImports(VelvetParser.InstanceImportsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInterfaceImports(VelvetParser.InterfaceImportsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitName(VelvetParser.NameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDefinitions(VelvetParser.DefinitionsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDefinition(VelvetParser.DefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitUse(VelvetParser.UseContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFeature(VelvetParser.FeatureContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFeatureGroup(VelvetParser.FeatureGroupContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitGroupType(VelvetParser.GroupTypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDescription(VelvetParser.DescriptionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitConstraint(VelvetParser.ConstraintContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitConstraintOperand(VelvetParser.ConstraintOperandContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttribute(VelvetParser.AttributeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttribConstraint(VelvetParser.AttribConstraintContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttribOperator(VelvetParser.AttribOperatorContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitIntAttribute(VelvetParser.IntAttributeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFloatAttribute(VelvetParser.FloatAttributeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitStringAttribute(VelvetParser.StringAttributeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBoolAttribute(VelvetParser.BoolAttributeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitUnaryOp(VelvetParser.UnaryOpContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBinaryOp(VelvetParser.BinaryOpContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAttribRelation(VelvetParser.AttribRelationContext ctx) { return visitChildren(ctx); } +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java index 4728a9d56f..c029a63d37 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java @@ -1,5 +1,6 @@ /* FeatureIDE - A Framework for Feature-Oriented Software Development * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany + * 2025 Malte Grave, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz * * This file is part of FeatureIDE. * @@ -20,77 +21,7 @@ */ package de.ovgu.featureide.fm.core.io.velvet; -import static de.ovgu.featureide.fm.core.localization.StringTable.ILLEGAL_SYNTAX_IN_LINE; -import static de.ovgu.featureide.fm.core.localization.StringTable.IN_FILE; -import static de.ovgu.featureide.fm.core.localization.StringTable.IS_ALREADY_IN_USE_; -import static de.ovgu.featureide.fm.core.localization.StringTable.IS_ALREADY_USED_; -import static de.ovgu.featureide.fm.core.localization.StringTable.NO_SUCH_ATTRIBUTE_DEFINED_; -import static de.ovgu.featureide.fm.core.localization.StringTable.THE_PARENT_MODEL; -import static de.ovgu.featureide.fm.core.localization.StringTable.THE_VARIABLE_NAME; -import static de.ovgu.featureide.fm.core.localization.StringTable.USE; -import static java.lang.String.format; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.ListIterator; -import java.util.Map.Entry; - -import org.antlr.runtime.ANTLRInputStream; -import org.antlr.runtime.CommonTokenStream; -import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.tree.CommonErrorNode; -import org.antlr.runtime.tree.Tree; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.prop4j.And; -import org.prop4j.Choose; -import org.prop4j.Equals; -import org.prop4j.Implies; -import org.prop4j.Literal; -import org.prop4j.Node; -import org.prop4j.Not; -import org.prop4j.Or; - -import de.ovgu.featureide.fm.core.Logger; -import de.ovgu.featureide.fm.core.ModelMarkerHandler; -import de.ovgu.featureide.fm.core.PluginID; -import de.ovgu.featureide.fm.core.base.IConstraint; -import de.ovgu.featureide.fm.core.base.IFeature; -import de.ovgu.featureide.fm.core.base.IFeatureModel; -import de.ovgu.featureide.fm.core.base.IFeatureModelFactory; -import de.ovgu.featureide.fm.core.base.IFeatureStructure; -import de.ovgu.featureide.fm.core.base.impl.DefaultFeatureModelFactory; -import de.ovgu.featureide.fm.core.base.impl.FMFactoryManager; -import de.ovgu.featureide.fm.core.base.impl.FMFormatManager; -import de.ovgu.featureide.fm.core.base.impl.MultiConstraint; -import de.ovgu.featureide.fm.core.base.impl.MultiFeature; -import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; -import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel.UsedModel; -import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModelFactory; -import de.ovgu.featureide.fm.core.constraint.Equation; -import de.ovgu.featureide.fm.core.constraint.FeatureAttribute; -import de.ovgu.featureide.fm.core.constraint.Reference; -import de.ovgu.featureide.fm.core.constraint.ReferenceType; -import de.ovgu.featureide.fm.core.constraint.RelationOperator; -import de.ovgu.featureide.fm.core.constraint.WeightedTerm; import de.ovgu.featureide.fm.core.io.AFeatureModelFormat; -import de.ovgu.featureide.fm.core.io.Problem; -import de.ovgu.featureide.fm.core.io.ProblemList; -import de.ovgu.featureide.fm.core.io.UnsupportedModelException; -import de.ovgu.featureide.fm.core.io.manager.FeatureModelManager; -import de.ovgu.featureide.fm.core.io.manager.SimpleFileHandler; /** * Reads / Writes feature models in the Velvet format. @@ -98,1300 +29,344 @@ * @author Sebastian Krieter * @author Matthias Strauss * @author Reimar Schroeter + * @author Malte Grave */ public class VelvetFeatureModelFormat extends AFeatureModelFormat { - public static boolean IS_USED_AS_API = false; - public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + VelvetFeatureModelFormat.class.getSimpleName(); - public static final String FILE_EXTENSION = "velvet"; - - protected File featureModelFile; - - private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; - private static final String NEWLINE = System.getProperty("line.separator", "\n"); - private final StringBuilder sb = new StringBuilder(); - - public VelvetFeatureModelFormat(VelvetFeatureModelFormat oldFormat) { - super(oldFormat); - useLongNames = oldFormat.useLongNames; - } - - /** - * If true an interface will be created. Otherwise it is named CONCEPT + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.IFeatureModelFormat#getName() */ - private boolean isInterface = false; - - private boolean useLongNames; - - public VelvetFeatureModelFormat() { - useLongNames = false; - } - - @Override - public boolean supportsRead() { - return true; - } - - @Override - public boolean supportsWrite() { - return true; - } - @Override - public String write(IFeatureModel object) { - if (object instanceof MultiFeatureModel) { - extFeatureModel = (MultiFeatureModel) object; - isInterface = isInterface || extFeatureModel.isInterface(); - } - final IFeatureStructure root = object.getStructure().getRoot(); - sb.delete(0, sb.length()); - - if (isInterface) { - sb.append("cinterface "); - } else { - sb.append("concept "); - } - sb.append(root.getFeature().getName()); - if (extFeatureModel != null) { - usedVariables.clear(); - final LinkedList inheritedModels = new LinkedList<>(); - final LinkedList instanceModels = new LinkedList<>(); - final LinkedList interfaceModels = new LinkedList<>(); - for (final UsedModel usedModel : extFeatureModel.getExternalModels().values()) { - switch (usedModel.getType()) { - case MultiFeature.TYPE_INHERITED: - inheritedModels.add(usedModel); - break; - case MultiFeature.TYPE_INSTANCE: - instanceModels.add(usedModel); - break; - case MultiFeature.TYPE_INTERFACE: - interfaceModels.add(usedModel); - break; - } - } - - if (!inheritedModels.isEmpty()) { - useLongNames = true; - sb.append(" : "); - sb.append(inheritedModels.removeFirst().getModelName()); - for (final UsedModel usedModel : inheritedModels) { - sb.append(", "); - sb.append(usedModel.getModelName()); - } - } - - if (!instanceModels.isEmpty()) { - useLongNames = true; - sb.append(NEWLINE); - sb.append("\tinstance "); - sb.append(instanceModels.removeFirst()); - for (final UsedModel usedModel : instanceModels) { - sb.append(", "); - sb.append(usedModel); - } - } - - if (!interfaceModels.isEmpty()) { - useLongNames = true; - sb.append(NEWLINE); - sb.append("\tinterface "); - sb.append(interfaceModels.removeFirst()); - for (final UsedModel usedModel : interfaceModels) { - sb.append(", "); - sb.append(usedModel); - } - } - } - sb.append(" {"); - sb.append(NEWLINE); - - if ((extFeatureModel != null) && !isInterface) { - for (final IFeatureStructure child : root.getChildren()) { - writeNewDefined(child, 1); - } - - for (final IConstraint constraint : object.getConstraints()) { - if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { - sb.append("\tconstraint "); - sb.append(constraint.getNode().toString(SYMBOLS)); - sb.append(";"); - sb.append(NEWLINE); - } - } - } else { - writeFeatureGroup(root, 1); - - for (final IConstraint constraint : object.getConstraints()) { - sb.append("\tconstraint "); - sb.append(constraint.getNode().toString(SYMBOLS)); - sb.append(";"); - sb.append(NEWLINE); - } - } - - sb.append("}"); - - return sb.toString(); - } - - private void writeFeatureGroup(IFeatureStructure root, int depth) { - if (root.isAnd()) { - for (final IFeatureStructure feature : root.getChildren()) { - writeNewDefined(feature, depth + 1); - } - } else if (root.isOr()) { - writeTab(depth + 1); - sb.append("someOf {"); - sb.append(NEWLINE); - for (final IFeatureStructure feature : root.getChildren()) { - writeFeature(feature, depth + 2); - } - writeTab(depth + 1); - sb.append("}"); - sb.append(NEWLINE); - } else if (root.isAlternative()) { - writeTab(depth + 1); - sb.append("oneOf {"); - sb.append(NEWLINE); - for (final IFeatureStructure f : root.getChildren()) { - writeFeature(f, depth + 2); - } - writeTab(depth + 1); - sb.append("}"); - sb.append(NEWLINE); - } - } - - private void writeFeature(IFeatureStructure feature, int depth) { - writeTab(depth); - if (feature.isAbstract()) { - sb.append("abstract "); - } - if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { - sb.append("mandatory "); - } - sb.append("feature "); - sb.append(feature.getFeature().getName()); - final String description = feature.getFeature().getProperty().getDescription(); - final boolean hasDescription = (description != null) && !description.isEmpty(); - - if ((feature.getChildrenCount() == 0) && !hasDescription) { - sb.append(";"); - } else { - sb.append(" {"); - sb.append(NEWLINE); - if (hasDescription) { - writeTab(depth + 1); - sb.append("description \""); - sb.append(description.replace("\"", "\\\"")); - sb.append("\";"); - sb.append(NEWLINE); - } - - writeFeatureGroup(feature, depth); - - writeTab(depth); - sb.append("}"); - } - sb.append(NEWLINE); - } - - // TODO fix write for inherited feature models - private void writeNewDefined(IFeatureStructure child2, int depth) { - final IFeature feature = child2.getFeature(); - if (feature instanceof MultiFeature) { - final MultiFeature extFeature = (MultiFeature) feature; - - if ((extFeature.getType() == MultiFeature.TYPE_INSTANCE) || (extFeature.getType() == MultiFeature.TYPE_INTERFACE)) { - if (usedVariables.add(extFeature.getExternalModelName())) { - writeTab(depth); - sb.append(USE); - sb.append(extFeature.getExternalModelName()); - sb.append(";"); - sb.append(NEWLINE); - } - } else if (extFeature.getType() == MultiFeature.TYPE_INTERN) { - writeFeature(child2, 1); - } - } - for (final IFeatureStructure child : child2.getChildren()) { - writeNewDefined(child, depth); - } - } - - private void writeTab(int times) { - for (int i = 0; i < times; i++) { - sb.append('\t'); - } - } - - @Override - public ProblemList read(IFeatureModel object, CharSequence source) { - final ProblemList problemList = new ProblemList(); - factory = MultiFeatureModelFactory.getInstance(); - extFeatureModel = (MultiFeatureModel) object; - if (extFeatureModel != null) { - featureModelFile = extFeatureModel.getSourceFile().toFile(); - } - - final ByteArrayInputStream inputstr = new ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); - try { - parseInputStream(inputstr); - } catch (final UnsupportedModelException e) { - problemList.add(new Problem(e, e.lineNumber)); - } - return problemList; - } - - private static class ConstraintNode { - - private final Node computedNode; - private final Tree rawNode; - - public ConstraintNode(Node computedNode, Tree rawNode) { - this.computedNode = computedNode; - this.rawNode = rawNode; - } - } - - private static final int[] binaryOperators = - { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, VelvetParser.OP_EQUIVALENT }; - private static final String[] paths = { "%s.velvet", "%s.xml", "MPL/%s.velvet", "MPL/%s.xml" }; - - private final LinkedList atrributeConstraintNodes = new LinkedList<>(); - private final LinkedList parentStack = new LinkedList<>(); - private final LinkedList constraintNodeList = new LinkedList<>(); - private final HashSet usedVariables = new HashSet<>(); - - // TODO - private final boolean velvetImport = false; - - private ModelMarkerHandler modelMarkerHandler; - private MultiFeatureModel extFeatureModel; - private String extFeatureModelName; - private boolean localSearch = false; - - /** - * Reads external model with the right FeatureModelReader. - * - * @param file file of feature model - * @return the feature model or null if error occurred - */ - private IFeatureModel readExternalModelFile(File file) { - return FeatureModelManager.load(file.toPath()); - } - - private boolean checkExternalModelFile(Tree curNode) { - if (localSearch) { - if (localSearch(curNode.getText()) == null) { - reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); - return false; - } - return true; - } - if (getExternalModelFile(curNode.getText()) == null) { - reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); - return false; - } - return true; - } - - private boolean checkInterfaceModelFile(Tree curNode) { - if (localSearch) { - if (localSearch(curNode.getText()) == null) { - reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); - return false; - } - return true; - } - if (getInterfaceModelFile(curNode.getText()) == null) { - reportWarning(curNode, format("No interface for %s could be found.", curNode.getText())); - return false; - } - return true; - } - - private void copyChildnodes(final MultiFeatureModel targetModel, final IFeatureStructure targetParentNode, final IFeatureStructure sourceParentNode, - final String parentModelName, final String targetParentName, final int type) { - for (final IFeatureStructure sourceChildStructure : sourceParentNode.getChildren()) { - final MultiFeature feature; - if (velvetImport) { - feature = (MultiFeature) factory.createFeature(targetModel, sourceChildStructure.getFeature().getName()); - } else { - final String shortName = sourceChildStructure.getFeature().getName().replace(sourceParentNode.getFeature().getName() + ".", ""); - feature = (MultiFeature) factory.createFeature(targetModel, targetParentName + "." + shortName); - } - final IFeatureStructure targetChildStructure = feature.getStructure(); - targetChildStructure.setMandatory(sourceChildStructure.isMandatory()); - targetChildStructure.setAbstract(sourceChildStructure.isAbstract()); - targetChildStructure.setHidden(sourceChildStructure.isHidden()); - feature.setExternalModelName(parentModelName); - - targetChildStructure.setAND(sourceChildStructure.isAnd()); - targetChildStructure.setMultiple(sourceChildStructure.isMultiple()); - if (sourceChildStructure.isOr()) { - targetChildStructure.setOr(); - } - - targetModel.addFeature(feature); - targetParentNode.addChild(targetChildStructure); - feature.setType(type); - - if (sourceChildStructure.hasChildren()) { - copyChildnodes(targetModel, targetChildStructure, sourceChildStructure, parentModelName, feature.getName(), type); - } - } - } - - private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference reference) { - boolean positive = weight >= 0; - if (rightSide ^ minus) { - positive = !positive; - } - return new WeightedTerm(Math.abs(weight), positive, reference); - } - - private static LinkedList getChildren(final Tree root) { - final LinkedList children = new LinkedList<>(); - - final int childCount = root.getChildCount(); - for (int i = 0; i < childCount; i++) { - children.add(root.getChild(i)); - } - return children; - } - - private static void updateConstraintNode(Node curNode, String parentModelname, String rootName, IFeatureModel targetModel) { - if (curNode instanceof Literal) { - final Literal literal = (Literal) curNode; - if (literal.var.equals(rootName)) { - literal.var = parentModelname; - } else { - // if fully qualified name - - IFeature feature = targetModel.getFeature(literal.var.toString().replace(rootName, parentModelname)); - if (feature == null) { - // else - feature = targetModel.getFeature(parentModelname + "." + literal.var.toString()); - } - literal.var = feature.getName(); - } - } else { - for (final Node child : curNode.getChildren()) { - updateConstraintNode(child, parentModelname, rootName, targetModel); - } - } - } - - protected synchronized void parseInputStream(final InputStream inputStream) throws UnsupportedModelException { - ANTLRInputStream antlrInputStream = null; - try { - antlrInputStream = new ANTLRInputStream(inputStream); - } catch (final IOException e) { - Logger.logError(e); - throw new UnsupportedModelException("Error while reading model!", 0); - } - final VelvetParser parser = new VelvetParser(new CommonTokenStream(new VelvetLexer(antlrInputStream))); - Tree root = null; - try { - init(); - root = (Tree) parser.velvetModel().getTree(); - if (root == null) { - throw new UnsupportedModelException("Error while parsing model!", 0); - } - - checkTree(root); - parseModel(root); - parseAttributeConstraints(); - } catch (RecognitionException | VelvetParser.InternalSyntaxException e) { - RecognitionException re; - if (e instanceof VelvetParser.InternalSyntaxException) { - re = ((VelvetParser.InternalSyntaxException) e).getException(); - } else { - re = (RecognitionException) e; - } - Logger.logError(re); - final String internalMessage = parser.getErrorMessage(re, parser.getTokenNames()); - final String errorMessage = ILLEGAL_SYNTAX_IN_LINE + re.line + ":" + re.charPositionInLine + " (" + internalMessage + ")"; - final UnsupportedModelException unsupportedModelException = new UnsupportedModelException(errorMessage, re.line); - unsupportedModelException.addSuppressed(re); - throw unsupportedModelException; - } - } - - private MultiFeature addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean isAbstract, - final boolean isHidden) { - final MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); - newFeature.getStructure().setMandatory(isMandatory); - newFeature.getStructure().setAbstract(isAbstract); - newFeature.getStructure().setHidden(isHidden); - - final IFeature orgFeature = extFeatureModel.getFeature(featureName); - if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { - return (MultiFeature) orgFeature; - } else { - extFeatureModel.addFeature(newFeature); - parent.getStructure().addChild(newFeature.getStructure()); - newFeature.setNewDefined(true); - return newFeature; - } - } - - private String checkNode(Node curNode) { - if (curNode instanceof Literal) { - final Literal literal = (Literal) curNode; - final String varString = literal.var.toString(); - if (extFeatureModel.getFeature(varString) == null) { - return literal.var.toString(); - } - } else { - for (final Node child : curNode.getChildren()) { - final String childRet = checkNode(child); - if (childRet != null) { - return childRet; - } - } - } - return null; - } - - private IFeatureModel getExternalFeatureModel(Tree curNode) { - final File modelFile = getExternalModelFile(curNode.getText()); - if (modelFile == null) { - reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); - return null; - } - return readModel(modelFile, curNode); - } - - private IFeatureModel getExternalFeatureModel(String modelName, Tree curNode) { - final File modelFile = getExternalModelFile(modelName); - if (modelFile == null) { - return null; - } - return readModel(modelFile, curNode); - } - - private IFeatureModel getInterfaceFeatureModel(String modelName, Tree curNode) { - final File modelFile = getInterfaceModelFile(modelName); - if (modelFile == null) { - return null; - } - return readModel(modelFile, curNode); - } - - private IFeatureModel readModel(File modelFile, Tree curNode) { - IFeatureModel fm = null; - if (IS_USED_AS_API) { - fm = readExternalModelFileAPI(modelFile); - } else { - fm = readExternalModelFile(modelFile); - } - if (fm == null) { - reportWarning(curNode, format("External model for %s could not be read.", curNode.getText())); - return null; - } - return fm; - } - - private IFeatureModel readExternalModelFileAPI(File file) { - final IFeatureModel fm = new MultiFeatureModelFactory().create(); - fm.setSourceFile(file.toPath()); - SimpleFileHandler.load(file.toPath(), fm, FMFormatManager.getInstance()); - return fm; - } - - /** - * Search for the right File to include etc. The following search path is used:
  1. ./NAME.velvet
  2. ./NAME.xml
  3. ./MPL/NAME.velvet
  4. - *
  5. /NAME_AS_PROJECT/model.xml
- * - * @param name the name of file or project - * @return File object if found else null - */ - private File getExternalModelFile(String name) { - if (!extFeatureModel.getImports().isEmpty() && !IS_USED_AS_API) { - for (final String path : extFeatureModel.getImports()) { - final IProject project = getProject(); - if (!path.endsWith(name)) { - continue; - } - if (project != null) { - IResource res = project.getFile(path + ".xml"); - if ((res != null) && res.exists()) { - return res.getLocation().toFile(); - } - res = project.getFile(path + ".velvet"); - if ((res != null) && res.exists()) { - return res.getLocation().toFile(); - } - } - } - } - - if (localSearch || IS_USED_AS_API) { - return localSearch(name); - } - File returnFile = null; - - // local search - IProject project = getProject(); - if (project != null) { - for (int i = 0; i < paths.length; i++) { - final IResource res = project.findMember(format(paths[i], name)); - if (res != null) { - returnFile = res.getLocation().toFile(); - if (returnFile.equals(featureModelFile)) { - returnFile = null; - } else { - break; - } - } - } - } - - // external search - if (returnFile == null) { - // if could not get current project or could not find file in current - // project assume the name is the project name - project = ResourcesPlugin.getWorkspace().getRoot().getProject(name); - - if (project.isAccessible()) { - returnFile = project.getFile("model.xml").getLocation().toFile(); - if (returnFile.equals(featureModelFile)) { - return null; - } - } else { - Logger.logWarning(format("Project %s is not accessible.", name)); - } - } - - if ((returnFile == null) || !returnFile.exists() || !returnFile.canRead()) { - return null; - } - return returnFile; - } - - private File getInterfaceModelFile(String name) { - if (localSearch) { - return localSearch(name); - } - File returnFile = null; - final IProject project = getProject(); - if (project != null) { - final IResource res = project.findMember(format("Interfaces/%s.velvet", name)); - if (res != null) { - returnFile = res.getLocation().toFile(); - } - } - return returnFile; - } - - private File localSearch(final String name) { - if (featureModelFile != null) { - final File searchDir = new File(featureModelFile.getParentFile(), "MPL"); - if (searchDir != null) { - final File[] files = searchDir.listFiles(new FilenameFilter() { - - @Override - public boolean accept(File dir, String fileName) { - final int index = fileName.lastIndexOf('.'); - return (index > 0) && fileName.substring(0, index).equals(name) && fileName.substring(index + 1).matches("xml|velvet"); - } - }); - if ((files != null) && (files.length > 0)) { - return files[0]; - } - } - } + public String getName() { + // TODO Auto-generated method stub return null; } - /** - * Returns the eclipse project of the file with the textual representation of the feature model - * - * @return the project of the file or null if not known - */ - private IProject getProject() { - if ((featureModelFile == null) || IS_USED_AS_API) { - return null; - } - - final IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IPath filePath; - try { - filePath = Path.fromOSString(featureModelFile.getCanonicalPath()); - final IFile file = workspace.getRoot().getFileForLocation(filePath); - if ((null == file) || !file.exists()) { - return workspace.getRoot().getFile(filePath).getProject(); - } - return file.getProject(); - } catch (final IOException e) { - Logger.logError(e); - return null; - } - } - - /** - * Initializes all variables. + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.IPersistentFormat#getSuffix() */ - private void init() { - atrributeConstraintNodes.clear(); - parentStack.clear(); - constraintNodeList.clear(); - usedVariables.clear(); - - extFeatureModel.reset(); - // TODO Layout - // extFeatureModel.getLayout().showHiddenFeatures(true); - // extFeatureModel.getLayout().verticalLayout(false); - if (getProject() != null) { - modelMarkerHandler = new ModelMarkerHandler(getProject().getFile(featureModelFile.getName())); - modelMarkerHandler.deleteAllModelMarkers(); - } - - extFeatureModelName = null; - extFeatureModel.setInterface(false); - - // TODO MPL: Hack for local search - localSearch = (featureModelFile != null) && (featureModelFile.getParentFile() != null) && featureModelFile.getParentFile().getName().equals("velvet"); - } - - private void parseAttribute(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - final String name = checkTree(nodeList.poll()).getText(); - final Tree valueNode = nodeList.poll(); - - switch (valueNode.getType()) { - case VelvetParser.FLOAT: - break; - case VelvetParser.INT: - extFeatureModel.addAttribute(parent.getName(), name, Integer.parseInt(valueNode.getText())); - break; - case VelvetParser.BOOLEAN: - extFeatureModel.addAttribute(parent.getName(), name, Boolean.parseBoolean(valueNode.getText())); - break; - case VelvetParser.STRING: - final String valueNodeText = valueNode.getText(); - extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - 1)); - break; - default: - reportSyntaxError(valueNode); - } - } - - private void parseAttributeConstraints() throws UnsupportedModelException, RecognitionException { - while (!atrributeConstraintNodes.isEmpty()) { - final LinkedList nodeList = getChildren(atrributeConstraintNodes.poll()); - - final LinkedList weightedTerms = new LinkedList<>(); - RelationOperator relationOperator = null; - boolean minus = false; - int degree = 0; - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - case VelvetParser.IDPath: - final String attributeName = curNode.getText(); - - final Collection> attributes = extFeatureModel.getIntegerAttributes().getAttributes(attributeName); - - if (attributes == null) { - throw new UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, - curNode.getLine()); - } - - for (final FeatureAttribute attr : attributes) { - weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, - new Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); - } - - break; - // case VelvetParser.FLOAT: - // break; - case VelvetParser.INT: - final int value = Integer.parseInt(curNode.getText()); - if ((relationOperator == null) ^ minus) { - degree -= value; - } else { - degree += value; - } - break; - case VelvetParser.PLUS: - minus = false; - break; - case VelvetParser.MINUS: - minus = true; - break; - case VelvetParser.ATTR_OP_EQUALS: - relationOperator = RelationOperator.EQUAL; - break; - case VelvetParser.ATTR_OP_NOT_EQUALS: - relationOperator = RelationOperator.NOT_EQUAL; - break; - case VelvetParser.ATTR_OP_GREATER: - relationOperator = RelationOperator.GREATER; - break; - case VelvetParser.ATTR_OP_GREATER_EQ: - relationOperator = RelationOperator.GREATER_EQUAL; - break; - case VelvetParser.ATTR_OP_LESS: - relationOperator = RelationOperator.LESS; - break; - case VelvetParser.ATTR_OP_LESS_EQ: - relationOperator = RelationOperator.LESS_EQUAL; - break; - default: - reportSyntaxError(curNode); - } - } - final Equation equation = new Equation(weightedTerms, relationOperator, degree); - extFeatureModel.addAttributeConstraint(equation); - } - } - - private void parseConcept(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - extFeatureModelName = checkTree(curNode).getText(); - - final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); - rootFeature.getStructure().setAbstract(true); - rootFeature.getStructure().setMandatory(true); - - extFeatureModel.addFeature(rootFeature); - extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); - parentStack.push(rootFeature); - - break; - case VelvetParser.BASEEXT: - useLongNames = true; - parseInheritance(curNode); - break; - case VelvetParser.IMPORTINSTANCE: - useLongNames = true; - parseInstanceImport(curNode); - break; - case VelvetParser.IMPORTINTERFACE: - useLongNames = true; - parseInterfaceImport(curNode); - break; - case VelvetParser.DEF: - parseDefinitions(curNode); - break; - default: - reportSyntaxError(curNode); - } - } - - for (final ConstraintNode constraintNode : constraintNodeList) { - if (!IS_USED_AS_API) { - final String nameError = checkNode(constraintNode.computedNode); - if (nameError == null) { - extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); - } else { - reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); - } - } else { - extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); - } - } - } - - private void parseConstraint(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.ID: - // name = curNode.getText(); - break; - case VelvetParser.CONSTR: - Node newNode = parseConstraint_rec(curNode); - if (useLongNames) { - newNode = new Implies(new Literal(parent.getName()), newNode); - } - constraintNodeList.add(new ConstraintNode(newNode, curNode)); - break; - case VelvetParser.ACONSTR: - atrributeConstraintNodes.add(curNode); - break; - default: - reportSyntaxError(curNode); - } - } - } - - private Node parseConstraint_rec(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - final LinkedList nodes = new LinkedList<>(); - final LinkedList operators = new LinkedList<>(); - final LinkedList unaryOp = new LinkedList<>(); - Node n = null; - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.UNARYOP: - unaryOp.push(curNode.getChild(0).getType()); - break; - case VelvetParser.CONSTR: - n = parseConstraint_rec(curNode); - break; - case VelvetParser.OPERAND: - n = new Literal(curNode.getChild(0).getText()); - break; - default: - operators.add(curNode.getType()); - } - - if (n != null) { - while (!unaryOp.isEmpty()) { - switch (unaryOp.pop()) { - case VelvetParser.OP_NOT: - n = new Not(n); - } - } - nodes.add(n); - n = null; - } - } - if (!operators.isEmpty()) { - for (final int operator : binaryOperators) { - final ListIterator nodesIt = nodes.listIterator(); - for (final ListIterator opIt = operators.listIterator(); opIt.hasNext();) { - final Node operand1 = nodesIt.next(); - if (opIt.next() == operator) { - opIt.remove(); - nodesIt.remove(); - final Node operand2 = nodesIt.next(); - switch (operator) { - case VelvetParser.OP_AND: - nodesIt.set(new And(operand1, operand2)); - break; - case VelvetParser.OP_OR: - nodesIt.set(new Or(operand1, operand2)); - break; - case VelvetParser.OP_XOR: - nodesIt.set(new Choose(1, operand1, operand2)); - break; - case VelvetParser.OP_IMPLIES: - nodesIt.set(new Implies(operand1, operand2)); - break; - case VelvetParser.OP_EQUIVALENT: - nodesIt.set(new Equals(operand1, operand2)); - break; - } - nodesIt.previous(); - } - } - } - } - if (nodes.isEmpty()) { - return null; - } - - return nodes.getFirst(); - } - - private void parseDefinitions(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - final IFeature parentFeature = parentStack.pop(); - // parentFeature.getStructure().setAnd(); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - // Feature - case VelvetParser.FEATURE: - parseFeature(curNode, parentFeature); - break; - // Feature-Group - case VelvetParser.GROUP: - parseFeatureGroup(curNode, parentFeature); - break; - // Constraint - case VelvetParser.CONSTRAINT: - parseConstraint(curNode, parentFeature); - break; - // Use - case VelvetParser.USE: - parseUse(curNode, parentFeature); - break; - // Attribute - case VelvetParser.ATTR: - parseAttribute(curNode, parentFeature); - break; - case VelvetParser.DESCRIPTION: - parseDescription(curNode, parentFeature); - break; - case VelvetParser.EMPTY: - break; - default: - reportSyntaxError(curNode); - } - } - - } - - private void parseDescription(Tree root, IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - final Tree valueNode = nodeList.poll(); - - switch (valueNode.getType()) { - case VelvetParser.STRING: - final String valueNodeText = valueNode.getText(); - parent.getProperty().setDescription(valueNodeText.substring(1, valueNodeText.length() - 1).replace("\\\"", "\"")); - break; - default: - reportSyntaxError(valueNode); - } - } - - // XXX Quickfix for issue #383, useLongNames should only be active for MPL models - private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { - final LinkedList childList = getChildren(root); - final String featureName; - if (extFeatureModel.isInterface()) { - featureName = checkTree(childList.poll()).getText(); - } else { - final String childName = checkTree(childList.poll()).getText(); - if (useLongNames && !childName.startsWith(parent.getName())) { - featureName = parent.getName() + "." + childName; - } else { - featureName = childName; - } - } - boolean isMandatory = false, isAbstract = false, moreDefinitions = false; - - Tree childNode = null; - while (!childList.isEmpty() && !moreDefinitions) { - childNode = childList.poll(); - - switch (childNode.getType()) { - case VelvetParser.MANDATORY: - isMandatory = true; - break; - case VelvetParser.ABSTRACT: - isAbstract = true; - break; - case VelvetParser.DEF: - moreDefinitions = true; - break; - default: - reportSyntaxError(childNode); - } - } - - final MultiFeature newFeature = addFeature(parent, featureName, isMandatory, isAbstract, false); - if (moreDefinitions) { - parentStack.push(newFeature); - parseDefinitions(childNode); - } - } - - private void parseFeatureGroup(final Tree root, final IFeature parent) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - - switch (curNode.getType()) { - case VelvetParser.SOMEOF: - parent.getStructure().setOr(); - break; - case VelvetParser.ONEOF: - parent.getStructure().setAlternative(); - break; - case VelvetParser.FEATURE: - parseFeature(curNode, parent); - break; - default: - reportSyntaxError(curNode); - } - } - } - - private void parseInheritance(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - final String parentModelName = checkTree(curNode).getText(); - - final IFeatureModel fm = getExternalFeatureModel(curNode); - if (fm == null) { - return; - } - - if (!extFeatureModel.addInheritance(parentModelName, parentModelName, null)) { - reportWarning(curNode, THE_PARENT_MODEL + parentModelName + IS_ALREADY_USED_); - return; - } - addExternalFeatures(fm, parentModelName, extFeatureModel.getStructure().getRoot(), MultiFeature.TYPE_INHERITED); - } - } - - private void addExternalFeatures(IFeatureModel sourceModel, String sourceModelName, IFeatureStructure targetParentFeature, int type) { - if (sourceModel instanceof MultiFeatureModel) { - for (final UsedModel usedModel : ((MultiFeatureModel) sourceModel).getExternalModels().values()) { - extFeatureModel.addExternalModel(new UsedModel(usedModel, sourceModelName)); - } - } - - final UsedModel usedModel = extFeatureModel.getExternalModel(sourceModelName); - if (usedModel != null) { - usedModel.setPrefix(targetParentFeature.getFeature().getName() + "." + sourceModelName); - } - - final IFeatureStructure instanceRoot = sourceModel.getStructure().getRoot(); - - String connectorName = ""; - if (type == MultiFeature.TYPE_INHERITED) { - connectorName = targetParentFeature.getFeature().getName(); - } else { - connectorName = (targetParentFeature.isRoot() && targetParentFeature.getFeature().getName().equals(sourceModelName)) - ? targetParentFeature.getFeature().getName() : targetParentFeature.getFeature().getName() + "." + sourceModelName; - } - final MultiFeature connector = addFeature(targetParentFeature.getFeature(), connectorName, true, true, instanceRoot.isHidden()); - connector.setType(type); - connector.setExternalModelName(sourceModelName); - if (instanceRoot.isAlternative()) { - connector.getStructure().setAlternative(); - } else if (instanceRoot.isOr()) { - connector.getStructure().setOr(); - } - - copyChildnodes(extFeatureModel, connector.getStructure(), instanceRoot, sourceModelName, connectorName, type); - - for (final IConstraint constraint : sourceModel.getConstraints()) { - final Node constraintNode = constraint.getNode(); - updateConstraintNode(constraintNode, connectorName, instanceRoot.getFeature().getName(), extFeatureModel); - final MultiConstraint newConstraint = (MultiConstraint) factory.createConstraint(extFeatureModel, constraintNode); - newConstraint.setType(type); - extFeatureModel.addConstraint(newConstraint); - } - } - - private void parseInterfaceImport(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree idNode = checkTree(nodeList.poll()); - final String interfaceName = idNode.getText(); - final Tree nameNode = checkTree(nodeList.poll()); - final String varName = nameNode.getText(); - - if (checkInterfaceModelFile(idNode)) { - if (!extFeatureModel.addInterface(interfaceName, varName, null)) { - reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); - } - } - } - } - - private void parseInstanceImport(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - - while (!nodeList.isEmpty()) { - final Tree idNode = checkTree(nodeList.poll()); - final String interfaceName = idNode.getText(); - final Tree nameNode = checkTree(nodeList.poll()); - final String varName = nameNode.getText(); - - if (checkExternalModelFile(idNode)) { - if (!extFeatureModel.addInstance(interfaceName, varName, null)) { - reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); - } - } - } - } - - private void parseModel(final Tree root) throws RecognitionException { - final LinkedList nodeList = getChildren(root); - while (!nodeList.isEmpty()) { - final Tree curNode = nodeList.poll(); - switch (curNode.getType()) { - case VelvetParser.IMPORT: - useLongNames = true; - parseImport(curNode); - break; - case VelvetParser.CONCEPT: - parseConcept(curNode); - break; - case VelvetParser.CINTERFACE: - extFeatureModel.setInterface(true); - parseConcept(curNode); - break; - case VelvetParser.EOF: - if (curNode.getTokenStartIndex() > -1) { - break; - } - default: - reportSyntaxError(curNode); - } - } - if (!IS_USED_AS_API) { - final IFeatureModelFactory mappingModelFactory = DefaultFeatureModelFactory.getInstance(); - final IFeatureModel mappingModel = mappingModelFactory.create(); - final IFeatureStructure rootFeature = mappingModelFactory.createFeature(mappingModel, "MPL").getStructure(); - rootFeature.setAnd(); - rootFeature.setAbstract(true); - rootFeature.setMandatory(true); - - final LinkedList possibleProjects = new LinkedList<>(); - final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); - for (int i = 0; i < projects.length; i++) { - final IProject project = projects[i]; - if (project.isAccessible()) { - possibleProjects.add(project.getName()); - } - } - - for (final Entry parameter : extFeatureModel.getExternalModels().entrySet()) { - if (parameter.getValue().getType() == MultiFeature.TYPE_INTERFACE) { - final IFeatureStructure parameterFeature = mappingModelFactory.createFeature(mappingModel, parameter.getKey()).getStructure(); - parameterFeature.setOr(); - parameterFeature.setAbstract(true); - parameterFeature.setMandatory(true); - rootFeature.addChild(parameterFeature); - - for (final String projectName : possibleProjects) { - final IFeatureStructure projectFeature = - mappingModelFactory.createFeature(mappingModel, parameterFeature.getFeature().getName() + "." + projectName).getStructure(); - projectFeature.setAbstract(false); - projectFeature.setMandatory(false); - parameterFeature.addChild(projectFeature); - } - } - } - - mappingModel.getStructure().setRoot(rootFeature); - extFeatureModel.setMappingModel(mappingModel); - } - } - - private void parseImport(Tree curNode) throws RecognitionException { - final LinkedList nodeList = getChildren(curNode); - while (!nodeList.isEmpty()) { - final Tree node = nodeList.poll(); - final String text = node.getText(); - extFeatureModel.addImport(text); - } - } - - private void parseUse(Tree root, IFeature parent) throws RecognitionException { - final LinkedList childList = getChildren(root); - final Tree useNameNode = checkTree(childList.poll()); - final String varName = useNameNode.getText(); - - if (!usedVariables.add(varName)) { - reportWarning(useNameNode, format("The Variable with the name %s was already used in this model.", varName)); - return; - } - - final UsedModel usedModel = extFeatureModel.getExternalModel(varName); - if (usedModel == null) { - reportWarning(useNameNode, format("No variable with the name %s found.", varName)); - return; - } - - switch (usedModel.getType()) { - case MultiFeature.TYPE_INTERFACE: - final IFeatureModel interfaceModel = getInterfaceFeatureModel(usedModel.getModelName(), useNameNode); - if (interfaceModel == null) { - return; - } - addExternalFeatures(interfaceModel, varName, parent.getStructure(), MultiFeature.TYPE_INTERFACE); - break; - case MultiFeature.TYPE_INSTANCE: - final IFeatureModel instanceModel = getExternalFeatureModel(usedModel.getModelName(), useNameNode); - if (instanceModel == null) { - return; - } - addExternalFeatures(instanceModel, varName, parent.getStructure(), MultiFeature.TYPE_INSTANCE); - break; - default: - reportWarning(useNameNode, format("The variable with the name %s is no interface or instance.", varName)); - } - } - - private void reportWarning(Tree curNode, String message) { - if (modelMarkerHandler != null) { - modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_WARNING, curNode.getLine()); - } - Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + featureModelFile.getName() : "") + ": \"" - + curNode.getText() + "\")"); - } - - private Tree checkTree(Tree root) throws RecognitionException { - if (root instanceof CommonErrorNode) { - throwException(((CommonErrorNode) root).trappedException, root); - } - return root; - } - - private void reportSyntaxError(Tree curNode) throws RecognitionException { - checkTree(curNode); - final RecognitionException ex = new RecognitionException(); - ex.line = 1; - ex.charPositionInLine = 1; - throwException(ex, curNode); - } - - private void throwException(RecognitionException e, Tree curNode) throws RecognitionException { - if (modelMarkerHandler != null) { - final String text = ""; - - if (curNode != null) { - curNode.getText(); - } - final String message = ILLEGAL_SYNTAX_IN_LINE + e.line + ":" + e.charPositionInLine + ". " + text; - modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_ERROR, e.line); - } - throw e; - } - @Override public String getSuffix() { - return FILE_EXTENSION; - } - - @Override - public VelvetFeatureModelFormat getInstance() { - return new VelvetFeatureModelFormat(this); + // TODO Auto-generated method stub + return null; } + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.IExtension#getId() + */ @Override public String getId() { - return ID; - } - - @Override - public String getName() { - return "Velvet"; - } - - @Override - public boolean initExtension() { - if (super.initExtension()) { - FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(VelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); - } - return false; + // TODO Auto-generated method stub + return null; } + /* + * public static boolean IS_USED_AS_API = false; public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + + * VelvetFeatureModelFormat.class.getSimpleName(); public static final String FILE_EXTENSION = "velvet"; protected File featureModelFile; private static + * final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; private static final String NEWLINE = + * System.getProperty("line.separator", "\n"); private final StringBuilder sb = new StringBuilder(); public + * VelvetFeatureModelFormat(VelvetFeatureModelFormat oldFormat) { super(oldFormat); useLongNames = oldFormat.useLongNames; } + *//** + * If true an interface will be created. Otherwise it is named CONCEPT + */ + /* + * private boolean isInterface = false; private boolean useLongNames; public VelvetFeatureModelFormat() { useLongNames = false; } + * @Override public boolean supportsRead() { return true; } + * @Override public boolean supportsWrite() { return true; } + * @Override public String write(IFeatureModel object) { if (object instanceof MultiFeatureModel) { extFeatureModel = (MultiFeatureModel) object; + * isInterface = isInterface || extFeatureModel.isInterface(); } final IFeatureStructure root = object.getStructure().getRoot(); sb.delete(0, sb.length()); + * if (isInterface) { sb.append("cinterface "); } else { sb.append("concept "); } sb.append(root.getFeature().getName()); if (extFeatureModel != null) { + * usedVariables.clear(); final LinkedList inheritedModels = new LinkedList<>(); final LinkedList + * instanceModels = new LinkedList<>(); final LinkedList interfaceModels = new LinkedList<>(); for (final UsedModel usedModel : + * extFeatureModel.getExternalModels().values()) { switch (usedModel.getType()) { case MultiFeature.TYPE_INHERITED: inheritedModels.add(usedModel); break; + * case MultiFeature.TYPE_INSTANCE: instanceModels.add(usedModel); break; case MultiFeature.TYPE_INTERFACE: interfaceModels.add(usedModel); break; } } if + * (!inheritedModels.isEmpty()) { useLongNames = true; sb.append(" : "); sb.append(inheritedModels.removeFirst().getModelName()); for (final UsedModel + * usedModel : inheritedModels) { sb.append(", "); sb.append(usedModel.getModelName()); } } if (!instanceModels.isEmpty()) { useLongNames = true; + * sb.append(NEWLINE); sb.append("\tinstance "); sb.append(instanceModels.removeFirst()); for (final UsedModel usedModel : instanceModels) { + * sb.append(", "); sb.append(usedModel); } } if (!interfaceModels.isEmpty()) { useLongNames = true; sb.append(NEWLINE); sb.append("\tinterface "); + * sb.append(interfaceModels.removeFirst()); for (final UsedModel usedModel : interfaceModels) { sb.append(", "); sb.append(usedModel); } } } + * sb.append(" {"); sb.append(NEWLINE); if ((extFeatureModel != null) && !isInterface) { for (final IFeatureStructure child : root.getChildren()) { + * writeNewDefined(child, 1); } for (final IConstraint constrapublic static boolean IS_USED_AS_API = false;int : object.getConstraints()) { if + * (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); + * sb.append(";"); sb.append(NEWLINE); } } } else { writeFeatureGroup(root, 1); for (final IConstraint constraint : object.getConstraints()) { + * sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); sb.append(";"); sb.append(NEWLINE); } } sb.append("}"); return + * sb.toString(); } private void writeFeatureGroup(IFeatureStructure root, int depth) { if (root.isAnd()) { for (final IFeatureStructure feature : + * root.getChildren()) { writeNewDefined(feature, depth + 1); } } else if (root.isOr()) { writeTab(depth + 1); sb.append("someOf {"); sb.append(NEWLINE); + * for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); + * } else if (root.isAlternative()) { writeTab(depth + 1); sb.append("oneOf {"); sb.append(NEWLINE); for (final IFeatureStructure f : root.getChildren()) { + * writeFeature(f, depth + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); } } private void writeFeature(IFeatureStructure feature, int + * depth) { writeTab(depth); if (feature.isAbstract()) { sb.append("abstract "); } if (feature.isMandatory() && ((feature.getParent() == null) || + * feature.getParent().isAnd())) { sb.append("mandatory "); } sb.append("feature "); sb.append(feature.getFeature().getName()); final String description = + * feature.getFeature().getProperty().getDescription(); final boolean hasDescription = (description != null) && !description.isEmpty(); if + * ((feature.getChildrenCount() == 0) && !hasDescription) { sb.append(";"); } else { sb.append(" {"); sb.append(NEWLINE); if (hasDescription) { + * writeTab(depth + 1); sb.append("description \""); sb.append(description.replace("\"", "\\\"")); sb.append("\";"); sb.append(NEWLINE); } + * writeFeatureGroup(feature, depth); writeTab(depth); sb.append("}"); } sb.append(NEWLINE); } // TODO fix write for inherited feature models private void + * writeNewDefined(IFeatureStructure child2, int depth) { final IFeature feature = child2.getFeature(); if (feature instanceof MultiFeature) { final + * MultiFeature extFeature = (MultiFeature) feature; if ((extFeature.getType() == MultiFeature.TYPE_INSTANCE) || (extFeature.getType() == + * MultiFeature.TYPE_INTERFACE)) { if (usedVariables.add(extFeature.getExternalModelName())) { writeTab(depth); sb.append(USE); + * sb.append(extFeature.getExternalModelName()); sb.append(";"); sb.append(NEWLINE); } } else if (extFeature.getType() == MultiFeature.TYPE_INTERN) { + * writeFeature(child2, 1); } } for (final IFeatureStructure child : child2.getChildren()) { writeNewDefined(child, depth); } } private void writeTab(int + * times) { for (int i = 0; i < times; i++) { sb.append('\t'); } } + * @Override public ProblemList read(IFeatureModel object, CharSequence source) { final ProblemList problemList = new ProblemList(); factory = + * MultiFeatureModelFactory.getInstance(); extFeatureModel = (MultiFeatureModel) object; if (extFeatureModel != null) { featureModelFile = + * extFeatureModel.getSourceFile().toFile(); } final ByteArrayInputStream inputstr = new + * ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); try { parseInputStream(inputstr); } catch (final + * UnsupportedModelException e) { problemList.add(new Problem(e, e.lineNumber)); } return problemList; } private static class ConstraintNode { private final + * Node computedNode; private final Tree rawNode; public ConstraintNode(Node computedNode, Tree rawNode) { this.computedNode = computedNode; this.rawNode = + * rawNode; } } private static final int[] binaryOperators = { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, + * VelvetParser.OP_EQUIVALENT }; private static final String[] paths = { "%s.velvet", "%s.xml", "MPL/%s.velvet", "MPL/%s.xml" }; private final + * LinkedList atrributeConstraintNodes = new LinkedList<>(); private final LinkedList parentStack = new LinkedList<>(); private final + * LinkedList constraintNodeList = new LinkedList<>(); private final HashSet usedVariables = new HashSet<>(); // TODO private final + * boolean velvetImport = false; private ModelMarkerHandler modelMarkerHandler; private MultiFeatureModel extFeatureModel; private String + * extFeatureModelName; private boolean localSearch = false; + *//** + * Reads external model with the right FeatureModelReader. + * + * @param file file of feature model + * @return the feature model or null if error occurred + */ + /* + * private IFeatureModel readExternalModelFile(File file) { return FeatureModelManager.load(file.toPath()); } private boolean checkExternalModelFile(Tree + * curNode) { if (localSearch) { if (localSearch(curNode.getText()) == null) { reportWarning(curNode, format("No model for %s could be found.", + * curNode.getText())); return false; } return true; } if (getExternalModelFile(curNode.getText()) == null) { reportWarning(curNode, + * format("No model for %s could be found.", curNode.getText())); return false; } return true; } private boolean checkInterfaceModelFile(Tree curNode) { if + * (localSearch) { if (localSearch(curNode.getText()) == null) { reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); + * return false; } return true; } if (getInterfaceModelFile(curNode.getText()) == null) { reportWarning(curNode, + * format("No interface for %s could be found.", curNode.getText())); return false; } return true; } private void copyChildnodes(final MultiFeatureModel + * targetModel, final IFeatureStructure targetParentNode, final IFeatureStructure sourceParentNode, final String parentModelName, final String + * targetParentName, final int type) { for (final IFeatureStructure sourceChildStructure : sourceParentNode.getChildren()) { final MultiFeature feature; if + * (velvetImport) { feature = (MultiFeature) factory.createFeature(targetModel, sourceChildStructure.getFeature().getName()); } else { final String + * shortName = sourceChildStructure.getFeature().getName().replace(sourceParentNode.getFeature().getName() + ".", ""); feature = (MultiFeature) + * factory.createFeature(targetModel, targetParentName + "." + shortName); } final IFeatureStructure targetChildStructure = feature.getStructure(); + * targetChildStructure.setMandatory(sourceChildStructure.isMandatory()); targetChildStructure.setAbstract(sourceChildStructure.isAbstract()); + * targetChildStructure.setHidden(sourceChildStructure.isHidden()); feature.setExternalModelName(parentModelName); + * targetChildStructure.setAND(sourceChildStructure.isAnd()); targetChildStructure.setMultiple(sourceChildStructure.isMultiple()); if + * (sourceChildStructure.isOr()) { targetChildStructure.setOr(); } targetModel.addFeature(feature); targetParentNode.addChild(targetChildStructure); + * feature.setType(type); if (sourceChildStructure.hasChildren()) { copyChildnodes(targetModel, targetChildStructure, sourceChildStructure, parentModelName, + * feature.getName(), type); } } } private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference + * reference) { boolean positive = weight >= 0; if (rightSide ^ minus) { positive = !positive; } return new WeightedTerm(Math.abs(weight), positive, + * reference); } private static LinkedList getChildren(final Tree root) { final LinkedList children = new LinkedList<>(); final int childCount = + * root.getChildCount(); for (int i = 0; i < childCount; i++) { children.add(root.getChild(i)); } return children; } private static void + * updateConstraintNode(Node curNode, String parentModelname, String rootName, IFeatureModel targetModel) { if (curNode instanceof Literal) { final Literal + * literal = (Literal) curNode; if (literal.var.equals(rootName)) { literal.var = parentModelname; } else { // if fully qualified name IFeature feature = + * targetModel.getFeature(literal.var.toString().replace(rootName, parentModelname)); if (feature == null) { // else feature = + * targetModel.getFeature(parentModelname + "." + literal.var.toString()); } literal.var = feature.getName(); } } else { for (final Node child : + * curNode.getChildren()) { updateConstraintNode(child, parentModelname, rootName, targetModel); } } } protected synchronized void parseInputStream(final + * InputStream inputStream) throws UnsupportedModelException { CharStream charStream = null; try { charStream = CharStreams.fromStream(inputStream); } catch + * (final IOException e) { Logger.logError(e); throw new UnsupportedModelException("Error while reading model!", 0); } final VelvetParser parser = new + * VelvetParser(new CommonTokenStream(new VelvetLexer(charStream))); Tree root = null; try { init(); root = (Tree) parser.velvetModel().getTree(); if (root + * == null) { throw new UnsupportedModelException("Error while parsing model!", 0); } checkTree(root); parseModel(root); parseAttributeConstraints(); } + * catch (RecognitionException | VelvetParser.InternalSyntaxException e) { RecognitionException re; if (e instanceof VelvetParser.InternalSyntaxException) { + * re = ((VelvetParser.InternalSyntaxException) e).getException(); } else { re = (RecognitionException) e; } Logger.logError(re); final String + * internalMessage = parser.getErrorMessage(re, parser.getTokenNames()); final String errorMessage = ILLEGAL_SYNTAX_IN_LINE + re.line + ":" + + * re.charPositionInLine + " (" + internalMessage + ")"; final UnsupportedModelException unsupportedModelException = new + * UnsupportedModelException(errorMessage, re.line); unsupportedModelException.addSuppressed(re); throw unsupportedModelException; } } private MultiFeature + * addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean isAbstract, final boolean isHidden) { final + * MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); newFeature.getStructure().setMandatory(isMandatory); + * newFeature.getStructure().setAbstract(isAbstract); newFeature.getStructure().setHidden(isHidden); final IFeature orgFeature = + * extFeatureModel.getFeature(featureName); if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { return (MultiFeature) orgFeature; } else { + * extFeatureModel.addFeature(newFeature); parent.getStructure().addChild(newFeature.getStructure()); newFeature.setNewDefined(true); return newFeature; } } + * private String checkNode(Node curNode) { if (curNode instanceof Literal) { final Literal literal = (Literal) curNode; final String varString = + * literal.var.toString(); if (extFeatureModel.getFeature(varString) == null) { return literal.var.toString(); } } else { for (final Node child : + * curNode.getChildren()) { final String childRet = checkNode(child); if (childRet != null) { return childRet; } } } return null; } private IFeatureModel + * getExternalFeatureModel(Tree curNode) { final File modelFile = getExternalModelFile(curNode.getText()); if (modelFile == null) { reportWarning(curNode, + * format("No model for %s could be found.", curNode.getText())); return null; } return readModel(modelFile, curNode); } private IFeatureModel + * getExternalFeatureModel(String modelName, Tree curNode) { final File modelFile = getExternalModelFile(modelName); if (modelFile == null) { return null; } + * return readModel(modelFile, curNode); } private IFeatureModel getInterfaceFeatureModel(String modelName, Tree curNode) { final File modelFile = + * getInterfaceModelFile(modelName); if (modelFile == null) { return null; } return readModel(modelFile, curNode); } private IFeatureModel readModel(File + * modelFile, Tree curNode) { IFeatureModel fm = null; if (IS_USED_AS_API) { fm = readExternalModelFileAPI(modelFile); } else { fm = + * readExternalModelFile(modelFile); } if (fm == null) { reportWarning(curNode, format("External model for %s could not be read.", curNode.getText())); + * return null; } return fm; } private IFeatureModel readExternalModelFileAPI(File file) { final IFeatureModel fm = new MultiFeatureModelFactory().create(); + * fm.setSourceFile(file.toPath()); SimpleFileHandler.load(file.toPath(), fm, FMFormatManager.getInstance()); return fm; } + *//** + * Search for the right File to include etc. The following search path is used:
  1. ./NAME.velvet
  2. ./NAME.xml
  3. + *
  4. ./MPL/NAME.velvet
  5. /NAME_AS_PROJECT/model.xml
+ * + * @param name the name of file or project + * @return File object if found else null + */ + /* + * private File getExternalModelFile(String name) { if (!extFeatureModel.getImports().isEmpty() && !IS_USED_AS_API) { for (final String path : + * extFeatureModel.getImports()) { final IProject project = getProject(); if (!path.endsWith(name)) { continue; } if (project != null) { IResource res = + * project.getFile(path + ".xml"); if ((res != null) && res.exists()) { return res.getLocation().toFile(); } res = project.getFile(path + ".velvet"); if + * ((res != null) && res.exists()) { return res.getLocation().toFile(); } } } } if (localSearch || IS_USED_AS_API) { return localSearch(name); } File + * returnFile = null; // local search IProject project = getProject(); if (project != null) { for (int i = 0; i < paths.length; i++) { final IResource res = + * project.findMember(format(paths[i], name)); if (res != null) { returnFile = res.getLocation().toFile(); if (returnFile.equals(featureModelFile)) { + * returnFile = null; } else { break; } } } } // external search if (returnFile == null) { // if could not get current project or could not find file in + * current // project assume the name is the project name project = ResourcesPlugin.getWorkspace().getRoot().getProject(name); if (project.isAccessible()) { + * returnFile = project.getFile("model.xml").getLocation().toFile(); if (returnFile.equals(featureModelFile)) { return null; } } else { + * Logger.logWarning(format("Project %s is not accessible.", name)); } } if ((returnFile == null) || !returnFile.exists() || !returnFile.canRead()) { return + * null; } return returnFile; } private File getInterfaceModelFile(String name) { if (localSearch) { return localSearch(name); } File returnFile = null; + * final IProject project = getProject(); if (project != null) { final IResource res = project.findMember(format("Interfaces/%s.velvet", name)); if (res != + * null) { returnFile = res.getLocation().toFile(); } } return returnFile; } private File localSearch(final String name) { if (featureModelFile != null) { + * final File searchDir = new File(featureModelFile.getParentFile(), "MPL"); if (searchDir != null) { final File[] files = searchDir.listFiles(new + * FilenameFilter() { + * @Override public boolean accept(File dir, String fileName) { final int index = fileName.lastIndexOf('.'); return (index > 0) && fileName.substring(0, + * index).equals(name) && fileName.substring(index + 1).matches("xml|velvet"); } }); if ((files != null) && (files.length > 0)) { return files[0]; } } } + * return null; } + *//** + * Returns the eclipse project of the file with the textual representation of the feature model + * + * @return the project of the file or null if not known + */ + /* + * private IProject getProject() { if ((featureModelFile == null) || IS_USED_AS_API) { return null; } final IWorkspace workspace = + * ResourcesPlugin.getWorkspace(); IPath filePath; try { filePath = Path.fromOSString(featureModelFile.getCanonicalPath()); final IFile file = + * workspace.getRoot().getFileForLocation(filePath); if ((null == file) || !file.exists()) { return workspace.getRoot().getFile(filePath).getProject(); } + * return file.getProject(); } catch (final IOException e) { Logger.logError(e); return null; } } + *//** + * Initializes all variables. + *//* + * private void init() { atrributeConstraintNodes.clear(); parentStack.clear(); constraintNodeList.clear(); usedVariables.clear(); + * extFeatureModel.reset(); // TODO Layout // extFeatureModel.getLayout().showHiddenFeatures(true); // + * extFeatureModel.getLayout().verticalLayout(false); if (getProject() != null) { modelMarkerHandler = new + * ModelMarkerHandler(getProject().getFile(featureModelFile.getName())); modelMarkerHandler.deleteAllModelMarkers(); } + * extFeatureModelName = null; extFeatureModel.setInterface(false); // TODO MPL: Hack for local search localSearch = (featureModelFile != null) && + * (featureModelFile.getParentFile() != null) && featureModelFile.getParentFile().getName().equals("velvet"); } private void parseAttribute(final + * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final String name = + * checkTree(nodeList.poll()).getText(); final Tree valueNode = nodeList.poll(); switch (valueNode.getType()) { case VelvetParser.FLOAT: break; case + * VelvetParser.INT: extFeatureModel.addAttribute(parent.getName(), name, Integer.parseInt(valueNode.getText())); break; case VelvetParser.BOOLEAN: + * extFeatureModel.addAttribute(parent.getName(), name, Boolean.parseBoolean(valueNode.getText())); break; case VelvetParser.STRING: final String + * valueNodeText = valueNode.getText(); extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - + * 1)); break; default: reportSyntaxError(valueNode); } } private void parseAttributeConstraints() throws UnsupportedModelException, + * RecognitionException { while (!atrributeConstraintNodes.isEmpty()) { final LinkedList nodeList = + * getChildren(atrributeConstraintNodes.poll()); final LinkedList weightedTerms = new LinkedList<>(); RelationOperator + * relationOperator = null; boolean minus = false; int degree = 0; while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch + * (curNode.getType()) { case VelvetParser.ID: case VelvetParser.IDPath: final String attributeName = curNode.getText(); final + * Collection> attributes = extFeatureModel.getIntegerAttributes().getAttributes(attributeName); if (attributes == null) { + * throw new UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, curNode.getLine()); } + * for (final FeatureAttribute attr : attributes) { weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, new + * Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); } break; // case VelvetParser.FLOAT: // break; case VelvetParser.INT: + * final int value = Integer.parseInt(curNode.getText()); if ((relationOperator == null) ^ minus) { degree -= value; } else { degree += value; } + * break; case VelvetParser.PLUS: minus = false; break; case VelvetParser.MINUS: minus = true; break; case VelvetParser.ATTR_OP_EQUALS: + * relationOperator = RelationOperator.EQUAL; break; case VelvetParser.ATTR_OP_NOT_EQUALS: relationOperator = RelationOperator.NOT_EQUAL; break; + * case VelvetParser.ATTR_OP_GREATER: relationOperator = RelationOperator.GREATER; break; case VelvetParser.ATTR_OP_GREATER_EQ: relationOperator = + * RelationOperator.GREATER_EQUAL; break; case VelvetParser.ATTR_OP_LESS: relationOperator = RelationOperator.LESS; break; case + * VelvetParser.ATTR_OP_LESS_EQ: relationOperator = RelationOperator.LESS_EQUAL; break; default: reportSyntaxError(curNode); } } final Equation + * equation = new Equation(weightedTerms, relationOperator, degree); extFeatureModel.addAttributeConstraint(equation); } } private void + * parseConcept(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { + * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: extFeatureModelName = checkTree(curNode).getText(); + * final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); + * rootFeature.getStructure().setAbstract(true); rootFeature.getStructure().setMandatory(true); extFeatureModel.addFeature(rootFeature); + * extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); parentStack.push(rootFeature); break; case VelvetParser.BASEEXT: useLongNames + * = true; parseInheritance(curNode); break; case VelvetParser.IMPORTINSTANCE: useLongNames = true; parseInstanceImport(curNode); break; case + * VelvetParser.IMPORTINTERFACE: useLongNames = true; parseInterfaceImport(curNode); break; case VelvetParser.DEF: parseDefinitions(curNode); break; + * default: reportSyntaxError(curNode); } } for (final ConstraintNode constraintNode : constraintNodeList) { if (!IS_USED_AS_API) { final String + * nameError = checkNode(constraintNode.computedNode); if (nameError == null) { + * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } else { + * reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); } } else { + * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } } } private void parseConstraint(final + * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) + * { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: // name = curNode.getText(); break; case + * VelvetParser.CONSTR: Node newNode = parseConstraint_rec(curNode); if (useLongNames) { newNode = new Implies(new Literal(parent.getName()), + * newNode); } constraintNodeList.add(new ConstraintNode(newNode, curNode)); break; case VelvetParser.ACONSTR: + * atrributeConstraintNodes.add(curNode); break; default: reportSyntaxError(curNode); } } } private Node parseConstraint_rec(final Tree root) throws + * RecognitionException { final LinkedList nodeList = getChildren(root); final LinkedList nodes = new LinkedList<>(); final + * LinkedList operators = new LinkedList<>(); final LinkedList unaryOp = new LinkedList<>(); Node n = null; while + * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.UNARYOP: + * unaryOp.push(curNode.getChild(0).getType()); break; case VelvetParser.CONSTR: n = parseConstraint_rec(curNode); break; case VelvetParser.OPERAND: + * n = new Literal(curNode.getChild(0).getText()); break; default: operators.add(curNode.getType()); } if (n != null) { while (!unaryOp.isEmpty()) { + * switch (unaryOp.pop()) { case VelvetParser.OP_NOT: n = new Not(n); } } nodes.add(n); n = null; } } if (!operators.isEmpty()) { for (final int + * operator : binaryOperators) { final ListIterator nodesIt = nodes.listIterator(); for (final ListIterator opIt = + * operators.listIterator(); opIt.hasNext();) { final Node operand1 = nodesIt.next(); if (opIt.next() == operator) { opIt.remove(); + * nodesIt.remove(); final Node operand2 = nodesIt.next(); switch (operator) { case VelvetParser.OP_AND: nodesIt.set(new And(operand1, operand2)); + * break; case VelvetParser.OP_OR: nodesIt.set(new Or(operand1, operand2)); break; case VelvetParser.OP_XOR: nodesIt.set(new Choose(1, operand1, + * operand2)); break; case VelvetParser.OP_IMPLIES: nodesIt.set(new Implies(operand1, operand2)); break; case VelvetParser.OP_EQUIVALENT: + * nodesIt.set(new Equals(operand1, operand2)); break; } nodesIt.previous(); } } } } if (nodes.isEmpty()) { return null; } return nodes.getFirst(); + * } private void parseDefinitions(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); final + * IFeature parentFeature = parentStack.pop(); // parentFeature.getStructure().setAnd(); while (!nodeList.isEmpty()) { final Tree curNode = + * nodeList.poll(); switch (curNode.getType()) { // Feature case VelvetParser.FEATURE: parseFeature(curNode, parentFeature); break; // Feature-Group + * case VelvetParser.GROUP: parseFeatureGroup(curNode, parentFeature); break; // Constraint case VelvetParser.CONSTRAINT: parseConstraint(curNode, + * parentFeature); break; // Use case VelvetParser.USE: parseUse(curNode, parentFeature); break; // Attribute case VelvetParser.ATTR: + * parseAttribute(curNode, parentFeature); break; case VelvetParser.DESCRIPTION: parseDescription(curNode, parentFeature); break; case + * VelvetParser.EMPTY: break; default: reportSyntaxError(curNode); } } } private void parseDescription(Tree root, IFeature parent) throws + * RecognitionException { final LinkedList nodeList = getChildren(root); final Tree valueNode = nodeList.poll(); switch (valueNode.getType()) + * { case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); parent.getProperty().setDescription(valueNodeText.substring(1, + * valueNodeText.length() - 1).replace("\\\"", "\"")); break; default: reportSyntaxError(valueNode); } } // XXX Quickfix for issue #383, + * useLongNames should only be active for MPL models private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { final + * LinkedList childList = getChildren(root); final String featureName; if (extFeatureModel.isInterface()) { featureName = + * checkTree(childList.poll()).getText(); } else { final String childName = checkTree(childList.poll()).getText(); if (useLongNames && + * !childName.startsWith(parent.getName())) { featureName = parent.getName() + "." + childName; } else { featureName = childName; } } boolean + * isMandatory = false, isAbstract = false, moreDefinitions = false; Tree childNode = null; while (!childList.isEmpty() && !moreDefinitions) { + * childNode = childList.poll(); switch (childNode.getType()) { case VelvetParser.MANDATORY: isMandatory = true; break; case VelvetParser.ABSTRACT: + * isAbstract = true; break; case VelvetParser.DEF: moreDefinitions = true; break; default: reportSyntaxError(childNode); } } final MultiFeature + * newFeature = addFeature(parent, featureName, isMandatory, isAbstract, false); if (moreDefinitions) { parentStack.push(newFeature); + * parseDefinitions(childNode); } } private void parseFeatureGroup(final Tree root, final IFeature parent) throws RecognitionException { final + * LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { + * case VelvetParser.SOMEOF: parent.getStructure().setOr(); break; case VelvetParser.ONEOF: parent.getStructure().setAlternative(); break; case + * VelvetParser.FEATURE: parseFeature(curNode, parent); break; default: reportSyntaxError(curNode); } } } private void parseInheritance(final Tree + * root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = + * nodeList.poll(); final String parentModelName = checkTree(curNode).getText(); final IFeatureModel fm = getExternalFeatureModel(curNode); if (fm + * == null) { return; } if (!extFeatureModel.addInheritance(parentModelName, parentModelName, null)) { reportWarning(curNode, THE_PARENT_MODEL + + * parentModelName + IS_ALREADY_USED_); return; } addExternalFeatures(fm, parentModelName, extFeatureModel.getStructure().getRoot(), + * MultiFeature.TYPE_INHERITED); } } private void addExternalFeatures(IFeatureModel sourceModel, String sourceModelName, IFeatureStructure + * targetParentFeature, int type) { if (sourceModel instanceof MultiFeatureModel) { for (final UsedModel usedModel : ((MultiFeatureModel) + * sourceModel).getExternalModels().values()) { extFeatureModel.addExternalModel(new UsedModel(usedModel, sourceModelName)); } } final UsedModel + * usedModel = extFeatureModel.getExternalModel(sourceModelName); if (usedModel != null) { + * usedModel.setPrefix(targetParentFeature.getFeature().getName() + "." + sourceModelName); } final IFeatureStructure instanceRoot = + * sourceModel.getStructure().getRoot(); String connectorName = ""; if (type == MultiFeature.TYPE_INHERITED) { connectorName = + * targetParentFeature.getFeature().getName(); } else { connectorName = (targetParentFeature.isRoot() && + * targetParentFeature.getFeature().getName().equals(sourceModelName)) ? targetParentFeature.getFeature().getName() : + * targetParentFeature.getFeature().getName() + "." + sourceModelName; } final MultiFeature connector = addFeature(targetParentFeature.getFeature(), + * connectorName, true, true, instanceRoot.isHidden()); connector.setType(type); connector.setExternalModelName(sourceModelName); if + * (instanceRoot.isAlternative()) { connector.getStructure().setAlternative(); } else if (instanceRoot.isOr()) { connector.getStructure().setOr(); } + * copyChildnodes(extFeatureModel, connector.getStructure(), instanceRoot, sourceModelName, connectorName, type); for (final IConstraint constraint + * : sourceModel.getConstraints()) { final Node constraintNode = constraint.getNode(); updateConstraintNode(constraintNode, connectorName, + * instanceRoot.getFeature().getName(), extFeatureModel); final MultiConstraint newConstraint = (MultiConstraint) + * factory.createConstraint(extFeatureModel, constraintNode); newConstraint.setType(type); extFeatureModel.addConstraint(newConstraint); } } private + * void parseInterfaceImport(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while + * (!nodeList.isEmpty()) { final Tree idNode = checkTree(nodeList.poll()); final String interfaceName = idNode.getText(); final Tree nameNode = + * checkTree(nodeList.poll()); final String varName = nameNode.getText(); if (checkInterfaceModelFile(idNode)) { if + * (!extFeatureModel.addInterface(interfaceName, varName, null)) { reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); } } } } + * private void parseInstanceImport(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while + * (!nodeList.isEmpty()) { final Tree idNode = checkTree(nodeList.poll()); final String interfaceName = idNode.getText(); final Tree nameNode = + * checkTree(nodeList.poll()); final String varName = nameNode.getText(); if (checkExternalModelFile(idNode)) { if + * (!extFeatureModel.addInstance(interfaceName, varName, null)) { reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); } } } } + * private void parseModel(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while + * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.IMPORT: useLongNames = true; + * parseImport(curNode); break; case VelvetParser.CONCEPT: parseConcept(curNode); break; case VelvetParser.CINTERFACE: + * extFeatureModel.setInterface(true); parseConcept(curNode); break; case VelvetParser.EOF: if (curNode.getTokenStartIndex() > -1) { break; } + * default: reportSyntaxError(curNode); } } if (!IS_USED_AS_API) { final IFeatureModelFactory mappingModelFactory = + * DefaultFeatureModelFactory.getInstance(); final IFeatureModel mappingModel = mappingModelFactory.create(); final IFeatureStructure rootFeature = + * mappingModelFactory.createFeature(mappingModel, "MPL").getStructure(); rootFeature.setAnd(); rootFeature.setAbstract(true); + * rootFeature.setMandatory(true); final LinkedList possibleProjects = new LinkedList<>(); final IProject[] projects = + * ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { final IProject project = projects[i]; if + * (project.isAccessible()) { possibleProjects.add(project.getName()); } } for (final Entry parameter : + * extFeatureModel.getExternalModels().entrySet()) { if (parameter.getValue().getType() == MultiFeature.TYPE_INTERFACE) { final IFeatureStructure + * parameterFeature = mappingModelFactory.createFeature(mappingModel, parameter.getKey()).getStructure(); parameterFeature.setOr(); + * parameterFeature.setAbstract(true); parameterFeature.setMandatory(true); rootFeature.addChild(parameterFeature); for (final String projectName : + * possibleProjects) { final IFeatureStructure projectFeature = mappingModelFactory.createFeature(mappingModel, + * parameterFeature.getFeature().getName() + "." + projectName).getStructure(); projectFeature.setAbstract(false); + * projectFeature.setMandatory(false); parameterFeature.addChild(projectFeature); } } } mappingModel.getStructure().setRoot(rootFeature); + * extFeatureModel.setMappingModel(mappingModel); } } private void parseImport(Tree curNode) throws RecognitionException { final LinkedList + * nodeList = getChildren(curNode); while (!nodeList.isEmpty()) { final Tree node = nodeList.poll(); final String text = node.getText(); + * extFeatureModel.addImport(text); } } private void parseUse(Tree root, IFeature parent) throws RecognitionException { final LinkedList + * childList = getChildren(root); final Tree useNameNode = checkTree(childList.poll()); final String varName = useNameNode.getText(); if + * (!usedVariables.add(varName)) { reportWarning(useNameNode, format("The Variable with the name %s was already used in this model.", varName)); + * return; } final UsedModel usedModel = extFeatureModel.getExternalModel(varName); if (usedModel == null) { reportWarning(useNameNode, + * format("No variable with the name %s found.", varName)); return; } switch (usedModel.getType()) { case MultiFeature.TYPE_INTERFACE: final + * IFeatureModel interfaceModel = getInterfaceFeatureModel(usedModel.getModelName(), useNameNode); if (interfaceModel == null) { return; } + * addExternalFeatures(interfaceModel, varName, parent.getStructure(), MultiFeature.TYPE_INTERFACE); break; case MultiFeature.TYPE_INSTANCE: final + * IFeatureModel instanceModel = getExternalFeatureModel(usedModel.getModelName(), useNameNode); if (instanceModel == null) { return; } + * addExternalFeatures(instanceModel, varName, parent.getStructure(), MultiFeature.TYPE_INSTANCE); break; default: reportWarning(useNameNode, + * format("The variable with the name %s is no interface or instance.", varName)); } } private void reportWarning(Tree curNode, String message) { if + * (modelMarkerHandler != null) { modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_WARNING, + * curNode.getLine()); } Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + + * featureModelFile.getName() : "") + ": \"" + curNode.getText() + "\")"); } private Tree checkTree(Tree root) throws RecognitionException { if + * (root instanceof CommonErrorNode) { throwException(((CommonErrorNode) root).trappedException, root); } return root; } private void + * reportSyntaxError(Tree curNode) throws RecognitionException { checkTree(curNode); final RecognitionException ex = new RecognitionException(); + * ex.line = 1; ex.charPositionInLine = 1; throwException(ex, curNode); } private void throwException(RecognitionException e, Tree curNode) throws + * RecognitionException { if (modelMarkerHandler != null) { final String text = ""; if (curNode != null) { curNode.getText(); } final String message + * = ILLEGAL_SYNTAX_IN_LINE + e.line + ":" + e.charPositionInLine + ". " + text; modelMarkerHandler.createModelMarker(message, + * org.eclipse.core.resources.IMarker.SEVERITY_ERROR, e.line); } throw e; } + * @Override public String getSuffix() { return FILE_EXTENSION; } + * @Override public VelvetFeatureModelFormat getInstance() { return new VelvetFeatureModelFormat(this); } + * @Override public String getId() { return ID; } + * @Override public String getName() { return "Velvet"; } + * @Override public boolean initExtension() { if (super.initExtension()) { + * FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(VelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); } return false; } + */ } diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.interp b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.interp new file mode 100644 index 0000000000..f9258fe5d9 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.interp @@ -0,0 +1,193 @@ +token literal names: +null +'import' +'mandatory' +'abstract' +'someOf' +'oneOf' +'concept' +'cinterface' +'constraint' +'feature' +'use' +'instance' +'interface' +'description' +'int' +'float' +'string' +'bool' +';' +'{' +'}' +'(' +')' +'=' +',' +':' +'+' +'-' +'!' +'&&' +'||' +'xor' +'->' +'<->' +'==' +'!=' +'>' +'<' +'>=' +'<=' +'EMPTY' +'CONSTR' +'ACONSTR' +'BASEEXT' +'DEF' +'GROUP' +'ATTR' +'UNARYOP' +'OPERAND' +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +IMPORT +MANDATORY +ABSTRACT +SOMEOF +ONEOF +CONCEPT +CINTERFACE +CONSTRAINT +FEATURE +USE +IMPORTINSTANCE +IMPORTINTERFACE +DESCRIPTION +VAR_INT +VAR_FLOAT +VAR_STRING +VAR_BOOL +SEMI +START_C +END_C +START_R +END_R +EQ +COMMA +COLON +PLUS +MINUS +OP_NOT +OP_AND +OP_OR +OP_XOR +OP_IMPLIES +OP_EQUIVALENT +ATTR_OP_EQUALS +ATTR_OP_NOT_EQUALS +ATTR_OP_GREATER +ATTR_OP_LESS +ATTR_OP_GREATER_EQ +ATTR_OP_LESS_EQ +EMPTY +CONSTR +ACONSTR +BASEEXT +DEF +GROUP +ATTR +UNARYOP +OPERAND +BOOLEAN +ID +IDPath +INT +FLOAT +STRING +WS +SL_COMMENT +ML_COMMENT + +rule names: +IMPORT +MANDATORY +ABSTRACT +SOMEOF +ONEOF +CONCEPT +CINTERFACE +CONSTRAINT +FEATURE +USE +IMPORTINSTANCE +IMPORTINTERFACE +DESCRIPTION +VAR_INT +VAR_FLOAT +VAR_STRING +VAR_BOOL +SEMI +START_C +END_C +START_R +END_R +EQ +COMMA +COLON +PLUS +MINUS +OP_NOT +OP_AND +OP_OR +OP_XOR +OP_IMPLIES +OP_EQUIVALENT +ATTR_OP_EQUALS +ATTR_OP_NOT_EQUALS +ATTR_OP_GREATER +ATTR_OP_LESS +ATTR_OP_GREATER_EQ +ATTR_OP_LESS_EQ +EMPTY +CONSTR +ACONSTR +BASEEXT +DEF +GROUP +ATTR +UNARYOP +OPERAND +BOOLEAN +ID +IDPath +INT +FLOAT +STRING +EXPONENT +HEX_DIGIT +ESC_SEQ +OCTAL_ESC +UNICODE_ESC +WS +SL_COMMENT +ML_COMMENT + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 57, 522, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 384, 8, 48, 1, 49, 1, 49, 5, 49, 388, 8, 49, 10, 49, 12, 49, 391, 9, 49, 1, 50, 1, 50, 1, 50, 4, 50, 396, 8, 50, 11, 50, 12, 50, 397, 1, 51, 4, 51, 401, 8, 51, 11, 51, 12, 51, 402, 1, 52, 4, 52, 406, 8, 52, 11, 52, 12, 52, 407, 1, 52, 1, 52, 5, 52, 412, 8, 52, 10, 52, 12, 52, 415, 9, 52, 1, 52, 3, 52, 418, 8, 52, 1, 52, 1, 52, 4, 52, 422, 8, 52, 11, 52, 12, 52, 423, 1, 52, 3, 52, 427, 8, 52, 1, 52, 4, 52, 430, 8, 52, 11, 52, 12, 52, 431, 1, 52, 3, 52, 435, 8, 52, 1, 53, 1, 53, 1, 53, 5, 53, 440, 8, 53, 10, 53, 12, 53, 443, 9, 53, 1, 53, 1, 53, 1, 54, 1, 54, 3, 54, 449, 8, 54, 1, 54, 4, 54, 452, 8, 54, 11, 54, 12, 54, 453, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 3, 56, 463, 8, 56, 1, 56, 1, 56, 3, 56, 467, 8, 56, 1, 57, 1, 57, 1, 57, 1, 57, 3, 57, 473, 8, 57, 1, 57, 1, 57, 1, 57, 3, 57, 478, 8, 57, 1, 57, 1, 57, 3, 57, 482, 8, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 4, 59, 492, 8, 59, 11, 59, 12, 59, 493, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 5, 60, 502, 8, 60, 10, 60, 12, 60, 505, 9, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 5, 61, 513, 8, 61, 10, 61, 12, 61, 516, 9, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 514, 0, 62, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 0, 111, 0, 113, 0, 115, 0, 117, 0, 119, 55, 121, 56, 123, 57, 1, 0, 10, 4, 0, 45, 45, 65, 90, 95, 95, 97, 122, 5, 0, 45, 45, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 34, 34, 92, 92, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 48, 57, 65, 70, 97, 102, 5, 0, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 2, 0, 39, 39, 92, 92, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, 10, 10, 13, 13, 543, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 1, 125, 1, 0, 0, 0, 3, 132, 1, 0, 0, 0, 5, 142, 1, 0, 0, 0, 7, 151, 1, 0, 0, 0, 9, 158, 1, 0, 0, 0, 11, 164, 1, 0, 0, 0, 13, 172, 1, 0, 0, 0, 15, 183, 1, 0, 0, 0, 17, 194, 1, 0, 0, 0, 19, 202, 1, 0, 0, 0, 21, 206, 1, 0, 0, 0, 23, 215, 1, 0, 0, 0, 25, 225, 1, 0, 0, 0, 27, 237, 1, 0, 0, 0, 29, 241, 1, 0, 0, 0, 31, 247, 1, 0, 0, 0, 33, 254, 1, 0, 0, 0, 35, 259, 1, 0, 0, 0, 37, 261, 1, 0, 0, 0, 39, 263, 1, 0, 0, 0, 41, 265, 1, 0, 0, 0, 43, 267, 1, 0, 0, 0, 45, 269, 1, 0, 0, 0, 47, 271, 1, 0, 0, 0, 49, 273, 1, 0, 0, 0, 51, 275, 1, 0, 0, 0, 53, 277, 1, 0, 0, 0, 55, 279, 1, 0, 0, 0, 57, 281, 1, 0, 0, 0, 59, 284, 1, 0, 0, 0, 61, 287, 1, 0, 0, 0, 63, 291, 1, 0, 0, 0, 65, 294, 1, 0, 0, 0, 67, 298, 1, 0, 0, 0, 69, 301, 1, 0, 0, 0, 71, 304, 1, 0, 0, 0, 73, 306, 1, 0, 0, 0, 75, 308, 1, 0, 0, 0, 77, 311, 1, 0, 0, 0, 79, 314, 1, 0, 0, 0, 81, 320, 1, 0, 0, 0, 83, 327, 1, 0, 0, 0, 85, 335, 1, 0, 0, 0, 87, 343, 1, 0, 0, 0, 89, 347, 1, 0, 0, 0, 91, 353, 1, 0, 0, 0, 93, 358, 1, 0, 0, 0, 95, 366, 1, 0, 0, 0, 97, 383, 1, 0, 0, 0, 99, 385, 1, 0, 0, 0, 101, 392, 1, 0, 0, 0, 103, 400, 1, 0, 0, 0, 105, 434, 1, 0, 0, 0, 107, 436, 1, 0, 0, 0, 109, 446, 1, 0, 0, 0, 111, 455, 1, 0, 0, 0, 113, 466, 1, 0, 0, 0, 115, 481, 1, 0, 0, 0, 117, 483, 1, 0, 0, 0, 119, 491, 1, 0, 0, 0, 121, 497, 1, 0, 0, 0, 123, 508, 1, 0, 0, 0, 125, 126, 5, 105, 0, 0, 126, 127, 5, 109, 0, 0, 127, 128, 5, 112, 0, 0, 128, 129, 5, 111, 0, 0, 129, 130, 5, 114, 0, 0, 130, 131, 5, 116, 0, 0, 131, 2, 1, 0, 0, 0, 132, 133, 5, 109, 0, 0, 133, 134, 5, 97, 0, 0, 134, 135, 5, 110, 0, 0, 135, 136, 5, 100, 0, 0, 136, 137, 5, 97, 0, 0, 137, 138, 5, 116, 0, 0, 138, 139, 5, 111, 0, 0, 139, 140, 5, 114, 0, 0, 140, 141, 5, 121, 0, 0, 141, 4, 1, 0, 0, 0, 142, 143, 5, 97, 0, 0, 143, 144, 5, 98, 0, 0, 144, 145, 5, 115, 0, 0, 145, 146, 5, 116, 0, 0, 146, 147, 5, 114, 0, 0, 147, 148, 5, 97, 0, 0, 148, 149, 5, 99, 0, 0, 149, 150, 5, 116, 0, 0, 150, 6, 1, 0, 0, 0, 151, 152, 5, 115, 0, 0, 152, 153, 5, 111, 0, 0, 153, 154, 5, 109, 0, 0, 154, 155, 5, 101, 0, 0, 155, 156, 5, 79, 0, 0, 156, 157, 5, 102, 0, 0, 157, 8, 1, 0, 0, 0, 158, 159, 5, 111, 0, 0, 159, 160, 5, 110, 0, 0, 160, 161, 5, 101, 0, 0, 161, 162, 5, 79, 0, 0, 162, 163, 5, 102, 0, 0, 163, 10, 1, 0, 0, 0, 164, 165, 5, 99, 0, 0, 165, 166, 5, 111, 0, 0, 166, 167, 5, 110, 0, 0, 167, 168, 5, 99, 0, 0, 168, 169, 5, 101, 0, 0, 169, 170, 5, 112, 0, 0, 170, 171, 5, 116, 0, 0, 171, 12, 1, 0, 0, 0, 172, 173, 5, 99, 0, 0, 173, 174, 5, 105, 0, 0, 174, 175, 5, 110, 0, 0, 175, 176, 5, 116, 0, 0, 176, 177, 5, 101, 0, 0, 177, 178, 5, 114, 0, 0, 178, 179, 5, 102, 0, 0, 179, 180, 5, 97, 0, 0, 180, 181, 5, 99, 0, 0, 181, 182, 5, 101, 0, 0, 182, 14, 1, 0, 0, 0, 183, 184, 5, 99, 0, 0, 184, 185, 5, 111, 0, 0, 185, 186, 5, 110, 0, 0, 186, 187, 5, 115, 0, 0, 187, 188, 5, 116, 0, 0, 188, 189, 5, 114, 0, 0, 189, 190, 5, 97, 0, 0, 190, 191, 5, 105, 0, 0, 191, 192, 5, 110, 0, 0, 192, 193, 5, 116, 0, 0, 193, 16, 1, 0, 0, 0, 194, 195, 5, 102, 0, 0, 195, 196, 5, 101, 0, 0, 196, 197, 5, 97, 0, 0, 197, 198, 5, 116, 0, 0, 198, 199, 5, 117, 0, 0, 199, 200, 5, 114, 0, 0, 200, 201, 5, 101, 0, 0, 201, 18, 1, 0, 0, 0, 202, 203, 5, 117, 0, 0, 203, 204, 5, 115, 0, 0, 204, 205, 5, 101, 0, 0, 205, 20, 1, 0, 0, 0, 206, 207, 5, 105, 0, 0, 207, 208, 5, 110, 0, 0, 208, 209, 5, 115, 0, 0, 209, 210, 5, 116, 0, 0, 210, 211, 5, 97, 0, 0, 211, 212, 5, 110, 0, 0, 212, 213, 5, 99, 0, 0, 213, 214, 5, 101, 0, 0, 214, 22, 1, 0, 0, 0, 215, 216, 5, 105, 0, 0, 216, 217, 5, 110, 0, 0, 217, 218, 5, 116, 0, 0, 218, 219, 5, 101, 0, 0, 219, 220, 5, 114, 0, 0, 220, 221, 5, 102, 0, 0, 221, 222, 5, 97, 0, 0, 222, 223, 5, 99, 0, 0, 223, 224, 5, 101, 0, 0, 224, 24, 1, 0, 0, 0, 225, 226, 5, 100, 0, 0, 226, 227, 5, 101, 0, 0, 227, 228, 5, 115, 0, 0, 228, 229, 5, 99, 0, 0, 229, 230, 5, 114, 0, 0, 230, 231, 5, 105, 0, 0, 231, 232, 5, 112, 0, 0, 232, 233, 5, 116, 0, 0, 233, 234, 5, 105, 0, 0, 234, 235, 5, 111, 0, 0, 235, 236, 5, 110, 0, 0, 236, 26, 1, 0, 0, 0, 237, 238, 5, 105, 0, 0, 238, 239, 5, 110, 0, 0, 239, 240, 5, 116, 0, 0, 240, 28, 1, 0, 0, 0, 241, 242, 5, 102, 0, 0, 242, 243, 5, 108, 0, 0, 243, 244, 5, 111, 0, 0, 244, 245, 5, 97, 0, 0, 245, 246, 5, 116, 0, 0, 246, 30, 1, 0, 0, 0, 247, 248, 5, 115, 0, 0, 248, 249, 5, 116, 0, 0, 249, 250, 5, 114, 0, 0, 250, 251, 5, 105, 0, 0, 251, 252, 5, 110, 0, 0, 252, 253, 5, 103, 0, 0, 253, 32, 1, 0, 0, 0, 254, 255, 5, 98, 0, 0, 255, 256, 5, 111, 0, 0, 256, 257, 5, 111, 0, 0, 257, 258, 5, 108, 0, 0, 258, 34, 1, 0, 0, 0, 259, 260, 5, 59, 0, 0, 260, 36, 1, 0, 0, 0, 261, 262, 5, 123, 0, 0, 262, 38, 1, 0, 0, 0, 263, 264, 5, 125, 0, 0, 264, 40, 1, 0, 0, 0, 265, 266, 5, 40, 0, 0, 266, 42, 1, 0, 0, 0, 267, 268, 5, 41, 0, 0, 268, 44, 1, 0, 0, 0, 269, 270, 5, 61, 0, 0, 270, 46, 1, 0, 0, 0, 271, 272, 5, 44, 0, 0, 272, 48, 1, 0, 0, 0, 273, 274, 5, 58, 0, 0, 274, 50, 1, 0, 0, 0, 275, 276, 5, 43, 0, 0, 276, 52, 1, 0, 0, 0, 277, 278, 5, 45, 0, 0, 278, 54, 1, 0, 0, 0, 279, 280, 5, 33, 0, 0, 280, 56, 1, 0, 0, 0, 281, 282, 5, 38, 0, 0, 282, 283, 5, 38, 0, 0, 283, 58, 1, 0, 0, 0, 284, 285, 5, 124, 0, 0, 285, 286, 5, 124, 0, 0, 286, 60, 1, 0, 0, 0, 287, 288, 5, 120, 0, 0, 288, 289, 5, 111, 0, 0, 289, 290, 5, 114, 0, 0, 290, 62, 1, 0, 0, 0, 291, 292, 5, 45, 0, 0, 292, 293, 5, 62, 0, 0, 293, 64, 1, 0, 0, 0, 294, 295, 5, 60, 0, 0, 295, 296, 5, 45, 0, 0, 296, 297, 5, 62, 0, 0, 297, 66, 1, 0, 0, 0, 298, 299, 5, 61, 0, 0, 299, 300, 5, 61, 0, 0, 300, 68, 1, 0, 0, 0, 301, 302, 5, 33, 0, 0, 302, 303, 5, 61, 0, 0, 303, 70, 1, 0, 0, 0, 304, 305, 5, 62, 0, 0, 305, 72, 1, 0, 0, 0, 306, 307, 5, 60, 0, 0, 307, 74, 1, 0, 0, 0, 308, 309, 5, 62, 0, 0, 309, 310, 5, 61, 0, 0, 310, 76, 1, 0, 0, 0, 311, 312, 5, 60, 0, 0, 312, 313, 5, 61, 0, 0, 313, 78, 1, 0, 0, 0, 314, 315, 5, 69, 0, 0, 315, 316, 5, 77, 0, 0, 316, 317, 5, 80, 0, 0, 317, 318, 5, 84, 0, 0, 318, 319, 5, 89, 0, 0, 319, 80, 1, 0, 0, 0, 320, 321, 5, 67, 0, 0, 321, 322, 5, 79, 0, 0, 322, 323, 5, 78, 0, 0, 323, 324, 5, 83, 0, 0, 324, 325, 5, 84, 0, 0, 325, 326, 5, 82, 0, 0, 326, 82, 1, 0, 0, 0, 327, 328, 5, 65, 0, 0, 328, 329, 5, 67, 0, 0, 329, 330, 5, 79, 0, 0, 330, 331, 5, 78, 0, 0, 331, 332, 5, 83, 0, 0, 332, 333, 5, 84, 0, 0, 333, 334, 5, 82, 0, 0, 334, 84, 1, 0, 0, 0, 335, 336, 5, 66, 0, 0, 336, 337, 5, 65, 0, 0, 337, 338, 5, 83, 0, 0, 338, 339, 5, 69, 0, 0, 339, 340, 5, 69, 0, 0, 340, 341, 5, 88, 0, 0, 341, 342, 5, 84, 0, 0, 342, 86, 1, 0, 0, 0, 343, 344, 5, 68, 0, 0, 344, 345, 5, 69, 0, 0, 345, 346, 5, 70, 0, 0, 346, 88, 1, 0, 0, 0, 347, 348, 5, 71, 0, 0, 348, 349, 5, 82, 0, 0, 349, 350, 5, 79, 0, 0, 350, 351, 5, 85, 0, 0, 351, 352, 5, 80, 0, 0, 352, 90, 1, 0, 0, 0, 353, 354, 5, 65, 0, 0, 354, 355, 5, 84, 0, 0, 355, 356, 5, 84, 0, 0, 356, 357, 5, 82, 0, 0, 357, 92, 1, 0, 0, 0, 358, 359, 5, 85, 0, 0, 359, 360, 5, 78, 0, 0, 360, 361, 5, 65, 0, 0, 361, 362, 5, 82, 0, 0, 362, 363, 5, 89, 0, 0, 363, 364, 5, 79, 0, 0, 364, 365, 5, 80, 0, 0, 365, 94, 1, 0, 0, 0, 366, 367, 5, 79, 0, 0, 367, 368, 5, 80, 0, 0, 368, 369, 5, 69, 0, 0, 369, 370, 5, 82, 0, 0, 370, 371, 5, 65, 0, 0, 371, 372, 5, 78, 0, 0, 372, 373, 5, 68, 0, 0, 373, 96, 1, 0, 0, 0, 374, 375, 5, 116, 0, 0, 375, 376, 5, 114, 0, 0, 376, 377, 5, 117, 0, 0, 377, 384, 5, 101, 0, 0, 378, 379, 5, 102, 0, 0, 379, 380, 5, 97, 0, 0, 380, 381, 5, 108, 0, 0, 381, 382, 5, 115, 0, 0, 382, 384, 5, 101, 0, 0, 383, 374, 1, 0, 0, 0, 383, 378, 1, 0, 0, 0, 384, 98, 1, 0, 0, 0, 385, 389, 7, 0, 0, 0, 386, 388, 7, 1, 0, 0, 387, 386, 1, 0, 0, 0, 388, 391, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 100, 1, 0, 0, 0, 391, 389, 1, 0, 0, 0, 392, 395, 3, 99, 49, 0, 393, 394, 5, 46, 0, 0, 394, 396, 3, 99, 49, 0, 395, 393, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 395, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 102, 1, 0, 0, 0, 399, 401, 2, 48, 57, 0, 400, 399, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 400, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 104, 1, 0, 0, 0, 404, 406, 2, 48, 57, 0, 405, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 405, 1, 0, 0, 0, 407, 408, 1, 0, 0, 0, 408, 409, 1, 0, 0, 0, 409, 413, 5, 46, 0, 0, 410, 412, 2, 48, 57, 0, 411, 410, 1, 0, 0, 0, 412, 415, 1, 0, 0, 0, 413, 411, 1, 0, 0, 0, 413, 414, 1, 0, 0, 0, 414, 417, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 416, 418, 3, 109, 54, 0, 417, 416, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 435, 1, 0, 0, 0, 419, 421, 5, 46, 0, 0, 420, 422, 2, 48, 57, 0, 421, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 421, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424, 426, 1, 0, 0, 0, 425, 427, 3, 109, 54, 0, 426, 425, 1, 0, 0, 0, 426, 427, 1, 0, 0, 0, 427, 435, 1, 0, 0, 0, 428, 430, 2, 48, 57, 0, 429, 428, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 429, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 3, 109, 54, 0, 434, 405, 1, 0, 0, 0, 434, 419, 1, 0, 0, 0, 434, 429, 1, 0, 0, 0, 435, 106, 1, 0, 0, 0, 436, 441, 5, 34, 0, 0, 437, 440, 3, 113, 56, 0, 438, 440, 8, 2, 0, 0, 439, 437, 1, 0, 0, 0, 439, 438, 1, 0, 0, 0, 440, 443, 1, 0, 0, 0, 441, 439, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 444, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 444, 445, 5, 34, 0, 0, 445, 108, 1, 0, 0, 0, 446, 448, 7, 3, 0, 0, 447, 449, 7, 4, 0, 0, 448, 447, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 451, 1, 0, 0, 0, 450, 452, 2, 48, 57, 0, 451, 450, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 110, 1, 0, 0, 0, 455, 456, 7, 5, 0, 0, 456, 112, 1, 0, 0, 0, 457, 462, 5, 92, 0, 0, 458, 463, 7, 6, 0, 0, 459, 460, 5, 92, 0, 0, 460, 463, 5, 34, 0, 0, 461, 463, 7, 7, 0, 0, 462, 458, 1, 0, 0, 0, 462, 459, 1, 0, 0, 0, 462, 461, 1, 0, 0, 0, 463, 467, 1, 0, 0, 0, 464, 467, 3, 117, 58, 0, 465, 467, 3, 115, 57, 0, 466, 457, 1, 0, 0, 0, 466, 464, 1, 0, 0, 0, 466, 465, 1, 0, 0, 0, 467, 114, 1, 0, 0, 0, 468, 469, 5, 92, 0, 0, 469, 470, 2, 48, 51, 0, 470, 472, 2, 48, 55, 0, 471, 473, 2, 48, 55, 0, 472, 471, 1, 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 482, 1, 0, 0, 0, 474, 475, 5, 92, 0, 0, 475, 477, 2, 48, 55, 0, 476, 478, 2, 48, 55, 0, 477, 476, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 482, 1, 0, 0, 0, 479, 480, 5, 92, 0, 0, 480, 482, 2, 48, 55, 0, 481, 468, 1, 0, 0, 0, 481, 474, 1, 0, 0, 0, 481, 479, 1, 0, 0, 0, 482, 116, 1, 0, 0, 0, 483, 484, 5, 92, 0, 0, 484, 485, 5, 117, 0, 0, 485, 486, 3, 111, 55, 0, 486, 487, 3, 111, 55, 0, 487, 488, 3, 111, 55, 0, 488, 489, 3, 111, 55, 0, 489, 118, 1, 0, 0, 0, 490, 492, 7, 8, 0, 0, 491, 490, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 491, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 496, 6, 59, 0, 0, 496, 120, 1, 0, 0, 0, 497, 498, 5, 47, 0, 0, 498, 499, 5, 47, 0, 0, 499, 503, 1, 0, 0, 0, 500, 502, 8, 9, 0, 0, 501, 500, 1, 0, 0, 0, 502, 505, 1, 0, 0, 0, 503, 501, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 506, 1, 0, 0, 0, 505, 503, 1, 0, 0, 0, 506, 507, 6, 60, 0, 0, 507, 122, 1, 0, 0, 0, 508, 509, 5, 47, 0, 0, 509, 510, 5, 42, 0, 0, 510, 514, 1, 0, 0, 0, 511, 513, 9, 0, 0, 0, 512, 511, 1, 0, 0, 0, 513, 516, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 514, 512, 1, 0, 0, 0, 515, 517, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0, 517, 518, 5, 42, 0, 0, 518, 519, 5, 47, 0, 0, 519, 520, 1, 0, 0, 0, 520, 521, 6, 61, 0, 0, 521, 124, 1, 0, 0, 0, 24, 0, 383, 389, 397, 402, 407, 413, 417, 423, 426, 431, 434, 439, 441, 448, 453, 462, 466, 472, 477, 481, 493, 503, 514, 1, 6, 0, 0] \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.java index b34d65225f..f2af56b235 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.java @@ -1,2433 +1,479 @@ -// $ANTLR 3.4 Velvet.g 2016-07-17 21:07:31 -/* FeatureIDE - A Framework for Feature-Oriented Software Development - * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany - * - * This file is part of FeatureIDE. - * - * FeatureIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * FeatureIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with FeatureIDE. If not, see . - * - * See http://featureide.cs.ovgu.de/ for further information. - */ -package de.ovgu.featureide.fm.core.io.velvet; - -import org.antlr.runtime.BaseRecognizer; -import org.antlr.runtime.CharStream; -import org.antlr.runtime.DFA; -import org.antlr.runtime.EarlyExitException; -import org.antlr.runtime.Lexer; -import org.antlr.runtime.MismatchedSetException; -import org.antlr.runtime.NoViableAltException; -import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.RecognizerSharedState; - -@SuppressWarnings({ "all", "warnings", "unchecked" }) -public class VelvetLexer extends Lexer { - - public static final int EOF = -1; - public static final int ABSTRACT = 4; - public static final int ACONSTR = 5; - public static final int ATTR = 6; - public static final int ATTR_OP_EQUALS = 7; - public static final int ATTR_OP_GREATER = 8; - public static final int ATTR_OP_GREATER_EQ = 9; - public static final int ATTR_OP_LESS = 10; - public static final int ATTR_OP_LESS_EQ = 11; - public static final int ATTR_OP_NOT_EQUALS = 12; - public static final int BASEEXT = 13; - public static final int BOOLEAN = 14; - public static final int CINTERFACE = 15; - public static final int COLON = 16; - public static final int COMMA = 17; - public static final int CONCEPT = 18; - public static final int CONSTR = 19; - public static final int CONSTRAINT = 20; - public static final int DEF = 21; - public static final int DESCRIPTION = 22; - public static final int EMPTY = 23; - public static final int END_C = 24; - public static final int END_R = 25; - public static final int EQ = 26; - public static final int ESC_SEQ = 27; - public static final int EXPONENT = 28; - public static final int FEATURE = 29; - public static final int FLOAT = 30; - public static final int GROUP = 31; - public static final int HEX_DIGIT = 32; - public static final int ID = 33; - public static final int IDPath = 34; - public static final int IMPORT = 35; - public static final int IMPORTINSTANCE = 36; - public static final int IMPORTINTERFACE = 37; - public static final int INT = 38; - public static final int MANDATORY = 39; - public static final int MINUS = 40; - public static final int ML_COMMENT = 41; - public static final int OCTAL_ESC = 42; - public static final int ONEOF = 43; - public static final int OPERAND = 44; - public static final int OP_AND = 45; - public static final int OP_EQUIVALENT = 46; - public static final int OP_IMPLIES = 47; - public static final int OP_NOT = 48; - public static final int OP_OR = 49; - public static final int OP_XOR = 50; - public static final int PLUS = 51; - public static final int SEMI = 52; - public static final int SL_COMMENT = 53; - public static final int SOMEOF = 54; - public static final int START_C = 55; - public static final int START_R = 56; - public static final int STRING = 57; - public static final int UNARYOP = 58; - public static final int UNICODE_ESC = 59; - public static final int USE = 60; - public static final int VAR_BOOL = 61; - public static final int VAR_FLOAT = 62; - public static final int VAR_INT = 63; - public static final int VAR_STRING = 64; - public static final int WS = 65; - - // delegates - // delegators - public Lexer[] getDelegates() { - return new Lexer[] {}; - } - - public VelvetLexer() {} - - public VelvetLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - - public VelvetLexer(CharStream input, RecognizerSharedState state) { - super(input, state); - } - - @Override - public String getGrammarFileName() { - return "Velvet.g"; - } - - // $ANTLR start "ABSTRACT" - public final void mABSTRACT() throws RecognitionException { - try { - final int _type = ABSTRACT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:4:10: ( 'abstract' ) - // Velvet.g:4:12: 'abstract' - { - match("abstract"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ABSTRACT" - - // $ANTLR start "ATTR_OP_EQUALS" - public final void mATTR_OP_EQUALS() throws RecognitionException { - try { - final int _type = ATTR_OP_EQUALS; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:5:16: ( '==' ) - // Velvet.g:5:18: '==' - { - match("=="); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_EQUALS" - - // $ANTLR start "ATTR_OP_GREATER" - public final void mATTR_OP_GREATER() throws RecognitionException { - try { - final int _type = ATTR_OP_GREATER; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:6:17: ( '>' ) - // Velvet.g:6:19: '>' - { - match('>'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_GREATER" - - // $ANTLR start "ATTR_OP_GREATER_EQ" - public final void mATTR_OP_GREATER_EQ() throws RecognitionException { - try { - final int _type = ATTR_OP_GREATER_EQ; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:7:20: ( '>=' ) - // Velvet.g:7:22: '>=' - { - match(">="); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_GREATER_EQ" - - // $ANTLR start "ATTR_OP_LESS" - public final void mATTR_OP_LESS() throws RecognitionException { - try { - final int _type = ATTR_OP_LESS; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:8:14: ( '<' ) - // Velvet.g:8:16: '<' - { - match('<'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_LESS" - - // $ANTLR start "ATTR_OP_LESS_EQ" - public final void mATTR_OP_LESS_EQ() throws RecognitionException { - try { - final int _type = ATTR_OP_LESS_EQ; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:9:17: ( '<=' ) - // Velvet.g:9:19: '<=' - { - match("<="); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_LESS_EQ" - - // $ANTLR start "ATTR_OP_NOT_EQUALS" - public final void mATTR_OP_NOT_EQUALS() throws RecognitionException { - try { - final int _type = ATTR_OP_NOT_EQUALS; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:10:20: ( '!=' ) - // Velvet.g:10:22: '!=' - { - match("!="); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ATTR_OP_NOT_EQUALS" - - // $ANTLR start "CINTERFACE" - public final void mCINTERFACE() throws RecognitionException { - try { - final int _type = CINTERFACE; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:11:12: ( 'cinterface' ) - // Velvet.g:11:14: 'cinterface' - { - match("cinterface"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "CINTERFACE" - - // $ANTLR start "COLON" - public final void mCOLON() throws RecognitionException { - try { - final int _type = COLON; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:12:7: ( ':' ) - // Velvet.g:12:9: ':' - { - match(':'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "COLON" - - // $ANTLR start "COMMA" - public final void mCOMMA() throws RecognitionException { - try { - final int _type = COMMA; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:13:7: ( ',' ) - // Velvet.g:13:9: ',' - { - match(','); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "COMMA" - - // $ANTLR start "CONCEPT" - public final void mCONCEPT() throws RecognitionException { - try { - final int _type = CONCEPT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:14:9: ( 'concept' ) - // Velvet.g:14:11: 'concept' - { - match("concept"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "CONCEPT" - - // $ANTLR start "CONSTRAINT" - public final void mCONSTRAINT() throws RecognitionException { - try { - final int _type = CONSTRAINT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:15:12: ( 'constraint' ) - // Velvet.g:15:14: 'constraint' - { - match("constraint"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "CONSTRAINT" - - // $ANTLR start "DESCRIPTION" - public final void mDESCRIPTION() throws RecognitionException { - try { - final int _type = DESCRIPTION; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:16:13: ( 'description' ) - // Velvet.g:16:15: 'description' - { - match("description"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "DESCRIPTION" - - // $ANTLR start "END_C" - public final void mEND_C() throws RecognitionException { - try { - final int _type = END_C; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:17:7: ( '}' ) - // Velvet.g:17:9: '}' - { - match('}'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "END_C" - - // $ANTLR start "END_R" - public final void mEND_R() throws RecognitionException { - try { - final int _type = END_R; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:18:7: ( ')' ) - // Velvet.g:18:9: ')' - { - match(')'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "END_R" - - // $ANTLR start "EQ" - public final void mEQ() throws RecognitionException { - try { - final int _type = EQ; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:19:4: ( '=' ) - // Velvet.g:19:6: '=' - { - match('='); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "EQ" - - // $ANTLR start "FEATURE" - public final void mFEATURE() throws RecognitionException { - try { - final int _type = FEATURE; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:20:9: ( 'feature' ) - // Velvet.g:20:11: 'feature' - { - match("feature"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "FEATURE" - - // $ANTLR start "IMPORT" - public final void mIMPORT() throws RecognitionException { - try { - final int _type = IMPORT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:21:8: ( 'import' ) - // Velvet.g:21:10: 'import' - { - match("import"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "IMPORT" - - // $ANTLR start "IMPORTINSTANCE" - public final void mIMPORTINSTANCE() throws RecognitionException { - try { - final int _type = IMPORTINSTANCE; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:22:16: ( 'instance' ) - // Velvet.g:22:18: 'instance' - { - match("instance"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "IMPORTINSTANCE" - - // $ANTLR start "IMPORTINTERFACE" - public final void mIMPORTINTERFACE() throws RecognitionException { - try { - final int _type = IMPORTINTERFACE; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:23:17: ( 'interface' ) - // Velvet.g:23:19: 'interface' - { - match("interface"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "IMPORTINTERFACE" - - // $ANTLR start "MANDATORY" - public final void mMANDATORY() throws RecognitionException { - try { - final int _type = MANDATORY; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:24:11: ( 'mandatory' ) - // Velvet.g:24:13: 'mandatory' - { - match("mandatory"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "MANDATORY" - - // $ANTLR start "MINUS" - public final void mMINUS() throws RecognitionException { - try { - final int _type = MINUS; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:25:7: ( '-' ) - // Velvet.g:25:9: '-' - { - match('-'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "MINUS" - - // $ANTLR start "ONEOF" - public final void mONEOF() throws RecognitionException { - try { - final int _type = ONEOF; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:26:7: ( 'oneOf' ) - // Velvet.g:26:9: 'oneOf' - { - match("oneOf"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ONEOF" - - // $ANTLR start "OP_AND" - public final void mOP_AND() throws RecognitionException { - try { - final int _type = OP_AND; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:27:8: ( '&&' ) - // Velvet.g:27:10: '&&' - { - match("&&"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_AND" - - // $ANTLR start "OP_EQUIVALENT" - public final void mOP_EQUIVALENT() throws RecognitionException { - try { - final int _type = OP_EQUIVALENT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:28:15: ( '<->' ) - // Velvet.g:28:17: '<->' - { - match("<->"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_EQUIVALENT" - - // $ANTLR start "OP_IMPLIES" - public final void mOP_IMPLIES() throws RecognitionException { - try { - final int _type = OP_IMPLIES; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:29:12: ( '->' ) - // Velvet.g:29:14: '->' - { - match("->"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_IMPLIES" - - // $ANTLR start "OP_NOT" - public final void mOP_NOT() throws RecognitionException { - try { - final int _type = OP_NOT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:30:8: ( '!' ) - // Velvet.g:30:10: '!' - { - match('!'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_NOT" - - // $ANTLR start "OP_OR" - public final void mOP_OR() throws RecognitionException { - try { - final int _type = OP_OR; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:31:7: ( '||' ) - // Velvet.g:31:9: '||' - { - match("||"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_OR" - - // $ANTLR start "OP_XOR" - public final void mOP_XOR() throws RecognitionException { - try { - final int _type = OP_XOR; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:32:8: ( 'xor' ) - // Velvet.g:32:10: 'xor' - { - match("xor"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "OP_XOR" - - // $ANTLR start "PLUS" - public final void mPLUS() throws RecognitionException { - try { - final int _type = PLUS; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:33:6: ( '+' ) - // Velvet.g:33:8: '+' - { - match('+'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "PLUS" - - // $ANTLR start "SEMI" - public final void mSEMI() throws RecognitionException { - try { - final int _type = SEMI; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:34:6: ( ';' ) - // Velvet.g:34:8: ';' - { - match(';'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "SEMI" - - // $ANTLR start "SOMEOF" - public final void mSOMEOF() throws RecognitionException { - try { - final int _type = SOMEOF; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:35:8: ( 'someOf' ) - // Velvet.g:35:10: 'someOf' - { - match("someOf"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "SOMEOF" - - // $ANTLR start "START_C" - public final void mSTART_C() throws RecognitionException { - try { - final int _type = START_C; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:36:9: ( '{' ) - // Velvet.g:36:11: '{' - { - match('{'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "START_C" - - // $ANTLR start "START_R" - public final void mSTART_R() throws RecognitionException { - try { - final int _type = START_R; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:37:9: ( '(' ) - // Velvet.g:37:11: '(' - { - match('('); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "START_R" - - // $ANTLR start "USE" - public final void mUSE() throws RecognitionException { - try { - final int _type = USE; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:38:5: ( 'use' ) - // Velvet.g:38:7: 'use' - { - match("use"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "USE" - - // $ANTLR start "VAR_BOOL" - public final void mVAR_BOOL() throws RecognitionException { - try { - final int _type = VAR_BOOL; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:39:10: ( 'bool' ) - // Velvet.g:39:12: 'bool' - { - match("bool"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "VAR_BOOL" - - // $ANTLR start "VAR_FLOAT" - public final void mVAR_FLOAT() throws RecognitionException { - try { - final int _type = VAR_FLOAT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:40:11: ( 'float' ) - // Velvet.g:40:13: 'float' - { - match("float"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "VAR_FLOAT" - - // $ANTLR start "VAR_INT" - public final void mVAR_INT() throws RecognitionException { - try { - final int _type = VAR_INT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:41:9: ( 'int' ) - // Velvet.g:41:11: 'int' - { - match("int"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "VAR_INT" - - // $ANTLR start "VAR_STRING" - public final void mVAR_STRING() throws RecognitionException { - try { - final int _type = VAR_STRING; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:42:12: ( 'string' ) - // Velvet.g:42:14: 'string' - { - match("string"); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "VAR_STRING" - - // $ANTLR start "BOOLEAN" - public final void mBOOLEAN() throws RecognitionException { - try { - final int _type = BOOLEAN; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:241:9: ( 'true' | 'false' ) - int alt1 = 2; - final int LA1_0 = input.LA(1); - - if ((LA1_0 == 't')) { - alt1 = 1; - } else if ((LA1_0 == 'f')) { - alt1 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 1, 0, input); - - throw nvae; - - } - switch (alt1) { - case 1: - // Velvet.g:241:11: 'true' - { - match("true"); - - } - break; - case 2: - // Velvet.g:242:4: 'false' - { - match("false"); - - } - break; - - } - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "BOOLEAN" - - // $ANTLR start "ID" - public final void mID() throws RecognitionException { - try { - final int _type = ID; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:245:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '-' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )* ) - // Velvet.g:245:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '-' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )* - { - if ((input.LA(1) == '-') || ((input.LA(1) >= 'A') && (input.LA(1) <= 'Z')) || (input.LA(1) == '_') - || ((input.LA(1) >= 'a') && (input.LA(1) <= 'z'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - // Velvet.g:245:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )* - loop2: do { - int alt2 = 2; - final int LA2_0 = input.LA(1); - - if (((LA2_0 == '-') || ((LA2_0 >= '0') && (LA2_0 <= '9')) || ((LA2_0 >= 'A') && (LA2_0 <= 'Z')) || (LA2_0 == '_') - || ((LA2_0 >= 'a') && (LA2_0 <= 'z')))) { - alt2 = 1; - } - - switch (alt2) { - case 1: - // Velvet.g: - { - if ((input.LA(1) == '-') || ((input.LA(1) >= '0') && (input.LA(1) <= '9')) || ((input.LA(1) >= 'A') && (input.LA(1) <= 'Z')) - || (input.LA(1) == '_') || ((input.LA(1) >= 'a') && (input.LA(1) <= 'z'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - break loop2; - } - } while (true); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "ID" - - // $ANTLR start "IDPath" - public final void mIDPath() throws RecognitionException { - try { - final int _type = IDPath; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:248:8: ( ID ( '.' ID )+ ) - // Velvet.g:248:10: ID ( '.' ID )+ - { - mID(); - - // Velvet.g:248:13: ( '.' ID )+ - int cnt3 = 0; - loop3: do { - int alt3 = 2; - final int LA3_0 = input.LA(1); - - if ((LA3_0 == '.')) { - alt3 = 1; - } - - switch (alt3) { - case 1: - // Velvet.g:248:14: '.' ID - { - match('.'); - - mID(); - - } - break; - - default: - if (cnt3 >= 1) { - break loop3; - } - final EarlyExitException eee = new EarlyExitException(3, input); - throw eee; - } - cnt3++; - } while (true); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "IDPath" - - // $ANTLR start "INT" - public final void mINT() throws RecognitionException { - try { - final int _type = INT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:251:5: ( ( '0' .. '9' )+ ) - // Velvet.g:251:7: ( '0' .. '9' )+ - { - // Velvet.g:251:7: ( '0' .. '9' )+ - int cnt4 = 0; - loop4: do { - int alt4 = 2; - final int LA4_0 = input.LA(1); - - if ((((LA4_0 >= '0') && (LA4_0 <= '9')))) { - alt4 = 1; - } - - switch (alt4) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - if (cnt4 >= 1) { - break loop4; - } - final EarlyExitException eee = new EarlyExitException(4, input); - throw eee; - } - cnt4++; - } while (true); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "INT" - - // $ANTLR start "FLOAT" - public final void mFLOAT() throws RecognitionException { - try { - final int _type = FLOAT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:255:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT ) - int alt11 = 3; - alt11 = dfa11.predict(input); - switch (alt11) { - case 1: - // Velvet.g:255:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? - { - // Velvet.g:255:9: ( '0' .. '9' )+ - int cnt5 = 0; - loop5: do { - int alt5 = 2; - final int LA5_0 = input.LA(1); - - if ((((LA5_0 >= '0') && (LA5_0 <= '9')))) { - alt5 = 1; - } - - switch (alt5) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - if (cnt5 >= 1) { - break loop5; - } - final EarlyExitException eee = new EarlyExitException(5, input); - throw eee; - } - cnt5++; - } while (true); - - match('.'); - - // Velvet.g:255:25: ( '0' .. '9' )* - loop6: do { - int alt6 = 2; - final int LA6_0 = input.LA(1); - - if ((((LA6_0 >= '0') && (LA6_0 <= '9')))) { - alt6 = 1; - } - - switch (alt6) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - break loop6; - } - } while (true); - - // Velvet.g:255:37: ( EXPONENT )? - int alt7 = 2; - final int LA7_0 = input.LA(1); - - if (((LA7_0 == 'E') || (LA7_0 == 'e'))) { - alt7 = 1; - } - switch (alt7) { - case 1: - // Velvet.g:255:37: EXPONENT - { - mEXPONENT(); - - } - break; - - } - - } - break; - case 2: - // Velvet.g:256:9: '.' ( '0' .. '9' )+ ( EXPONENT )? - { - match('.'); +// Generated from Velvet.g4 by ANTLR 4.13.2 - // Velvet.g:256:13: ( '0' .. '9' )+ - int cnt8 = 0; - loop8: do { - int alt8 = 2; - final int LA8_0 = input.LA(1); - - if ((((LA8_0 >= '0') && (LA8_0 <= '9')))) { - alt8 = 1; - } - - switch (alt8) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - if (cnt8 >= 1) { - break loop8; - } - final EarlyExitException eee = new EarlyExitException(8, input); - throw eee; - } - cnt8++; - } while (true); - - // Velvet.g:256:25: ( EXPONENT )? - int alt9 = 2; - final int LA9_0 = input.LA(1); - - if (((LA9_0 == 'E') || (LA9_0 == 'e'))) { - alt9 = 1; - } - switch (alt9) { - case 1: - // Velvet.g:256:25: EXPONENT - { - mEXPONENT(); - - } - break; - - } - - } - break; - case 3: - // Velvet.g:257:9: ( '0' .. '9' )+ EXPONENT - { - // Velvet.g:257:9: ( '0' .. '9' )+ - int cnt10 = 0; - loop10: do { - int alt10 = 2; - final int LA10_0 = input.LA(1); - - if ((((LA10_0 >= '0') && (LA10_0 <= '9')))) { - alt10 = 1; - } - - switch (alt10) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - if (cnt10 >= 1) { - break loop10; - } - final EarlyExitException eee = new EarlyExitException(10, input); - throw eee; - } - cnt10++; - } while (true); - - mEXPONENT(); - - } - break; - - } - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "FLOAT" - - // $ANTLR start "STRING" - public final void mSTRING() throws RecognitionException { - try { - final int _type = STRING; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:261:5: ( '\"' ( ESC_SEQ |~ ( '\\\\' | '\"' ) )* '\"' ) - // Velvet.g:261:8: '\"' ( ESC_SEQ |~ ( '\\\\' | '\"' ) )* '\"' - { - match('\"'); - - // Velvet.g:261:12: ( ESC_SEQ |~ ( '\\\\' | '\"' ) )* - loop12: do { - int alt12 = 3; - final int LA12_0 = input.LA(1); - - if ((LA12_0 == '\\')) { - alt12 = 1; - } else - if ((((LA12_0 >= '\u0000') && (LA12_0 <= '!')) || ((LA12_0 >= '#') && (LA12_0 <= '[')) || ((LA12_0 >= ']') && (LA12_0 <= '\uFFFF')))) { - alt12 = 2; - } - - switch (alt12) { - case 1: - // Velvet.g:261:14: ESC_SEQ - { - mESC_SEQ(); - - } - break; - case 2: - // Velvet.g:261:24: ~ ( '\\\\' | '\"' ) - { - if (((input.LA(1) >= '\u0000') && (input.LA(1) <= '!')) || ((input.LA(1) >= '#') && (input.LA(1) <= '[')) - || ((input.LA(1) >= ']') && (input.LA(1) <= '\uFFFF'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - break loop12; - } - } while (true); - - match('\"'); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } - } - // $ANTLR end "STRING" - - // $ANTLR start "EXPONENT" - public final void mEXPONENT() throws RecognitionException { - try { - // Velvet.g:266:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) - // Velvet.g:266:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ - { - if ((input.LA(1) == 'E') || (input.LA(1) == 'e')) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - // Velvet.g:266:22: ( '+' | '-' )? - int alt13 = 2; - final int LA13_0 = input.LA(1); - - if (((LA13_0 == '+') || (LA13_0 == '-'))) { - alt13 = 1; - } - switch (alt13) { - case 1: - // Velvet.g: - { - if ((input.LA(1) == '+') || (input.LA(1) == '-')) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - } - - // Velvet.g:266:33: ( '0' .. '9' )+ - int cnt14 = 0; - loop14: do { - int alt14 = 2; - final int LA14_0 = input.LA(1); - - if ((((LA14_0 >= '0') && (LA14_0 <= '9')))) { - alt14 = 1; - } - - switch (alt14) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - if (cnt14 >= 1) { - break loop14; - } - final EarlyExitException eee = new EarlyExitException(14, input); - throw eee; - } - cnt14++; - } while (true); - - } - - } finally { - // do for sure before leaving - } - } - // $ANTLR end "EXPONENT" - - // $ANTLR start "HEX_DIGIT" - public final void mHEX_DIGIT() throws RecognitionException { - try { - // Velvet.g:269:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) - // Velvet.g: - { - if (((input.LA(1) >= '0') && (input.LA(1) <= '9')) || ((input.LA(1) >= 'A') && (input.LA(1) <= 'F')) - || ((input.LA(1) >= 'a') && (input.LA(1) <= 'f'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - - } finally { - // do for sure before leaving - } - } - // $ANTLR end "HEX_DIGIT" - - // $ANTLR start "ESC_SEQ" - public final void mESC_SEQ() throws RecognitionException { - try { - // Velvet.g:273:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC ) - int alt15 = 3; - final int LA15_0 = input.LA(1); - - if ((LA15_0 == '\\')) { - switch (input.LA(2)) { - case '\"': - case '\'': - case '\\': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': { - alt15 = 1; - } - break; - case 'u': { - alt15 = 2; - } - break; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': { - alt15 = 3; - } - break; - default: - final NoViableAltException nvae = new NoViableAltException("", 15, 1, input); - - throw nvae; - - } - - } else { - final NoViableAltException nvae = new NoViableAltException("", 15, 0, input); - - throw nvae; - - } - switch (alt15) { - case 1: - // Velvet.g:273:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) - { - match('\\'); - - if ((input.LA(1) == '\"') || (input.LA(1) == '\'') || (input.LA(1) == '\\') || (input.LA(1) == 'b') || (input.LA(1) == 'f') - || (input.LA(1) == 'n') || (input.LA(1) == 'r') || (input.LA(1) == 't')) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - case 2: - // Velvet.g:274:9: UNICODE_ESC - { - mUNICODE_ESC(); - - } - break; - case 3: - // Velvet.g:275:9: OCTAL_ESC - { - mOCTAL_ESC(); +package de.ovgu.featureide.fm.core.io.velvet; +import de.ovgu.featureide.fm.core.FMCorePlugin; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) +public class VelvetLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.13.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + IMPORT=1, MANDATORY=2, ABSTRACT=3, SOMEOF=4, ONEOF=5, CONCEPT=6, CINTERFACE=7, + CONSTRAINT=8, FEATURE=9, USE=10, IMPORTINSTANCE=11, IMPORTINTERFACE=12, + DESCRIPTION=13, VAR_INT=14, VAR_FLOAT=15, VAR_STRING=16, VAR_BOOL=17, + SEMI=18, START_C=19, END_C=20, START_R=21, END_R=22, EQ=23, COMMA=24, + COLON=25, PLUS=26, MINUS=27, OP_NOT=28, OP_AND=29, OP_OR=30, OP_XOR=31, + OP_IMPLIES=32, OP_EQUIVALENT=33, ATTR_OP_EQUALS=34, ATTR_OP_NOT_EQUALS=35, + ATTR_OP_GREATER=36, ATTR_OP_LESS=37, ATTR_OP_GREATER_EQ=38, ATTR_OP_LESS_EQ=39, + EMPTY=40, CONSTR=41, ACONSTR=42, BASEEXT=43, DEF=44, GROUP=45, ATTR=46, + UNARYOP=47, OPERAND=48, BOOLEAN=49, ID=50, IDPath=51, INT=52, FLOAT=53, + STRING=54, WS=55, SL_COMMENT=56, ML_COMMENT=57; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "IMPORT", "MANDATORY", "ABSTRACT", "SOMEOF", "ONEOF", "CONCEPT", "CINTERFACE", + "CONSTRAINT", "FEATURE", "USE", "IMPORTINSTANCE", "IMPORTINTERFACE", + "DESCRIPTION", "VAR_INT", "VAR_FLOAT", "VAR_STRING", "VAR_BOOL", "SEMI", + "START_C", "END_C", "START_R", "END_R", "EQ", "COMMA", "COLON", "PLUS", + "MINUS", "OP_NOT", "OP_AND", "OP_OR", "OP_XOR", "OP_IMPLIES", "OP_EQUIVALENT", + "ATTR_OP_EQUALS", "ATTR_OP_NOT_EQUALS", "ATTR_OP_GREATER", "ATTR_OP_LESS", + "ATTR_OP_GREATER_EQ", "ATTR_OP_LESS_EQ", "EMPTY", "CONSTR", "ACONSTR", + "BASEEXT", "DEF", "GROUP", "ATTR", "UNARYOP", "OPERAND", "BOOLEAN", "ID", + "IDPath", "INT", "FLOAT", "STRING", "EXPONENT", "HEX_DIGIT", "ESC_SEQ", + "OCTAL_ESC", "UNICODE_ESC", "WS", "SL_COMMENT", "ML_COMMENT" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'import'", "'mandatory'", "'abstract'", "'someOf'", "'oneOf'", + "'concept'", "'cinterface'", "'constraint'", "'feature'", "'use'", "'instance'", + "'interface'", "'description'", "'int'", "'float'", "'string'", "'bool'", + "';'", "'{'", "'}'", "'('", "')'", "'='", "','", "':'", "'+'", "'-'", + "'!'", "'&&'", "'||'", "'xor'", "'->'", "'<->'", "'=='", "'!='", "'>'", + "'<'", "'>='", "'<='", "'EMPTY'", "'CONSTR'", "'ACONSTR'", "'BASEEXT'", + "'DEF'", "'GROUP'", "'ATTR'", "'UNARYOP'", "'OPERAND'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "IMPORT", "MANDATORY", "ABSTRACT", "SOMEOF", "ONEOF", "CONCEPT", + "CINTERFACE", "CONSTRAINT", "FEATURE", "USE", "IMPORTINSTANCE", "IMPORTINTERFACE", + "DESCRIPTION", "VAR_INT", "VAR_FLOAT", "VAR_STRING", "VAR_BOOL", "SEMI", + "START_C", "END_C", "START_R", "END_R", "EQ", "COMMA", "COLON", "PLUS", + "MINUS", "OP_NOT", "OP_AND", "OP_OR", "OP_XOR", "OP_IMPLIES", "OP_EQUIVALENT", + "ATTR_OP_EQUALS", "ATTR_OP_NOT_EQUALS", "ATTR_OP_GREATER", "ATTR_OP_LESS", + "ATTR_OP_GREATER_EQ", "ATTR_OP_LESS_EQ", "EMPTY", "CONSTR", "ACONSTR", + "BASEEXT", "DEF", "GROUP", "ATTR", "UNARYOP", "OPERAND", "BOOLEAN", "ID", + "IDPath", "INT", "FLOAT", "STRING", "WS", "SL_COMMENT", "ML_COMMENT" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); } - break; + if (tokenNames[i] == null) { + tokenNames[i] = ""; } - - } finally { - // do for sure before leaving } } - // $ANTLR end "ESC_SEQ" - - // $ANTLR start "OCTAL_ESC" - public final void mOCTAL_ESC() throws RecognitionException { - try { - // Velvet.g:280:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) - int alt16 = 3; - final int LA16_0 = input.LA(1); - - if ((LA16_0 == '\\')) { - final int LA16_1 = input.LA(2); - - if ((((LA16_1 >= '0') && (LA16_1 <= '3')))) { - final int LA16_2 = input.LA(3); - - if ((((LA16_2 >= '0') && (LA16_2 <= '7')))) { - final int LA16_4 = input.LA(4); - - if ((((LA16_4 >= '0') && (LA16_4 <= '7')))) { - alt16 = 1; - } else { - alt16 = 2; - } - } else { - alt16 = 3; - } - } else if ((((LA16_1 >= '4') && (LA16_1 <= '7')))) { - final int LA16_3 = input.LA(3); - - if ((((LA16_3 >= '0') && (LA16_3 <= '7')))) { - alt16 = 2; - } else { - alt16 = 3; - } - } else { - final NoViableAltException nvae = new NoViableAltException("", 16, 1, input); - - throw nvae; - - } - } else { - final NoViableAltException nvae = new NoViableAltException("", 16, 0, input); - - throw nvae; - - } - switch (alt16) { - case 1: - // Velvet.g:280:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) - { - match('\\'); - - if (((input.LA(1) >= '0') && (input.LA(1) <= '3'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - if (((input.LA(1) >= '0') && (input.LA(1) <= '7'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - if (((input.LA(1) >= '0') && (input.LA(1) <= '7'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - case 2: - // Velvet.g:281:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) - { - match('\\'); - - if (((input.LA(1) >= '0') && (input.LA(1) <= '7'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - if (((input.LA(1) >= '0') && (input.LA(1) <= '7'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - case 3: - // Velvet.g:282:9: '\\\\' ( '0' .. '7' ) - { - match('\\'); - - if (((input.LA(1) >= '0') && (input.LA(1) <= '7'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - } - } finally { - // do for sure before leaving - } + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; } - // $ANTLR end "OCTAL_ESC" - - // $ANTLR start "UNICODE_ESC" - public final void mUNICODE_ESC() throws RecognitionException { - try { - // Velvet.g:287:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT ) - // Velvet.g:287:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - { - match('\\'); - - match('u'); - - mHEX_DIGIT(); - - mHEX_DIGIT(); - - mHEX_DIGIT(); - mHEX_DIGIT(); - - } + @Override - } finally { - // do for sure before leaving - } + public Vocabulary getVocabulary() { + return VOCABULARY; } - // $ANTLR end "UNICODE_ESC" - // $ANTLR start "WS" - public final void mWS() throws RecognitionException { - try { - final int _type = WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:289:5: ( ( ' ' | '\\t' | '\\r' | '\\n' ) ) - // Velvet.g:289:7: ( ' ' | '\\t' | '\\r' | '\\n' ) - { - if (((input.LA(1) >= '\t') && (input.LA(1) <= '\n')) || (input.LA(1) == '\r') || (input.LA(1) == ' ')) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - _channel = HIDDEN; - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving + public class InternalSyntaxException extends RuntimeException{ + private final RecognitionException e; + public InternalSyntaxException(RecognitionException e){ + this.e = e; } - } - // $ANTLR end "WS" - - // $ANTLR start "SL_COMMENT" - public final void mSL_COMMENT() throws RecognitionException { - try { - final int _type = SL_COMMENT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:296:12: ( ( '//' (~ ( '\\r' | '\\n' ) )* ) ) - // Velvet.g:296:14: ( '//' (~ ( '\\r' | '\\n' ) )* ) - { - // Velvet.g:296:14: ( '//' (~ ( '\\r' | '\\n' ) )* ) - // Velvet.g:296:15: '//' (~ ( '\\r' | '\\n' ) )* - { - match("//"); - - // Velvet.g:296:20: (~ ( '\\r' | '\\n' ) )* - loop17: do { - int alt17 = 2; - final int LA17_0 = input.LA(1); - - if ((((LA17_0 >= '\u0000') && (LA17_0 <= '\t')) || ((LA17_0 >= '\u000B') && (LA17_0 <= '\f')) - || ((LA17_0 >= '\u000E') && (LA17_0 <= '\uFFFF')))) { - alt17 = 1; - } - - switch (alt17) { - case 1: - // Velvet.g: - { - if (((input.LA(1) >= '\u0000') && (input.LA(1) <= '\t')) || ((input.LA(1) >= '\u000B') && (input.LA(1) <= '\f')) - || ((input.LA(1) >= '\u000E') && (input.LA(1) <= '\uFFFF'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - - default: - break loop17; - } - } while (true); - - } - - skip(); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving + + public RecognitionException getException(){ + return e; } } - // $ANTLR end "SL_COMMENT" - - // $ANTLR start "ML_COMMENT" - public final void mML_COMMENT() throws RecognitionException { - try { - final int _type = ML_COMMENT; - final int _channel = DEFAULT_TOKEN_CHANNEL; - // Velvet.g:298:12: ( ( '/*' (~ ( '*/' ) )* ) ) - // Velvet.g:298:14: ( '/*' (~ ( '*/' ) )* ) - { - // Velvet.g:298:14: ( '/*' (~ ( '*/' ) )* ) - // Velvet.g:298:15: '/*' (~ ( '*/' ) )* - { - match("/*"); - - // Velvet.g:298:20: (~ ( '*/' ) )* - loop18: do { - int alt18 = 2; - final int LA18_0 = input.LA(1); - - if ((((LA18_0 >= '\u0000') && (LA18_0 <= '\uFFFF')))) { - alt18 = 1; - } - - switch (alt18) { - case 1: - // Velvet.g:298:20: ~ ( '*/' ) - { - if (((input.LA(1) >= '\u0000') && (input.LA(1) <= '\uFFFF'))) { - input.consume(); - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - recover(mse); - throw mse; - } - - } - break; - default: - break loop18; - } - } while (true); - } - - skip(); - - } - - state.type = _type; - state.channel = _channel; - } finally { - // do for sure before leaving - } + public VelvetLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); } - // $ANTLR end "ML_COMMENT" @Override - public void mTokens() throws RecognitionException { - // Velvet.g:1:8: ( ABSTRACT | ATTR_OP_EQUALS | ATTR_OP_GREATER | ATTR_OP_GREATER_EQ | ATTR_OP_LESS | ATTR_OP_LESS_EQ | ATTR_OP_NOT_EQUALS | CINTERFACE | - // COLON | COMMA | CONCEPT | CONSTRAINT | DESCRIPTION | END_C | END_R | EQ | FEATURE | IMPORT | IMPORTINSTANCE | IMPORTINTERFACE | MANDATORY | MINUS | - // ONEOF | OP_AND | OP_EQUIVALENT | OP_IMPLIES | OP_NOT | OP_OR | OP_XOR | PLUS | SEMI | SOMEOF | START_C | START_R | USE | VAR_BOOL | VAR_FLOAT | - // VAR_INT | VAR_STRING | BOOLEAN | ID | IDPath | INT | FLOAT | STRING | WS | SL_COMMENT | ML_COMMENT ) - int alt19 = 48; - alt19 = dfa19.predict(input); - switch (alt19) { - case 1: - // Velvet.g:1:10: ABSTRACT - { - mABSTRACT(); - - } - break; - case 2: - // Velvet.g:1:19: ATTR_OP_EQUALS - { - mATTR_OP_EQUALS(); - - } - break; - case 3: - // Velvet.g:1:34: ATTR_OP_GREATER - { - mATTR_OP_GREATER(); - - } - break; - case 4: - // Velvet.g:1:50: ATTR_OP_GREATER_EQ - { - mATTR_OP_GREATER_EQ(); - - } - break; - case 5: - // Velvet.g:1:69: ATTR_OP_LESS - { - mATTR_OP_LESS(); - - } - break; - case 6: - // Velvet.g:1:82: ATTR_OP_LESS_EQ - { - mATTR_OP_LESS_EQ(); - - } - break; - case 7: - // Velvet.g:1:98: ATTR_OP_NOT_EQUALS - { - mATTR_OP_NOT_EQUALS(); - - } - break; - case 8: - // Velvet.g:1:117: CINTERFACE - { - mCINTERFACE(); - - } - break; - case 9: - // Velvet.g:1:128: COLON - { - mCOLON(); - - } - break; - case 10: - // Velvet.g:1:134: COMMA - { - mCOMMA(); - - } - break; - case 11: - // Velvet.g:1:140: CONCEPT - { - mCONCEPT(); - - } - break; - case 12: - // Velvet.g:1:148: CONSTRAINT - { - mCONSTRAINT(); - - } - break; - case 13: - // Velvet.g:1:159: DESCRIPTION - { - mDESCRIPTION(); - - } - break; - case 14: - // Velvet.g:1:171: END_C - { - mEND_C(); - - } - break; - case 15: - // Velvet.g:1:177: END_R - { - mEND_R(); - - } - break; - case 16: - // Velvet.g:1:183: EQ - { - mEQ(); - - } - break; - case 17: - // Velvet.g:1:186: FEATURE - { - mFEATURE(); - - } - break; - case 18: - // Velvet.g:1:194: IMPORT - { - mIMPORT(); - - } - break; - case 19: - // Velvet.g:1:201: IMPORTINSTANCE - { - mIMPORTINSTANCE(); - - } - break; - case 20: - // Velvet.g:1:216: IMPORTINTERFACE - { - mIMPORTINTERFACE(); - - } - break; - case 21: - // Velvet.g:1:232: MANDATORY - { - mMANDATORY(); - - } - break; - case 22: - // Velvet.g:1:242: MINUS - { - mMINUS(); - - } - break; - case 23: - // Velvet.g:1:248: ONEOF - { - mONEOF(); - - } - break; - case 24: - // Velvet.g:1:254: OP_AND - { - mOP_AND(); - - } - break; - case 25: - // Velvet.g:1:261: OP_EQUIVALENT - { - mOP_EQUIVALENT(); - - } - break; - case 26: - // Velvet.g:1:275: OP_IMPLIES - { - mOP_IMPLIES(); - - } - break; - case 27: - // Velvet.g:1:286: OP_NOT - { - mOP_NOT(); - - } - break; - case 28: - // Velvet.g:1:293: OP_OR - { - mOP_OR(); - - } - break; - case 29: - // Velvet.g:1:299: OP_XOR - { - mOP_XOR(); - - } - break; - case 30: - // Velvet.g:1:306: PLUS - { - mPLUS(); + public String getGrammarFileName() { return "Velvet.g4"; } - } - break; - case 31: - // Velvet.g:1:311: SEMI - { - mSEMI(); - - } - break; - case 32: - // Velvet.g:1:316: SOMEOF - { - mSOMEOF(); - - } - break; - case 33: - // Velvet.g:1:323: START_C - { - mSTART_C(); - - } - break; - case 34: - // Velvet.g:1:331: START_R - { - mSTART_R(); - - } - break; - case 35: - // Velvet.g:1:339: USE - { - mUSE(); - - } - break; - case 36: - // Velvet.g:1:343: VAR_BOOL - { - mVAR_BOOL(); - - } - break; - case 37: - // Velvet.g:1:352: VAR_FLOAT - { - mVAR_FLOAT(); - - } - break; - case 38: - // Velvet.g:1:362: VAR_INT - { - mVAR_INT(); - - } - break; - case 39: - // Velvet.g:1:370: VAR_STRING - { - mVAR_STRING(); - - } - break; - case 40: - // Velvet.g:1:381: BOOLEAN - { - mBOOLEAN(); - - } - break; - case 41: - // Velvet.g:1:389: ID - { - mID(); - - } - break; - case 42: - // Velvet.g:1:392: IDPath - { - mIDPath(); - - } - break; - case 43: - // Velvet.g:1:399: INT - { - mINT(); - - } - break; - case 44: - // Velvet.g:1:403: FLOAT - { - mFLOAT(); - - } - break; - case 45: - // Velvet.g:1:409: STRING - { - mSTRING(); - - } - break; - case 46: - // Velvet.g:1:416: WS - { - mWS(); - - } - break; - case 47: - // Velvet.g:1:419: SL_COMMENT - { - mSL_COMMENT(); - - } - break; - case 48: - // Velvet.g:1:430: ML_COMMENT - { - mML_COMMENT(); - - } - break; - - } - - } - - protected DFA11 dfa11 = new DFA11(this); - protected DFA19 dfa19 = new DFA19(this); - static final String DFA11_eotS = "\5\uffff"; - static final String DFA11_eofS = "\5\uffff"; - static final String DFA11_minS = "\2\56\3\uffff"; - static final String DFA11_maxS = "\1\71\1\145\3\uffff"; - static final String DFA11_acceptS = "\2\uffff\1\2\1\1\1\3"; - static final String DFA11_specialS = "\5\uffff}>"; - static final String[] DFA11_transitionS = { "\1\2\1\uffff\12\1", "\1\3\1\uffff\12\1\13\uffff\1\4\37\uffff\1\4", "", "", "" }; - - static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); - static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); - static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); - static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); - static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); - static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); - static final short[][] DFA11_transition; - - static { - final int numStates = DFA11_transitionS.length; - DFA11_transition = new short[numStates][]; - for (int i = 0; i < numStates; i++) { - DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]); - } - } - - class DFA11 extends DFA { - - public DFA11(BaseRecognizer recognizer) { - this.recognizer = recognizer; - decisionNumber = 11; - eot = DFA11_eot; - eof = DFA11_eof; - min = DFA11_min; - max = DFA11_max; - accept = DFA11_accept; - special = DFA11_special; - transition = DFA11_transition; - } + @Override + public String[] getRuleNames() { return ruleNames; } - @Override - public String getDescription() { - return "254:1: FLOAT : ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( EXPONENT )? | '.' ( '0' .. '9' )+ ( EXPONENT )? | ( '0' .. '9' )+ EXPONENT );"; - } - } + @Override + public String getSerializedATN() { return _serializedATN; } - static final String DFA19_eotS = "\1\uffff\1\44\1\47\1\51\1\54\1\56\1\44\2\uffff\1\44\2\uffff\3\44" - + "\1\71\1\44\2\uffff\1\44\2\uffff\1\44\2\uffff\4\44\1\101\4\uffff" + "\2\44\13\uffff\11\44\2\uffff\7\44\3\uffff\11\44\1\141\2\44\1\144" - + "\2\44\1\147\15\44\1\uffff\2\44\1\uffff\2\44\1\uffff\1\171\1\172" + "\6\44\1\u0081\1\172\4\44\1\u0086\2\44\2\uffff\6\44\1\uffff\1\u008f" - + "\3\44\1\uffff\1\u0093\1\u0094\2\44\1\u0097\2\44\1\u009a\1\uffff" + "\3\44\2\uffff\1\u009e\1\44\1\uffff\2\44\1\uffff\1\u00a2\2\44\1\uffff" - + "\3\44\1\uffff\1\u00a8\1\u00a9\1\u00aa\1\u00ab\1\44\4\uffff\1\u00ad" + "\1\uffff"; - static final String DFA19_eofS = "\u00ae\uffff"; - static final String DFA19_minS = - "\1\11\1\55\2\75\1\55\1\75\1\55\2\uffff\1\55\2\uffff\5\55\2\uffff" + "\1\55\2\uffff\1\55\2\uffff\4\55\1\56\3\uffff\1\52\2\55\13\uffff" - + "\11\55\2\uffff\7\55\3\uffff\35\55\1\uffff\2\55\1\uffff\2\55\1\uffff" + "\21\55\2\uffff\6\55\1\uffff\4\55\1\uffff\10\55\1\uffff\3\55\2\uffff" - + "\2\55\1\uffff\2\55\1\uffff\3\55\1\uffff\3\55\1\uffff\5\55\4\uffff" + "\1\55\1\uffff"; - static final String DFA19_maxS = - "\1\175\1\172\4\75\1\172\2\uffff\1\172\2\uffff\5\172\2\uffff\1\172" + "\2\uffff\1\172\2\uffff\4\172\1\145\3\uffff\1\57\2\172\13\uffff\11" - + "\172\2\uffff\7\172\3\uffff\35\172\1\uffff\2\172\1\uffff\2\172\1" + "\uffff\21\172\2\uffff\6\172\1\uffff\4\172\1\uffff\10\172\1\uffff" - + "\3\172\2\uffff\2\172\1\uffff\2\172\1\uffff\3\172\1\uffff\3\172\1" + "\uffff\5\172\4\uffff\1\172\1\uffff"; - static final String DFA19_acceptS = "\7\uffff\1\11\1\12\1\uffff\1\16\1\17\5\uffff\1\30\1\34\1\uffff\1" - + "\36\1\37\1\uffff\1\41\1\42\5\uffff\1\54\1\55\1\56\3\uffff\1\51\1" + "\52\1\2\1\20\1\4\1\3\1\6\1\31\1\5\1\7\1\33\11\uffff\1\32\1\26\7" - + "\uffff\1\53\1\57\1\60\35\uffff\1\46\2\uffff\1\35\2\uffff\1\43\21" + "\uffff\1\44\1\50\6\uffff\1\45\4\uffff\1\27\10\uffff\1\22\3\uffff" - + "\1\40\1\47\2\uffff\1\13\2\uffff\1\21\3\uffff\1\1\3\uffff\1\23\5" + "\uffff\1\24\1\25\1\10\1\14\1\uffff\1\15"; - static final String DFA19_specialS = "\u00ae\uffff}>"; - static final String[] DFA19_transitionS = { - "\2\40\2\uffff\1\40\22\uffff\1\40\1\5\1\37\3\uffff\1\21\1\uffff" + "\1\30\1\13\1\uffff\1\24\1\10\1\17\1\36\1\41\12\35\1\7\1\25\1" - + "\4\1\2\1\3\2\uffff\32\34\4\uffff\1\34\1\uffff\1\1\1\32\1\6\1" + "\11\1\34\1\14\2\34\1\15\3\34\1\16\1\34\1\20\3\34\1\26\1\33\1" - + "\31\2\34\1\23\2\34\1\27\1\22\1\12", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\43\1\42\30\43", "\1\46", "\1\50", "\1\53\17\uffff\1\52", "\1\55", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\10\43\1\57\5\43\1\60\13\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\61\25\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\64\3\43\1\62\6\43\1\63\16\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\14\43\1\65\1\66\14\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\67\31\43", - "\1\43\1\45\1\uffff\12\43\4\uffff\1\70\2\uffff\32\43\4\uffff" + "\1\43\1\uffff\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\72\14\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\73\13\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\74\4\43\1\75\6\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\22\43\1\76\7\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\77\13\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\100\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\36\1\uffff\12\35\13\uffff\1\36\37\uffff\1\36", "", "", "", - "\1\103\4\uffff\1\102", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\22\43\1\104\7\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "", "", "", "", "", "", "", "", "", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\105\14\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\106\14\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\22\43\1\107\7\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\110\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\111\13\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\13\43\1\112\16\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\17\43\1\113\12\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\22\43\1\114\1\115\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\116\14\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\117\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\120\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\14\43\1\121\15\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\122\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\123\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\124\13\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\24\43\1\125\5\43", "", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\126\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\127\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\130\17\43\1\131\7\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\132\27\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\133\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\134\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\22\43\1\135\7\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\136\13\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\137\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\140\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\3\43\1\142\26\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\16\43\1\143\13\43\4\uffff" + "\1\43\1\uffff\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\145\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\10\43\1\146\21\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\13\43\1\150\16\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\151\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\152\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\153\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\154\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\155\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\156\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\24\43\1\157\5\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\160\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\161\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\162\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\163\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\164\10\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\165\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\5\43\1\166\24\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\16\43\1\167\13\43\4\uffff" + "\1\43\1\uffff\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\170\14\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\173\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\174\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\17\43\1\175\12\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\176\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\10\43\1\177\21\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\u0080\10\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u0082\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\u0083\14\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\5\43\1\u0084\24\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u0085\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\5\43\1\u0087\24\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\6\43\1\u0088\23\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\u0089\27\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\5\43\1\u008a\24\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u008b\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\u008c\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\17\43\1\u008d\12\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\u008e\25\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\u0090\27\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\u0091\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\u0092\13\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u0095\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\1\u0096\31\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\10\43\1\u0098\21\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u0099\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\u009b\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\u009c\27\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\21\43\1\u009d\10\43", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\2\43\1\u009f\27\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\u00a0\14\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\10\43\1\u00a1\21\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\u00a3\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\30\43\1\u00a4\1\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\4\43\1\u00a5\25\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\23\43\1\u00a6\6\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\16\43\1\u00a7\13\43", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\15\43\1\u00ac\14\43", "", "", "", "", - "\1\43\1\45\1\uffff\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff" + "\32\43", "" }; + @Override + public String[] getChannelNames() { return channelNames; } - static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS); - static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS); - static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS); - static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS); - static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS); - static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS); - static final short[][] DFA19_transition; + @Override + public String[] getModeNames() { return modeNames; } + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\u0004\u00009\u020a\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ + "\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+ + "\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+ + "\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+ + "\u0007\u000b\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002"+ + "\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002"+ + "\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002"+ + "\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002"+ + "\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002"+ + "\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002"+ + "\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007"+ + "!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+ + "&\u0002\'\u0007\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007"+ + "+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u0007"+ + "0\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u0007"+ + "5\u00026\u00076\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007"+ + ":\u0002;\u0007;\u0002<\u0007<\u0002=\u0007=\u0001\u0000\u0001\u0000\u0001"+ + "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001"+ + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+ + "\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+ + "\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+ + "\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001"+ + "\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001"+ + "\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0001"+ + "\u0005\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+ + "\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+ + "\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+ + "\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+ + "\u0007\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b"+ + "\u0001\t\u0001\t\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001"+ + "\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000b"+ + "\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b"+ + "\u0001\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+ + "\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001"+ + "\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001"+ + "\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001"+ + "\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001"+ + "\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001"+ + "\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001"+ + "\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001"+ + "\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001"+ + " \u0001 \u0001!\u0001!\u0001!\u0001\"\u0001\"\u0001\"\u0001#\u0001#\u0001"+ + "$\u0001$\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001\'\u0001\'\u0001"+ + "\'\u0001\'\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0001(\u0001(\u0001"+ + "(\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001*\u0001"+ + "*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001*\u0001+\u0001+\u0001+\u0001"+ + "+\u0001,\u0001,\u0001,\u0001,\u0001,\u0001,\u0001-\u0001-\u0001-\u0001"+ + "-\u0001-\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001.\u0001"+ + "/\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u00010\u00010\u0001"+ + "0\u00010\u00010\u00010\u00010\u00010\u00010\u00030\u0180\b0\u00011\u0001"+ + "1\u00051\u0184\b1\n1\f1\u0187\t1\u00012\u00012\u00012\u00042\u018c\b2"+ + "\u000b2\f2\u018d\u00013\u00043\u0191\b3\u000b3\f3\u0192\u00014\u00044"+ + "\u0196\b4\u000b4\f4\u0197\u00014\u00014\u00054\u019c\b4\n4\f4\u019f\t"+ + "4\u00014\u00034\u01a2\b4\u00014\u00014\u00044\u01a6\b4\u000b4\f4\u01a7"+ + "\u00014\u00034\u01ab\b4\u00014\u00044\u01ae\b4\u000b4\f4\u01af\u00014"+ + "\u00034\u01b3\b4\u00015\u00015\u00015\u00055\u01b8\b5\n5\f5\u01bb\t5\u0001"+ + "5\u00015\u00016\u00016\u00036\u01c1\b6\u00016\u00046\u01c4\b6\u000b6\f"+ + "6\u01c5\u00017\u00017\u00018\u00018\u00018\u00018\u00018\u00038\u01cf"+ + "\b8\u00018\u00018\u00038\u01d3\b8\u00019\u00019\u00019\u00019\u00039\u01d9"+ + "\b9\u00019\u00019\u00019\u00039\u01de\b9\u00019\u00019\u00039\u01e2\b"+ + "9\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001;\u0004;\u01ec"+ + "\b;\u000b;\f;\u01ed\u0001;\u0001;\u0001<\u0001<\u0001<\u0001<\u0005<\u01f6"+ + "\b<\n<\f<\u01f9\t<\u0001<\u0001<\u0001=\u0001=\u0001=\u0001=\u0005=\u0201"+ + "\b=\n=\f=\u0204\t=\u0001=\u0001=\u0001=\u0001=\u0001=\u0001\u0202\u0000"+ + ">\u0001\u0001\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005\u000b\u0006"+ + "\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019\r\u001b\u000e"+ + "\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015+\u0016-\u0017"+ + "/\u00181\u00193\u001a5\u001b7\u001c9\u001d;\u001e=\u001f? A!C\"E#G$I%"+ + "K&M\'O(Q)S*U+W,Y-[.]/_0a1c2e3g4i5k6m\u0000o\u0000q\u0000s\u0000u\u0000"+ + "w7y8{9\u0001\u0000\n\u0004\u0000--AZ__az\u0005\u0000--09AZ__az\u0002\u0000"+ + "\"\"\\\\\u0002\u0000EEee\u0002\u0000++--\u0003\u000009AFaf\u0005\u0000"+ + "bbffnnrrtt\u0002\u0000\'\'\\\\\u0003\u0000\t\n\r\r \u0002\u0000\n\n\r"+ + "\r\u021f\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003\u0001\u0000\u0000"+ + "\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007\u0001\u0000\u0000"+ + "\u0000\u0000\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001\u0000\u0000\u0000"+ + "\u0000\r\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000\u0000\u0000\u0000"+ + "\u0011\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000\u0000\u0000\u0000"+ + "\u0015\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000\u0000\u0000\u0000"+ + "\u0019\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000\u0000\u0000\u0000"+ + "\u001d\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000\u0000\u0000\u0000"+ + "!\u0001\u0000\u0000\u0000\u0000#\u0001\u0000\u0000\u0000\u0000%\u0001"+ + "\u0000\u0000\u0000\u0000\'\u0001\u0000\u0000\u0000\u0000)\u0001\u0000"+ + "\u0000\u0000\u0000+\u0001\u0000\u0000\u0000\u0000-\u0001\u0000\u0000\u0000"+ + "\u0000/\u0001\u0000\u0000\u0000\u00001\u0001\u0000\u0000\u0000\u00003"+ + "\u0001\u0000\u0000\u0000\u00005\u0001\u0000\u0000\u0000\u00007\u0001\u0000"+ + "\u0000\u0000\u00009\u0001\u0000\u0000\u0000\u0000;\u0001\u0000\u0000\u0000"+ + "\u0000=\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000\u0000\u0000A"+ + "\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000E\u0001\u0000"+ + "\u0000\u0000\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001\u0000\u0000\u0000"+ + "\u0000K\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000\u0000\u0000O"+ + "\u0001\u0000\u0000\u0000\u0000Q\u0001\u0000\u0000\u0000\u0000S\u0001\u0000"+ + "\u0000\u0000\u0000U\u0001\u0000\u0000\u0000\u0000W\u0001\u0000\u0000\u0000"+ + "\u0000Y\u0001\u0000\u0000\u0000\u0000[\u0001\u0000\u0000\u0000\u0000]"+ + "\u0001\u0000\u0000\u0000\u0000_\u0001\u0000\u0000\u0000\u0000a\u0001\u0000"+ + "\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000e\u0001\u0000\u0000\u0000"+ + "\u0000g\u0001\u0000\u0000\u0000\u0000i\u0001\u0000\u0000\u0000\u0000k"+ + "\u0001\u0000\u0000\u0000\u0000w\u0001\u0000\u0000\u0000\u0000y\u0001\u0000"+ + "\u0000\u0000\u0000{\u0001\u0000\u0000\u0000\u0001}\u0001\u0000\u0000\u0000"+ + "\u0003\u0084\u0001\u0000\u0000\u0000\u0005\u008e\u0001\u0000\u0000\u0000"+ + "\u0007\u0097\u0001\u0000\u0000\u0000\t\u009e\u0001\u0000\u0000\u0000\u000b"+ + "\u00a4\u0001\u0000\u0000\u0000\r\u00ac\u0001\u0000\u0000\u0000\u000f\u00b7"+ + "\u0001\u0000\u0000\u0000\u0011\u00c2\u0001\u0000\u0000\u0000\u0013\u00ca"+ + "\u0001\u0000\u0000\u0000\u0015\u00ce\u0001\u0000\u0000\u0000\u0017\u00d7"+ + "\u0001\u0000\u0000\u0000\u0019\u00e1\u0001\u0000\u0000\u0000\u001b\u00ed"+ + "\u0001\u0000\u0000\u0000\u001d\u00f1\u0001\u0000\u0000\u0000\u001f\u00f7"+ + "\u0001\u0000\u0000\u0000!\u00fe\u0001\u0000\u0000\u0000#\u0103\u0001\u0000"+ + "\u0000\u0000%\u0105\u0001\u0000\u0000\u0000\'\u0107\u0001\u0000\u0000"+ + "\u0000)\u0109\u0001\u0000\u0000\u0000+\u010b\u0001\u0000\u0000\u0000-"+ + "\u010d\u0001\u0000\u0000\u0000/\u010f\u0001\u0000\u0000\u00001\u0111\u0001"+ + "\u0000\u0000\u00003\u0113\u0001\u0000\u0000\u00005\u0115\u0001\u0000\u0000"+ + "\u00007\u0117\u0001\u0000\u0000\u00009\u0119\u0001\u0000\u0000\u0000;"+ + "\u011c\u0001\u0000\u0000\u0000=\u011f\u0001\u0000\u0000\u0000?\u0123\u0001"+ + "\u0000\u0000\u0000A\u0126\u0001\u0000\u0000\u0000C\u012a\u0001\u0000\u0000"+ + "\u0000E\u012d\u0001\u0000\u0000\u0000G\u0130\u0001\u0000\u0000\u0000I"+ + "\u0132\u0001\u0000\u0000\u0000K\u0134\u0001\u0000\u0000\u0000M\u0137\u0001"+ + "\u0000\u0000\u0000O\u013a\u0001\u0000\u0000\u0000Q\u0140\u0001\u0000\u0000"+ + "\u0000S\u0147\u0001\u0000\u0000\u0000U\u014f\u0001\u0000\u0000\u0000W"+ + "\u0157\u0001\u0000\u0000\u0000Y\u015b\u0001\u0000\u0000\u0000[\u0161\u0001"+ + "\u0000\u0000\u0000]\u0166\u0001\u0000\u0000\u0000_\u016e\u0001\u0000\u0000"+ + "\u0000a\u017f\u0001\u0000\u0000\u0000c\u0181\u0001\u0000\u0000\u0000e"+ + "\u0188\u0001\u0000\u0000\u0000g\u0190\u0001\u0000\u0000\u0000i\u01b2\u0001"+ + "\u0000\u0000\u0000k\u01b4\u0001\u0000\u0000\u0000m\u01be\u0001\u0000\u0000"+ + "\u0000o\u01c7\u0001\u0000\u0000\u0000q\u01d2\u0001\u0000\u0000\u0000s"+ + "\u01e1\u0001\u0000\u0000\u0000u\u01e3\u0001\u0000\u0000\u0000w\u01eb\u0001"+ + "\u0000\u0000\u0000y\u01f1\u0001\u0000\u0000\u0000{\u01fc\u0001\u0000\u0000"+ + "\u0000}~\u0005i\u0000\u0000~\u007f\u0005m\u0000\u0000\u007f\u0080\u0005"+ + "p\u0000\u0000\u0080\u0081\u0005o\u0000\u0000\u0081\u0082\u0005r\u0000"+ + "\u0000\u0082\u0083\u0005t\u0000\u0000\u0083\u0002\u0001\u0000\u0000\u0000"+ + "\u0084\u0085\u0005m\u0000\u0000\u0085\u0086\u0005a\u0000\u0000\u0086\u0087"+ + "\u0005n\u0000\u0000\u0087\u0088\u0005d\u0000\u0000\u0088\u0089\u0005a"+ + "\u0000\u0000\u0089\u008a\u0005t\u0000\u0000\u008a\u008b\u0005o\u0000\u0000"+ + "\u008b\u008c\u0005r\u0000\u0000\u008c\u008d\u0005y\u0000\u0000\u008d\u0004"+ + "\u0001\u0000\u0000\u0000\u008e\u008f\u0005a\u0000\u0000\u008f\u0090\u0005"+ + "b\u0000\u0000\u0090\u0091\u0005s\u0000\u0000\u0091\u0092\u0005t\u0000"+ + "\u0000\u0092\u0093\u0005r\u0000\u0000\u0093\u0094\u0005a\u0000\u0000\u0094"+ + "\u0095\u0005c\u0000\u0000\u0095\u0096\u0005t\u0000\u0000\u0096\u0006\u0001"+ + "\u0000\u0000\u0000\u0097\u0098\u0005s\u0000\u0000\u0098\u0099\u0005o\u0000"+ + "\u0000\u0099\u009a\u0005m\u0000\u0000\u009a\u009b\u0005e\u0000\u0000\u009b"+ + "\u009c\u0005O\u0000\u0000\u009c\u009d\u0005f\u0000\u0000\u009d\b\u0001"+ + "\u0000\u0000\u0000\u009e\u009f\u0005o\u0000\u0000\u009f\u00a0\u0005n\u0000"+ + "\u0000\u00a0\u00a1\u0005e\u0000\u0000\u00a1\u00a2\u0005O\u0000\u0000\u00a2"+ + "\u00a3\u0005f\u0000\u0000\u00a3\n\u0001\u0000\u0000\u0000\u00a4\u00a5"+ + "\u0005c\u0000\u0000\u00a5\u00a6\u0005o\u0000\u0000\u00a6\u00a7\u0005n"+ + "\u0000\u0000\u00a7\u00a8\u0005c\u0000\u0000\u00a8\u00a9\u0005e\u0000\u0000"+ + "\u00a9\u00aa\u0005p\u0000\u0000\u00aa\u00ab\u0005t\u0000\u0000\u00ab\f"+ + "\u0001\u0000\u0000\u0000\u00ac\u00ad\u0005c\u0000\u0000\u00ad\u00ae\u0005"+ + "i\u0000\u0000\u00ae\u00af\u0005n\u0000\u0000\u00af\u00b0\u0005t\u0000"+ + "\u0000\u00b0\u00b1\u0005e\u0000\u0000\u00b1\u00b2\u0005r\u0000\u0000\u00b2"+ + "\u00b3\u0005f\u0000\u0000\u00b3\u00b4\u0005a\u0000\u0000\u00b4\u00b5\u0005"+ + "c\u0000\u0000\u00b5\u00b6\u0005e\u0000\u0000\u00b6\u000e\u0001\u0000\u0000"+ + "\u0000\u00b7\u00b8\u0005c\u0000\u0000\u00b8\u00b9\u0005o\u0000\u0000\u00b9"+ + "\u00ba\u0005n\u0000\u0000\u00ba\u00bb\u0005s\u0000\u0000\u00bb\u00bc\u0005"+ + "t\u0000\u0000\u00bc\u00bd\u0005r\u0000\u0000\u00bd\u00be\u0005a\u0000"+ + "\u0000\u00be\u00bf\u0005i\u0000\u0000\u00bf\u00c0\u0005n\u0000\u0000\u00c0"+ + "\u00c1\u0005t\u0000\u0000\u00c1\u0010\u0001\u0000\u0000\u0000\u00c2\u00c3"+ + "\u0005f\u0000\u0000\u00c3\u00c4\u0005e\u0000\u0000\u00c4\u00c5\u0005a"+ + "\u0000\u0000\u00c5\u00c6\u0005t\u0000\u0000\u00c6\u00c7\u0005u\u0000\u0000"+ + "\u00c7\u00c8\u0005r\u0000\u0000\u00c8\u00c9\u0005e\u0000\u0000\u00c9\u0012"+ + "\u0001\u0000\u0000\u0000\u00ca\u00cb\u0005u\u0000\u0000\u00cb\u00cc\u0005"+ + "s\u0000\u0000\u00cc\u00cd\u0005e\u0000\u0000\u00cd\u0014\u0001\u0000\u0000"+ + "\u0000\u00ce\u00cf\u0005i\u0000\u0000\u00cf\u00d0\u0005n\u0000\u0000\u00d0"+ + "\u00d1\u0005s\u0000\u0000\u00d1\u00d2\u0005t\u0000\u0000\u00d2\u00d3\u0005"+ + "a\u0000\u0000\u00d3\u00d4\u0005n\u0000\u0000\u00d4\u00d5\u0005c\u0000"+ + "\u0000\u00d5\u00d6\u0005e\u0000\u0000\u00d6\u0016\u0001\u0000\u0000\u0000"+ + "\u00d7\u00d8\u0005i\u0000\u0000\u00d8\u00d9\u0005n\u0000\u0000\u00d9\u00da"+ + "\u0005t\u0000\u0000\u00da\u00db\u0005e\u0000\u0000\u00db\u00dc\u0005r"+ + "\u0000\u0000\u00dc\u00dd\u0005f\u0000\u0000\u00dd\u00de\u0005a\u0000\u0000"+ + "\u00de\u00df\u0005c\u0000\u0000\u00df\u00e0\u0005e\u0000\u0000\u00e0\u0018"+ + "\u0001\u0000\u0000\u0000\u00e1\u00e2\u0005d\u0000\u0000\u00e2\u00e3\u0005"+ + "e\u0000\u0000\u00e3\u00e4\u0005s\u0000\u0000\u00e4\u00e5\u0005c\u0000"+ + "\u0000\u00e5\u00e6\u0005r\u0000\u0000\u00e6\u00e7\u0005i\u0000\u0000\u00e7"+ + "\u00e8\u0005p\u0000\u0000\u00e8\u00e9\u0005t\u0000\u0000\u00e9\u00ea\u0005"+ + "i\u0000\u0000\u00ea\u00eb\u0005o\u0000\u0000\u00eb\u00ec\u0005n\u0000"+ + "\u0000\u00ec\u001a\u0001\u0000\u0000\u0000\u00ed\u00ee\u0005i\u0000\u0000"+ + "\u00ee\u00ef\u0005n\u0000\u0000\u00ef\u00f0\u0005t\u0000\u0000\u00f0\u001c"+ + "\u0001\u0000\u0000\u0000\u00f1\u00f2\u0005f\u0000\u0000\u00f2\u00f3\u0005"+ + "l\u0000\u0000\u00f3\u00f4\u0005o\u0000\u0000\u00f4\u00f5\u0005a\u0000"+ + "\u0000\u00f5\u00f6\u0005t\u0000\u0000\u00f6\u001e\u0001\u0000\u0000\u0000"+ + "\u00f7\u00f8\u0005s\u0000\u0000\u00f8\u00f9\u0005t\u0000\u0000\u00f9\u00fa"+ + "\u0005r\u0000\u0000\u00fa\u00fb\u0005i\u0000\u0000\u00fb\u00fc\u0005n"+ + "\u0000\u0000\u00fc\u00fd\u0005g\u0000\u0000\u00fd \u0001\u0000\u0000\u0000"+ + "\u00fe\u00ff\u0005b\u0000\u0000\u00ff\u0100\u0005o\u0000\u0000\u0100\u0101"+ + "\u0005o\u0000\u0000\u0101\u0102\u0005l\u0000\u0000\u0102\"\u0001\u0000"+ + "\u0000\u0000\u0103\u0104\u0005;\u0000\u0000\u0104$\u0001\u0000\u0000\u0000"+ + "\u0105\u0106\u0005{\u0000\u0000\u0106&\u0001\u0000\u0000\u0000\u0107\u0108"+ + "\u0005}\u0000\u0000\u0108(\u0001\u0000\u0000\u0000\u0109\u010a\u0005("+ + "\u0000\u0000\u010a*\u0001\u0000\u0000\u0000\u010b\u010c\u0005)\u0000\u0000"+ + "\u010c,\u0001\u0000\u0000\u0000\u010d\u010e\u0005=\u0000\u0000\u010e."+ + "\u0001\u0000\u0000\u0000\u010f\u0110\u0005,\u0000\u0000\u01100\u0001\u0000"+ + "\u0000\u0000\u0111\u0112\u0005:\u0000\u0000\u01122\u0001\u0000\u0000\u0000"+ + "\u0113\u0114\u0005+\u0000\u0000\u01144\u0001\u0000\u0000\u0000\u0115\u0116"+ + "\u0005-\u0000\u0000\u01166\u0001\u0000\u0000\u0000\u0117\u0118\u0005!"+ + "\u0000\u0000\u01188\u0001\u0000\u0000\u0000\u0119\u011a\u0005&\u0000\u0000"+ + "\u011a\u011b\u0005&\u0000\u0000\u011b:\u0001\u0000\u0000\u0000\u011c\u011d"+ + "\u0005|\u0000\u0000\u011d\u011e\u0005|\u0000\u0000\u011e<\u0001\u0000"+ + "\u0000\u0000\u011f\u0120\u0005x\u0000\u0000\u0120\u0121\u0005o\u0000\u0000"+ + "\u0121\u0122\u0005r\u0000\u0000\u0122>\u0001\u0000\u0000\u0000\u0123\u0124"+ + "\u0005-\u0000\u0000\u0124\u0125\u0005>\u0000\u0000\u0125@\u0001\u0000"+ + "\u0000\u0000\u0126\u0127\u0005<\u0000\u0000\u0127\u0128\u0005-\u0000\u0000"+ + "\u0128\u0129\u0005>\u0000\u0000\u0129B\u0001\u0000\u0000\u0000\u012a\u012b"+ + "\u0005=\u0000\u0000\u012b\u012c\u0005=\u0000\u0000\u012cD\u0001\u0000"+ + "\u0000\u0000\u012d\u012e\u0005!\u0000\u0000\u012e\u012f\u0005=\u0000\u0000"+ + "\u012fF\u0001\u0000\u0000\u0000\u0130\u0131\u0005>\u0000\u0000\u0131H"+ + "\u0001\u0000\u0000\u0000\u0132\u0133\u0005<\u0000\u0000\u0133J\u0001\u0000"+ + "\u0000\u0000\u0134\u0135\u0005>\u0000\u0000\u0135\u0136\u0005=\u0000\u0000"+ + "\u0136L\u0001\u0000\u0000\u0000\u0137\u0138\u0005<\u0000\u0000\u0138\u0139"+ + "\u0005=\u0000\u0000\u0139N\u0001\u0000\u0000\u0000\u013a\u013b\u0005E"+ + "\u0000\u0000\u013b\u013c\u0005M\u0000\u0000\u013c\u013d\u0005P\u0000\u0000"+ + "\u013d\u013e\u0005T\u0000\u0000\u013e\u013f\u0005Y\u0000\u0000\u013fP"+ + "\u0001\u0000\u0000\u0000\u0140\u0141\u0005C\u0000\u0000\u0141\u0142\u0005"+ + "O\u0000\u0000\u0142\u0143\u0005N\u0000\u0000\u0143\u0144\u0005S\u0000"+ + "\u0000\u0144\u0145\u0005T\u0000\u0000\u0145\u0146\u0005R\u0000\u0000\u0146"+ + "R\u0001\u0000\u0000\u0000\u0147\u0148\u0005A\u0000\u0000\u0148\u0149\u0005"+ + "C\u0000\u0000\u0149\u014a\u0005O\u0000\u0000\u014a\u014b\u0005N\u0000"+ + "\u0000\u014b\u014c\u0005S\u0000\u0000\u014c\u014d\u0005T\u0000\u0000\u014d"+ + "\u014e\u0005R\u0000\u0000\u014eT\u0001\u0000\u0000\u0000\u014f\u0150\u0005"+ + "B\u0000\u0000\u0150\u0151\u0005A\u0000\u0000\u0151\u0152\u0005S\u0000"+ + "\u0000\u0152\u0153\u0005E\u0000\u0000\u0153\u0154\u0005E\u0000\u0000\u0154"+ + "\u0155\u0005X\u0000\u0000\u0155\u0156\u0005T\u0000\u0000\u0156V\u0001"+ + "\u0000\u0000\u0000\u0157\u0158\u0005D\u0000\u0000\u0158\u0159\u0005E\u0000"+ + "\u0000\u0159\u015a\u0005F\u0000\u0000\u015aX\u0001\u0000\u0000\u0000\u015b"+ + "\u015c\u0005G\u0000\u0000\u015c\u015d\u0005R\u0000\u0000\u015d\u015e\u0005"+ + "O\u0000\u0000\u015e\u015f\u0005U\u0000\u0000\u015f\u0160\u0005P\u0000"+ + "\u0000\u0160Z\u0001\u0000\u0000\u0000\u0161\u0162\u0005A\u0000\u0000\u0162"+ + "\u0163\u0005T\u0000\u0000\u0163\u0164\u0005T\u0000\u0000\u0164\u0165\u0005"+ + "R\u0000\u0000\u0165\\\u0001\u0000\u0000\u0000\u0166\u0167\u0005U\u0000"+ + "\u0000\u0167\u0168\u0005N\u0000\u0000\u0168\u0169\u0005A\u0000\u0000\u0169"+ + "\u016a\u0005R\u0000\u0000\u016a\u016b\u0005Y\u0000\u0000\u016b\u016c\u0005"+ + "O\u0000\u0000\u016c\u016d\u0005P\u0000\u0000\u016d^\u0001\u0000\u0000"+ + "\u0000\u016e\u016f\u0005O\u0000\u0000\u016f\u0170\u0005P\u0000\u0000\u0170"+ + "\u0171\u0005E\u0000\u0000\u0171\u0172\u0005R\u0000\u0000\u0172\u0173\u0005"+ + "A\u0000\u0000\u0173\u0174\u0005N\u0000\u0000\u0174\u0175\u0005D\u0000"+ + "\u0000\u0175`\u0001\u0000\u0000\u0000\u0176\u0177\u0005t\u0000\u0000\u0177"+ + "\u0178\u0005r\u0000\u0000\u0178\u0179\u0005u\u0000\u0000\u0179\u0180\u0005"+ + "e\u0000\u0000\u017a\u017b\u0005f\u0000\u0000\u017b\u017c\u0005a\u0000"+ + "\u0000\u017c\u017d\u0005l\u0000\u0000\u017d\u017e\u0005s\u0000\u0000\u017e"+ + "\u0180\u0005e\u0000\u0000\u017f\u0176\u0001\u0000\u0000\u0000\u017f\u017a"+ + "\u0001\u0000\u0000\u0000\u0180b\u0001\u0000\u0000\u0000\u0181\u0185\u0007"+ + "\u0000\u0000\u0000\u0182\u0184\u0007\u0001\u0000\u0000\u0183\u0182\u0001"+ + "\u0000\u0000\u0000\u0184\u0187\u0001\u0000\u0000\u0000\u0185\u0183\u0001"+ + "\u0000\u0000\u0000\u0185\u0186\u0001\u0000\u0000\u0000\u0186d\u0001\u0000"+ + "\u0000\u0000\u0187\u0185\u0001\u0000\u0000\u0000\u0188\u018b\u0003c1\u0000"+ + "\u0189\u018a\u0005.\u0000\u0000\u018a\u018c\u0003c1\u0000\u018b\u0189"+ + "\u0001\u0000\u0000\u0000\u018c\u018d\u0001\u0000\u0000\u0000\u018d\u018b"+ + "\u0001\u0000\u0000\u0000\u018d\u018e\u0001\u0000\u0000\u0000\u018ef\u0001"+ + "\u0000\u0000\u0000\u018f\u0191\u000209\u0000\u0190\u018f\u0001\u0000\u0000"+ + "\u0000\u0191\u0192\u0001\u0000\u0000\u0000\u0192\u0190\u0001\u0000\u0000"+ + "\u0000\u0192\u0193\u0001\u0000\u0000\u0000\u0193h\u0001\u0000\u0000\u0000"+ + "\u0194\u0196\u000209\u0000\u0195\u0194\u0001\u0000\u0000\u0000\u0196\u0197"+ + "\u0001\u0000\u0000\u0000\u0197\u0195\u0001\u0000\u0000\u0000\u0197\u0198"+ + "\u0001\u0000\u0000\u0000\u0198\u0199\u0001\u0000\u0000\u0000\u0199\u019d"+ + "\u0005.\u0000\u0000\u019a\u019c\u000209\u0000\u019b\u019a\u0001\u0000"+ + "\u0000\u0000\u019c\u019f\u0001\u0000\u0000\u0000\u019d\u019b\u0001\u0000"+ + "\u0000\u0000\u019d\u019e\u0001\u0000\u0000\u0000\u019e\u01a1\u0001\u0000"+ + "\u0000\u0000\u019f\u019d\u0001\u0000\u0000\u0000\u01a0\u01a2\u0003m6\u0000"+ + "\u01a1\u01a0\u0001\u0000\u0000\u0000\u01a1\u01a2\u0001\u0000\u0000\u0000"+ + "\u01a2\u01b3\u0001\u0000\u0000\u0000\u01a3\u01a5\u0005.\u0000\u0000\u01a4"+ + "\u01a6\u000209\u0000\u01a5\u01a4\u0001\u0000\u0000\u0000\u01a6\u01a7\u0001"+ + "\u0000\u0000\u0000\u01a7\u01a5\u0001\u0000\u0000\u0000\u01a7\u01a8\u0001"+ + "\u0000\u0000\u0000\u01a8\u01aa\u0001\u0000\u0000\u0000\u01a9\u01ab\u0003"+ + "m6\u0000\u01aa\u01a9\u0001\u0000\u0000\u0000\u01aa\u01ab\u0001\u0000\u0000"+ + "\u0000\u01ab\u01b3\u0001\u0000\u0000\u0000\u01ac\u01ae\u000209\u0000\u01ad"+ + "\u01ac\u0001\u0000\u0000\u0000\u01ae\u01af\u0001\u0000\u0000\u0000\u01af"+ + "\u01ad\u0001\u0000\u0000\u0000\u01af\u01b0\u0001\u0000\u0000\u0000\u01b0"+ + "\u01b1\u0001\u0000\u0000\u0000\u01b1\u01b3\u0003m6\u0000\u01b2\u0195\u0001"+ + "\u0000\u0000\u0000\u01b2\u01a3\u0001\u0000\u0000\u0000\u01b2\u01ad\u0001"+ + "\u0000\u0000\u0000\u01b3j\u0001\u0000\u0000\u0000\u01b4\u01b9\u0005\""+ + "\u0000\u0000\u01b5\u01b8\u0003q8\u0000\u01b6\u01b8\b\u0002\u0000\u0000"+ + "\u01b7\u01b5\u0001\u0000\u0000\u0000\u01b7\u01b6\u0001\u0000\u0000\u0000"+ + "\u01b8\u01bb\u0001\u0000\u0000\u0000\u01b9\u01b7\u0001\u0000\u0000\u0000"+ + "\u01b9\u01ba\u0001\u0000\u0000\u0000\u01ba\u01bc\u0001\u0000\u0000\u0000"+ + "\u01bb\u01b9\u0001\u0000\u0000\u0000\u01bc\u01bd\u0005\"\u0000\u0000\u01bd"+ + "l\u0001\u0000\u0000\u0000\u01be\u01c0\u0007\u0003\u0000\u0000\u01bf\u01c1"+ + "\u0007\u0004\u0000\u0000\u01c0\u01bf\u0001\u0000\u0000\u0000\u01c0\u01c1"+ + "\u0001\u0000\u0000\u0000\u01c1\u01c3\u0001\u0000\u0000\u0000\u01c2\u01c4"+ + "\u000209\u0000\u01c3\u01c2\u0001\u0000\u0000\u0000\u01c4\u01c5\u0001\u0000"+ + "\u0000\u0000\u01c5\u01c3\u0001\u0000\u0000\u0000\u01c5\u01c6\u0001\u0000"+ + "\u0000\u0000\u01c6n\u0001\u0000\u0000\u0000\u01c7\u01c8\u0007\u0005\u0000"+ + "\u0000\u01c8p\u0001\u0000\u0000\u0000\u01c9\u01ce\u0005\\\u0000\u0000"+ + "\u01ca\u01cf\u0007\u0006\u0000\u0000\u01cb\u01cc\u0005\\\u0000\u0000\u01cc"+ + "\u01cf\u0005\"\u0000\u0000\u01cd\u01cf\u0007\u0007\u0000\u0000\u01ce\u01ca"+ + "\u0001\u0000\u0000\u0000\u01ce\u01cb\u0001\u0000\u0000\u0000\u01ce\u01cd"+ + "\u0001\u0000\u0000\u0000\u01cf\u01d3\u0001\u0000\u0000\u0000\u01d0\u01d3"+ + "\u0003u:\u0000\u01d1\u01d3\u0003s9\u0000\u01d2\u01c9\u0001\u0000\u0000"+ + "\u0000\u01d2\u01d0\u0001\u0000\u0000\u0000\u01d2\u01d1\u0001\u0000\u0000"+ + "\u0000\u01d3r\u0001\u0000\u0000\u0000\u01d4\u01d5\u0005\\\u0000\u0000"+ + "\u01d5\u01d6\u000203\u0000\u01d6\u01d8\u000207\u0000\u01d7\u01d9\u0002"+ + "07\u0000\u01d8\u01d7\u0001\u0000\u0000\u0000\u01d8\u01d9\u0001\u0000\u0000"+ + "\u0000\u01d9\u01e2\u0001\u0000\u0000\u0000\u01da\u01db\u0005\\\u0000\u0000"+ + "\u01db\u01dd\u000207\u0000\u01dc\u01de\u000207\u0000\u01dd\u01dc\u0001"+ + "\u0000\u0000\u0000\u01dd\u01de\u0001\u0000\u0000\u0000\u01de\u01e2\u0001"+ + "\u0000\u0000\u0000\u01df\u01e0\u0005\\\u0000\u0000\u01e0\u01e2\u00020"+ + "7\u0000\u01e1\u01d4\u0001\u0000\u0000\u0000\u01e1\u01da\u0001\u0000\u0000"+ + "\u0000\u01e1\u01df\u0001\u0000\u0000\u0000\u01e2t\u0001\u0000\u0000\u0000"+ + "\u01e3\u01e4\u0005\\\u0000\u0000\u01e4\u01e5\u0005u\u0000\u0000\u01e5"+ + "\u01e6\u0003o7\u0000\u01e6\u01e7\u0003o7\u0000\u01e7\u01e8\u0003o7\u0000"+ + "\u01e8\u01e9\u0003o7\u0000\u01e9v\u0001\u0000\u0000\u0000\u01ea\u01ec"+ + "\u0007\b\u0000\u0000\u01eb\u01ea\u0001\u0000\u0000\u0000\u01ec\u01ed\u0001"+ + "\u0000\u0000\u0000\u01ed\u01eb\u0001\u0000\u0000\u0000\u01ed\u01ee\u0001"+ + "\u0000\u0000\u0000\u01ee\u01ef\u0001\u0000\u0000\u0000\u01ef\u01f0\u0006"+ + ";\u0000\u0000\u01f0x\u0001\u0000\u0000\u0000\u01f1\u01f2\u0005/\u0000"+ + "\u0000\u01f2\u01f3\u0005/\u0000\u0000\u01f3\u01f7\u0001\u0000\u0000\u0000"+ + "\u01f4\u01f6\b\t\u0000\u0000\u01f5\u01f4\u0001\u0000\u0000\u0000\u01f6"+ + "\u01f9\u0001\u0000\u0000\u0000\u01f7\u01f5\u0001\u0000\u0000\u0000\u01f7"+ + "\u01f8\u0001\u0000\u0000\u0000\u01f8\u01fa\u0001\u0000\u0000\u0000\u01f9"+ + "\u01f7\u0001\u0000\u0000\u0000\u01fa\u01fb\u0006<\u0000\u0000\u01fbz\u0001"+ + "\u0000\u0000\u0000\u01fc\u01fd\u0005/\u0000\u0000\u01fd\u01fe\u0005*\u0000"+ + "\u0000\u01fe\u0202\u0001\u0000\u0000\u0000\u01ff\u0201\t\u0000\u0000\u0000"+ + "\u0200\u01ff\u0001\u0000\u0000\u0000\u0201\u0204\u0001\u0000\u0000\u0000"+ + "\u0202\u0203\u0001\u0000\u0000\u0000\u0202\u0200\u0001\u0000\u0000\u0000"+ + "\u0203\u0205\u0001\u0000\u0000\u0000\u0204\u0202\u0001\u0000\u0000\u0000"+ + "\u0205\u0206\u0005*\u0000\u0000\u0206\u0207\u0005/\u0000\u0000\u0207\u0208"+ + "\u0001\u0000\u0000\u0000\u0208\u0209\u0006=\u0000\u0000\u0209|\u0001\u0000"+ + "\u0000\u0000\u0018\u0000\u017f\u0185\u018d\u0192\u0197\u019d\u01a1\u01a7"+ + "\u01aa\u01af\u01b2\u01b7\u01b9\u01c0\u01c5\u01ce\u01d2\u01d8\u01dd\u01e1"+ + "\u01ed\u01f7\u0202\u0001\u0006\u0000\u0000"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { - final int numStates = DFA19_transitionS.length; - DFA19_transition = new short[numStates][]; - for (int i = 0; i < numStates; i++) { - DFA19_transition[i] = DFA.unpackEncodedString(DFA19_transitionS[i]); - } - } - - class DFA19 extends DFA { - - public DFA19(BaseRecognizer recognizer) { - this.recognizer = recognizer; - decisionNumber = 19; - eot = DFA19_eot; - eof = DFA19_eof; - min = DFA19_min; - max = DFA19_max; - accept = DFA19_accept; - special = DFA19_special; - transition = DFA19_transition; - } - - @Override - public String getDescription() { - return "1:1: Tokens : ( ABSTRACT | ATTR_OP_EQUALS | ATTR_OP_GREATER | ATTR_OP_GREATER_EQ | ATTR_OP_LESS | ATTR_OP_LESS_EQ | ATTR_OP_NOT_EQUALS | CINTERFACE | COLON | COMMA | CONCEPT | CONSTRAINT | DESCRIPTION | END_C | END_R | EQ | FEATURE | IMPORT | IMPORTINSTANCE | IMPORTINTERFACE | MANDATORY | MINUS | ONEOF | OP_AND | OP_EQUIVALENT | OP_IMPLIES | OP_NOT | OP_OR | OP_XOR | PLUS | SEMI | SOMEOF | START_C | START_R | USE | VAR_BOOL | VAR_FLOAT | VAR_INT | VAR_STRING | BOOLEAN | ID | IDPath | INT | FLOAT | STRING | WS | SL_COMMENT | ML_COMMENT );"; + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); } } - -} +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.tokens b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.tokens new file mode 100644 index 0000000000..3c8e8941ac --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetLexer.tokens @@ -0,0 +1,105 @@ +IMPORT=1 +MANDATORY=2 +ABSTRACT=3 +SOMEOF=4 +ONEOF=5 +CONCEPT=6 +CINTERFACE=7 +CONSTRAINT=8 +FEATURE=9 +USE=10 +IMPORTINSTANCE=11 +IMPORTINTERFACE=12 +DESCRIPTION=13 +VAR_INT=14 +VAR_FLOAT=15 +VAR_STRING=16 +VAR_BOOL=17 +SEMI=18 +START_C=19 +END_C=20 +START_R=21 +END_R=22 +EQ=23 +COMMA=24 +COLON=25 +PLUS=26 +MINUS=27 +OP_NOT=28 +OP_AND=29 +OP_OR=30 +OP_XOR=31 +OP_IMPLIES=32 +OP_EQUIVALENT=33 +ATTR_OP_EQUALS=34 +ATTR_OP_NOT_EQUALS=35 +ATTR_OP_GREATER=36 +ATTR_OP_LESS=37 +ATTR_OP_GREATER_EQ=38 +ATTR_OP_LESS_EQ=39 +EMPTY=40 +CONSTR=41 +ACONSTR=42 +BASEEXT=43 +DEF=44 +GROUP=45 +ATTR=46 +UNARYOP=47 +OPERAND=48 +BOOLEAN=49 +ID=50 +IDPath=51 +INT=52 +FLOAT=53 +STRING=54 +WS=55 +SL_COMMENT=56 +ML_COMMENT=57 +'import'=1 +'mandatory'=2 +'abstract'=3 +'someOf'=4 +'oneOf'=5 +'concept'=6 +'cinterface'=7 +'constraint'=8 +'feature'=9 +'use'=10 +'instance'=11 +'interface'=12 +'description'=13 +'int'=14 +'float'=15 +'string'=16 +'bool'=17 +';'=18 +'{'=19 +'}'=20 +'('=21 +')'=22 +'='=23 +','=24 +':'=25 +'+'=26 +'-'=27 +'!'=28 +'&&'=29 +'||'=30 +'xor'=31 +'->'=32 +'<->'=33 +'=='=34 +'!='=35 +'>'=36 +'<'=37 +'>='=38 +'<='=39 +'EMPTY'=40 +'CONSTR'=41 +'ACONSTR'=42 +'BASEEXT'=43 +'DEF'=44 +'GROUP'=45 +'ATTR'=46 +'UNARYOP'=47 +'OPERAND'=48 diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java new file mode 100644 index 0000000000..5574516ac6 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java @@ -0,0 +1,323 @@ +// Generated from Velvet.g4 by ANTLR 4.13.2 + +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.FMCorePlugin; +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link VelvetParser}. + */ +public interface VelvetListener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link VelvetParser#velvetModel}. + * @param ctx the parse tree + */ + void enterVelvetModel(VelvetParser.VelvetModelContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#velvetModel}. + * @param ctx the parse tree + */ + void exitVelvetModel(VelvetParser.VelvetModelContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#imp}. + * @param ctx the parse tree + */ + void enterImp(VelvetParser.ImpContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#imp}. + * @param ctx the parse tree + */ + void exitImp(VelvetParser.ImpContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#concept}. + * @param ctx the parse tree + */ + void enterConcept(VelvetParser.ConceptContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#concept}. + * @param ctx the parse tree + */ + void exitConcept(VelvetParser.ConceptContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#cinterface}. + * @param ctx the parse tree + */ + void enterCinterface(VelvetParser.CinterfaceContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#cinterface}. + * @param ctx the parse tree + */ + void exitCinterface(VelvetParser.CinterfaceContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#conceptBaseExt}. + * @param ctx the parse tree + */ + void enterConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#conceptBaseExt}. + * @param ctx the parse tree + */ + void exitConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#instanceImports}. + * @param ctx the parse tree + */ + void enterInstanceImports(VelvetParser.InstanceImportsContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#instanceImports}. + * @param ctx the parse tree + */ + void exitInstanceImports(VelvetParser.InstanceImportsContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#interfaceImports}. + * @param ctx the parse tree + */ + void enterInterfaceImports(VelvetParser.InterfaceImportsContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#interfaceImports}. + * @param ctx the parse tree + */ + void exitInterfaceImports(VelvetParser.InterfaceImportsContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#name}. + * @param ctx the parse tree + */ + void enterName(VelvetParser.NameContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#name}. + * @param ctx the parse tree + */ + void exitName(VelvetParser.NameContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#definitions}. + * @param ctx the parse tree + */ + void enterDefinitions(VelvetParser.DefinitionsContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#definitions}. + * @param ctx the parse tree + */ + void exitDefinitions(VelvetParser.DefinitionsContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#definition}. + * @param ctx the parse tree + */ + void enterDefinition(VelvetParser.DefinitionContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#definition}. + * @param ctx the parse tree + */ + void exitDefinition(VelvetParser.DefinitionContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#nonFeatureDefinition}. + * @param ctx the parse tree + */ + void enterNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#nonFeatureDefinition}. + * @param ctx the parse tree + */ + void exitNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#use}. + * @param ctx the parse tree + */ + void enterUse(VelvetParser.UseContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#use}. + * @param ctx the parse tree + */ + void exitUse(VelvetParser.UseContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#feature}. + * @param ctx the parse tree + */ + void enterFeature(VelvetParser.FeatureContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#feature}. + * @param ctx the parse tree + */ + void exitFeature(VelvetParser.FeatureContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#featureGroup}. + * @param ctx the parse tree + */ + void enterFeatureGroup(VelvetParser.FeatureGroupContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#featureGroup}. + * @param ctx the parse tree + */ + void exitFeatureGroup(VelvetParser.FeatureGroupContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#groupType}. + * @param ctx the parse tree + */ + void enterGroupType(VelvetParser.GroupTypeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#groupType}. + * @param ctx the parse tree + */ + void exitGroupType(VelvetParser.GroupTypeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#description}. + * @param ctx the parse tree + */ + void enterDescription(VelvetParser.DescriptionContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#description}. + * @param ctx the parse tree + */ + void exitDescription(VelvetParser.DescriptionContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#constraint}. + * @param ctx the parse tree + */ + void enterConstraint(VelvetParser.ConstraintContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#constraint}. + * @param ctx the parse tree + */ + void exitConstraint(VelvetParser.ConstraintContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#constraintDefinition}. + * @param ctx the parse tree + */ + void enterConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#constraintDefinition}. + * @param ctx the parse tree + */ + void exitConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#constraintOperand}. + * @param ctx the parse tree + */ + void enterConstraintOperand(VelvetParser.ConstraintOperandContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#constraintOperand}. + * @param ctx the parse tree + */ + void exitConstraintOperand(VelvetParser.ConstraintOperandContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attribute}. + * @param ctx the parse tree + */ + void enterAttribute(VelvetParser.AttributeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attribute}. + * @param ctx the parse tree + */ + void exitAttribute(VelvetParser.AttributeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attributeConstraint}. + * @param ctx the parse tree + */ + void enterAttributeConstraint(VelvetParser.AttributeConstraintContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attributeConstraint}. + * @param ctx the parse tree + */ + void exitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attribConstraint}. + * @param ctx the parse tree + */ + void enterAttribConstraint(VelvetParser.AttribConstraintContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attribConstraint}. + * @param ctx the parse tree + */ + void exitAttribConstraint(VelvetParser.AttribConstraintContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attribOperator}. + * @param ctx the parse tree + */ + void enterAttribOperator(VelvetParser.AttribOperatorContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attribOperator}. + * @param ctx the parse tree + */ + void exitAttribOperator(VelvetParser.AttribOperatorContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attribNumInstance}. + * @param ctx the parse tree + */ + void enterAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attribNumInstance}. + * @param ctx the parse tree + */ + void exitAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#intAttribute}. + * @param ctx the parse tree + */ + void enterIntAttribute(VelvetParser.IntAttributeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#intAttribute}. + * @param ctx the parse tree + */ + void exitIntAttribute(VelvetParser.IntAttributeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#floatAttribute}. + * @param ctx the parse tree + */ + void enterFloatAttribute(VelvetParser.FloatAttributeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#floatAttribute}. + * @param ctx the parse tree + */ + void exitFloatAttribute(VelvetParser.FloatAttributeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#stringAttribute}. + * @param ctx the parse tree + */ + void enterStringAttribute(VelvetParser.StringAttributeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#stringAttribute}. + * @param ctx the parse tree + */ + void exitStringAttribute(VelvetParser.StringAttributeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#boolAttribute}. + * @param ctx the parse tree + */ + void enterBoolAttribute(VelvetParser.BoolAttributeContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#boolAttribute}. + * @param ctx the parse tree + */ + void exitBoolAttribute(VelvetParser.BoolAttributeContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#unaryOp}. + * @param ctx the parse tree + */ + void enterUnaryOp(VelvetParser.UnaryOpContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#unaryOp}. + * @param ctx the parse tree + */ + void exitUnaryOp(VelvetParser.UnaryOpContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#binaryOp}. + * @param ctx the parse tree + */ + void enterBinaryOp(VelvetParser.BinaryOpContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#binaryOp}. + * @param ctx the parse tree + */ + void exitBinaryOp(VelvetParser.BinaryOpContext ctx); + /** + * Enter a parse tree produced by {@link VelvetParser#attribRelation}. + * @param ctx the parse tree + */ + void enterAttribRelation(VelvetParser.AttribRelationContext ctx); + /** + * Exit a parse tree produced by {@link VelvetParser#attribRelation}. + * @param ctx the parse tree + */ + void exitAttribRelation(VelvetParser.AttribRelationContext ctx); +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java index 053f4ce203..f1cd765a53 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java @@ -1,4051 +1,2556 @@ -// $ANTLR 3.4 Velvet.g 2016-07-17 21:07:30 -/* FeatureIDE - A Framework for Feature-Oriented Software Development - * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany - * - * This file is part of FeatureIDE. - * - * FeatureIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * FeatureIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with FeatureIDE. If not, see . - * - * See http://featureide.cs.ovgu.de/ for further information. - */ +// Generated from Velvet.g4 by ANTLR 4.13.2 + package de.ovgu.featureide.fm.core.io.velvet; -import org.antlr.runtime.BaseRecognizer; -import org.antlr.runtime.BitSet; -import org.antlr.runtime.DFA; -import org.antlr.runtime.EarlyExitException; -import org.antlr.runtime.MismatchedSetException; -import org.antlr.runtime.NoViableAltException; -import org.antlr.runtime.Parser; -import org.antlr.runtime.ParserRuleReturnScope; -import org.antlr.runtime.RecognitionException; -import org.antlr.runtime.RecognizerSharedState; -import org.antlr.runtime.Token; -import org.antlr.runtime.TokenStream; -import org.antlr.runtime.tree.CommonTreeAdaptor; -import org.antlr.runtime.tree.RewriteEarlyExitException; -import org.antlr.runtime.tree.RewriteRuleSubtreeStream; -import org.antlr.runtime.tree.RewriteRuleTokenStream; -import org.antlr.runtime.tree.Tree; -import org.antlr.runtime.tree.TreeAdaptor; - -import de.ovgu.featureide.fm.core.Logger; - -@SuppressWarnings({ "all", "warnings", "unchecked" }) +import de.ovgu.featureide.fm.core.FMCorePlugin; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) public class VelvetParser extends Parser { - - public static final String[] tokenNames = new String[] { "", "", "", "", "ABSTRACT", "ACONSTR", "ATTR", "ATTR_OP_EQUALS", - "ATTR_OP_GREATER", "ATTR_OP_GREATER_EQ", "ATTR_OP_LESS", "ATTR_OP_LESS_EQ", "ATTR_OP_NOT_EQUALS", "BASEEXT", "BOOLEAN", "CINTERFACE", "COLON", "COMMA", - "CONCEPT", "CONSTR", "CONSTRAINT", "DEF", "DESCRIPTION", "EMPTY", "END_C", "END_R", "EQ", "ESC_SEQ", "EXPONENT", "FEATURE", "FLOAT", "GROUP", - "HEX_DIGIT", "ID", "IDPath", "IMPORT", "IMPORTINSTANCE", "IMPORTINTERFACE", "INT", "MANDATORY", "MINUS", "ML_COMMENT", "OCTAL_ESC", "ONEOF", "OPERAND", - "OP_AND", "OP_EQUIVALENT", "OP_IMPLIES", "OP_NOT", "OP_OR", "OP_XOR", "PLUS", "SEMI", "SL_COMMENT", "SOMEOF", "START_C", "START_R", "STRING", "UNARYOP", - "UNICODE_ESC", "USE", "VAR_BOOL", "VAR_FLOAT", "VAR_INT", "VAR_STRING", "WS" }; - - public static final int EOF = -1; - public static final int ABSTRACT = 4; - public static final int ACONSTR = 5; - public static final int ATTR = 6; - public static final int ATTR_OP_EQUALS = 7; - public static final int ATTR_OP_GREATER = 8; - public static final int ATTR_OP_GREATER_EQ = 9; - public static final int ATTR_OP_LESS = 10; - public static final int ATTR_OP_LESS_EQ = 11; - public static final int ATTR_OP_NOT_EQUALS = 12; - public static final int BASEEXT = 13; - public static final int BOOLEAN = 14; - public static final int CINTERFACE = 15; - public static final int COLON = 16; - public static final int COMMA = 17; - public static final int CONCEPT = 18; - public static final int CONSTR = 19; - public static final int CONSTRAINT = 20; - public static final int DEF = 21; - public static final int DESCRIPTION = 22; - public static final int EMPTY = 23; - public static final int END_C = 24; - public static final int END_R = 25; - public static final int EQ = 26; - public static final int ESC_SEQ = 27; - public static final int EXPONENT = 28; - public static final int FEATURE = 29; - public static final int FLOAT = 30; - public static final int GROUP = 31; - public static final int HEX_DIGIT = 32; - public static final int ID = 33; - public static final int IDPath = 34; - public static final int IMPORT = 35; - public static final int IMPORTINSTANCE = 36; - public static final int IMPORTINTERFACE = 37; - public static final int INT = 38; - public static final int MANDATORY = 39; - public static final int MINUS = 40; - public static final int ML_COMMENT = 41; - public static final int OCTAL_ESC = 42; - public static final int ONEOF = 43; - public static final int OPERAND = 44; - public static final int OP_AND = 45; - public static final int OP_EQUIVALENT = 46; - public static final int OP_IMPLIES = 47; - public static final int OP_NOT = 48; - public static final int OP_OR = 49; - public static final int OP_XOR = 50; - public static final int PLUS = 51; - public static final int SEMI = 52; - public static final int SL_COMMENT = 53; - public static final int SOMEOF = 54; - public static final int START_C = 55; - public static final int START_R = 56; - public static final int STRING = 57; - public static final int UNARYOP = 58; - public static final int UNICODE_ESC = 59; - public static final int USE = 60; - public static final int VAR_BOOL = 61; - public static final int VAR_FLOAT = 62; - public static final int VAR_INT = 63; - public static final int VAR_STRING = 64; - public static final int WS = 65; - - // delegates - public Parser[] getDelegates() { - return new Parser[] {}; - } - - // delegators - - public VelvetParser(TokenStream input) { - this(input, new RecognizerSharedState()); + static { RuntimeMetaData.checkVersion("4.13.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + IMPORT=1, MANDATORY=2, ABSTRACT=3, SOMEOF=4, ONEOF=5, CONCEPT=6, CINTERFACE=7, + CONSTRAINT=8, FEATURE=9, USE=10, IMPORTINSTANCE=11, IMPORTINTERFACE=12, + DESCRIPTION=13, VAR_INT=14, VAR_FLOAT=15, VAR_STRING=16, VAR_BOOL=17, + SEMI=18, START_C=19, END_C=20, START_R=21, END_R=22, EQ=23, COMMA=24, + COLON=25, PLUS=26, MINUS=27, OP_NOT=28, OP_AND=29, OP_OR=30, OP_XOR=31, + OP_IMPLIES=32, OP_EQUIVALENT=33, ATTR_OP_EQUALS=34, ATTR_OP_NOT_EQUALS=35, + ATTR_OP_GREATER=36, ATTR_OP_LESS=37, ATTR_OP_GREATER_EQ=38, ATTR_OP_LESS_EQ=39, + EMPTY=40, CONSTR=41, ACONSTR=42, BASEEXT=43, DEF=44, GROUP=45, ATTR=46, + UNARYOP=47, OPERAND=48, BOOLEAN=49, ID=50, IDPath=51, INT=52, FLOAT=53, + STRING=54, WS=55, SL_COMMENT=56, ML_COMMENT=57; + public static final int + RULE_velvetModel = 0, RULE_imp = 1, RULE_concept = 2, RULE_cinterface = 3, + RULE_conceptBaseExt = 4, RULE_instanceImports = 5, RULE_interfaceImports = 6, + RULE_name = 7, RULE_definitions = 8, RULE_definition = 9, RULE_nonFeatureDefinition = 10, + RULE_use = 11, RULE_feature = 12, RULE_featureGroup = 13, RULE_groupType = 14, + RULE_description = 15, RULE_constraint = 16, RULE_constraintDefinition = 17, + RULE_constraintOperand = 18, RULE_attribute = 19, RULE_attributeConstraint = 20, + RULE_attribConstraint = 21, RULE_attribOperator = 22, RULE_attribNumInstance = 23, + RULE_intAttribute = 24, RULE_floatAttribute = 25, RULE_stringAttribute = 26, + RULE_boolAttribute = 27, RULE_unaryOp = 28, RULE_binaryOp = 29, RULE_attribRelation = 30; + private static String[] makeRuleNames() { + return new String[] { + "velvetModel", "imp", "concept", "cinterface", "conceptBaseExt", "instanceImports", + "interfaceImports", "name", "definitions", "definition", "nonFeatureDefinition", + "use", "feature", "featureGroup", "groupType", "description", "constraint", + "constraintDefinition", "constraintOperand", "attribute", "attributeConstraint", + "attribConstraint", "attribOperator", "attribNumInstance", "intAttribute", + "floatAttribute", "stringAttribute", "boolAttribute", "unaryOp", "binaryOp", + "attribRelation" + }; } - - public VelvetParser(TokenStream input, RecognizerSharedState state) { - super(input, state); + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'import'", "'mandatory'", "'abstract'", "'someOf'", "'oneOf'", + "'concept'", "'cinterface'", "'constraint'", "'feature'", "'use'", "'instance'", + "'interface'", "'description'", "'int'", "'float'", "'string'", "'bool'", + "';'", "'{'", "'}'", "'('", "')'", "'='", "','", "':'", "'+'", "'-'", + "'!'", "'&&'", "'||'", "'xor'", "'->'", "'<->'", "'=='", "'!='", "'>'", + "'<'", "'>='", "'<='", "'EMPTY'", "'CONSTR'", "'ACONSTR'", "'BASEEXT'", + "'DEF'", "'GROUP'", "'ATTR'", "'UNARYOP'", "'OPERAND'" + }; } - - protected TreeAdaptor adaptor = new CommonTreeAdaptor(); - - public void setTreeAdaptor(TreeAdaptor adaptor) { - this.adaptor = adaptor; + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "IMPORT", "MANDATORY", "ABSTRACT", "SOMEOF", "ONEOF", "CONCEPT", + "CINTERFACE", "CONSTRAINT", "FEATURE", "USE", "IMPORTINSTANCE", "IMPORTINTERFACE", + "DESCRIPTION", "VAR_INT", "VAR_FLOAT", "VAR_STRING", "VAR_BOOL", "SEMI", + "START_C", "END_C", "START_R", "END_R", "EQ", "COMMA", "COLON", "PLUS", + "MINUS", "OP_NOT", "OP_AND", "OP_OR", "OP_XOR", "OP_IMPLIES", "OP_EQUIVALENT", + "ATTR_OP_EQUALS", "ATTR_OP_NOT_EQUALS", "ATTR_OP_GREATER", "ATTR_OP_LESS", + "ATTR_OP_GREATER_EQ", "ATTR_OP_LESS_EQ", "EMPTY", "CONSTR", "ACONSTR", + "BASEEXT", "DEF", "GROUP", "ATTR", "UNARYOP", "OPERAND", "BOOLEAN", "ID", + "IDPath", "INT", "FLOAT", "STRING", "WS", "SL_COMMENT", "ML_COMMENT" + }; } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } - public TreeAdaptor getTreeAdaptor() { - return adaptor; + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } } @Override + @Deprecated public String[] getTokenNames() { - return VelvetParser.tokenNames; + return tokenNames; } @Override - public String getGrammarFileName() { - return "Velvet.g"; + + public Vocabulary getVocabulary() { + return VOCABULARY; } @Override - public void emitErrorMessage(String msg) { - Logger.logError(new Exception(msg)); - } + public String getGrammarFileName() { return "Velvet.g4"; } @Override - public void reportError(RecognitionException e) { - throw new InternalSyntaxException(e); - } + public String[] getRuleNames() { return ruleNames; } - public class InternalSyntaxException extends RuntimeException { + @Override + public String getSerializedATN() { return _serializedATN; } - private final RecognitionException e; + @Override + public ATN getATN() { return _ATN; } - public InternalSyntaxException(RecognitionException e) { - this.e = e; - } - public RecognitionException getException() { + public class InternalSyntaxException extends RuntimeException{ + private final RecognitionException e; + public InternalSyntaxException(RecognitionException e){ + this.e = e; + } + + public RecognitionException getException(){ return e; } } - public static class velvetModel_return extends ParserRuleReturnScope { - - Tree tree; + public VelvetParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + @SuppressWarnings("CheckReturnValue") + public static class VelvetModelContext extends ParserRuleContext { + public TerminalNode EOF() { return getToken(VelvetParser.EOF, 0); } + public ConceptContext concept() { + return getRuleContext(ConceptContext.class,0); + } + public CinterfaceContext cinterface() { + return getRuleContext(CinterfaceContext.class,0); + } + public ImpContext imp() { + return getRuleContext(ImpContext.class,0); + } + public VelvetModelContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_velvetModel; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterVelvetModel(this); } - }; - - // $ANTLR start "velvetModel" - // Velvet.g:93:1: velvetModel : ( imp )? ( concept | cinterface ) EOF ; - public final VelvetParser.velvetModel_return velvetModel() throws RecognitionException { - final VelvetParser.velvetModel_return retval = new VelvetParser.velvetModel_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token EOF4 = null; - VelvetParser.imp_return imp1 = null; - - VelvetParser.concept_return concept2 = null; - - VelvetParser.cinterface_return cinterface3 = null; - - Tree EOF4_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitVelvetModel(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitVelvetModel(this); + else return visitor.visitChildren(this); + } + } + public final VelvetModelContext velvetModel() throws RecognitionException { + VelvetModelContext _localctx = new VelvetModelContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_velvetModel); + int _la; try { - // Velvet.g:94:2: ( ( imp )? ( concept | cinterface ) EOF ) - // Velvet.g:94:4: ( imp )? ( concept | cinterface ) EOF + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - // Velvet.g:94:4: ( imp )? - int alt1 = 2; - final int LA1_0 = input.LA(1); - - if ((LA1_0 == IMPORT)) { - alt1 = 1; - } - switch (alt1) { - case 1: - // Velvet.g:94:4: imp + setState(63); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IMPORT) { { - pushFollow(FOLLOW_imp_in_velvetModel472); - imp1 = imp(); - - state._fsp--; - - adaptor.addChild(root_0, imp1.getTree()); - + setState(62); + imp(); } - break; - - } - - // Velvet.g:94:9: ( concept | cinterface ) - int alt2 = 2; - final int LA2_0 = input.LA(1); - - if ((LA2_0 == CONCEPT)) { - alt2 = 1; - } else if ((LA2_0 == CINTERFACE)) { - alt2 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 2, 0, input); - - throw nvae; + } - } - switch (alt2) { - case 1: - // Velvet.g:94:10: concept + setState(67); + _errHandler.sync(this); + switch (_input.LA(1)) { + case CONCEPT: { - pushFollow(FOLLOW_concept_in_velvetModel476); - concept2 = concept(); - - state._fsp--; - - adaptor.addChild(root_0, concept2.getTree()); - + setState(65); + concept(); } - break; - case 2: - // Velvet.g:94:18: cinterface + break; + case CINTERFACE: { - pushFollow(FOLLOW_cinterface_in_velvetModel478); - cinterface3 = cinterface(); - - state._fsp--; - - adaptor.addChild(root_0, cinterface3.getTree()); - - } - break; - + setState(66); + cinterface(); } - - EOF4 = (Token) match(input, EOF, FOLLOW_EOF_in_velvetModel481); - EOF4_tree = (Tree) adaptor.create(EOF4); - adaptor.addChild(root_0, EOF4_tree); - + break; + default: + throw new NoViableAltException(this); + } + setState(69); + match(EOF); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "velvetModel" - - public static class imp_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class ImpContext extends ParserRuleContext { + public List IMPORT() { return getTokens(VelvetParser.IMPORT); } + public TerminalNode IMPORT(int i) { + return getToken(VelvetParser.IMPORT, i); + } + public List name() { + return getRuleContexts(NameContext.class); + } + public NameContext name(int i) { + return getRuleContext(NameContext.class,i); + } + public List SEMI() { return getTokens(VelvetParser.SEMI); } + public TerminalNode SEMI(int i) { + return getToken(VelvetParser.SEMI, i); + } + public ImpContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_imp; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterImp(this); } - }; - - // $ANTLR start "imp" - // Velvet.g:97:1: imp : ( IMPORT name SEMI )+ -> ^( IMPORT ( name )+ ) ; - public final VelvetParser.imp_return imp() throws RecognitionException { - final VelvetParser.imp_return retval = new VelvetParser.imp_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token IMPORT5 = null; - Token SEMI7 = null; - VelvetParser.name_return name6 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitImp(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitImp(this); + else return visitor.visitChildren(this); + } + } - final Tree IMPORT5_tree = null; - final Tree SEMI7_tree = null; - final RewriteRuleTokenStream stream_IMPORT = new RewriteRuleTokenStream(adaptor, "token IMPORT"); - final RewriteRuleTokenStream stream_SEMI = new RewriteRuleTokenStream(adaptor, "token SEMI"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); + public final ImpContext imp() throws RecognitionException { + ImpContext _localctx = new ImpContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_imp); + int _la; try { - // Velvet.g:98:2: ( ( IMPORT name SEMI )+ -> ^( IMPORT ( name )+ ) ) - // Velvet.g:98:4: ( IMPORT name SEMI )+ + enterOuterAlt(_localctx, 1); { - // Velvet.g:98:4: ( IMPORT name SEMI )+ - int cnt3 = 0; - loop3: do { - int alt3 = 2; - final int LA3_0 = input.LA(1); - - if ((LA3_0 == IMPORT)) { - alt3 = 1; - } - - switch (alt3) { - case 1: - // Velvet.g:98:5: IMPORT name SEMI - { - IMPORT5 = (Token) match(input, IMPORT, FOLLOW_IMPORT_in_imp493); - stream_IMPORT.add(IMPORT5); - - pushFollow(FOLLOW_name_in_imp495); - name6 = name(); - - state._fsp--; - - stream_name.add(name6.getTree()); - - SEMI7 = (Token) match(input, SEMI, FOLLOW_SEMI_in_imp497); - stream_SEMI.add(SEMI7); - - } - break; - - default: - if (cnt3 >= 1) { - break loop3; - } - final EarlyExitException eee = new EarlyExitException(3, input); - throw eee; - } - cnt3++; - } while (true); - - // AST REWRITE - // elements: IMPORT, name - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 99:2: -> ^( IMPORT ( name )+ ) + setState(75); + _errHandler.sync(this); + _la = _input.LA(1); + do { { - // Velvet.g:99:5: ^( IMPORT ( name )+ ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_IMPORT.nextNode(), root_1); - - if (!(stream_name.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_name.hasNext()) { - adaptor.addChild(root_1, stream_name.nextTree()); - - } - stream_name.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - + { + setState(71); + match(IMPORT); + setState(72); + name(); + setState(73); + match(SEMI); + } + } + setState(77); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==IMPORT ); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "imp" - - public static class concept_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class ConceptContext extends ParserRuleContext { + public TerminalNode CONCEPT() { return getToken(VelvetParser.CONCEPT, 0); } + public TerminalNode ID() { return getToken(VelvetParser.ID, 0); } + public TerminalNode COLON() { return getToken(VelvetParser.COLON, 0); } + public ConceptBaseExtContext conceptBaseExt() { + return getRuleContext(ConceptBaseExtContext.class,0); + } + public InstanceImportsContext instanceImports() { + return getRuleContext(InstanceImportsContext.class,0); + } + public InterfaceImportsContext interfaceImports() { + return getRuleContext(InterfaceImportsContext.class,0); + } + public DefinitionsContext definitions() { + return getRuleContext(DefinitionsContext.class,0); + } + public ConceptContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_concept; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterConcept(this); } - }; - - // $ANTLR start "concept" - // Velvet.g:102:1: concept : CONCEPT ID ( COLON conceptBaseExt )? ( instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | - // instanceImports )? ( definitions )? -> ^( CONCEPT ID ( conceptBaseExt )? ( instanceImports )? ( interfaceImports )? ( definitions )? ) ; - public final VelvetParser.concept_return concept() throws RecognitionException { - final VelvetParser.concept_return retval = new VelvetParser.concept_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token CONCEPT8 = null; - Token ID9 = null; - Token COLON10 = null; - VelvetParser.conceptBaseExt_return conceptBaseExt11 = null; - - VelvetParser.instanceImports_return instanceImports12 = null; - - VelvetParser.interfaceImports_return interfaceImports13 = null; - - VelvetParser.interfaceImports_return interfaceImports14 = null; - - VelvetParser.instanceImports_return instanceImports15 = null; - - VelvetParser.interfaceImports_return interfaceImports16 = null; - - VelvetParser.instanceImports_return instanceImports17 = null; - - VelvetParser.definitions_return definitions18 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitConcept(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitConcept(this); + else return visitor.visitChildren(this); + } + } - final Tree CONCEPT8_tree = null; - final Tree ID9_tree = null; - final Tree COLON10_tree = null; - final RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON"); - final RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor, "token ID"); - final RewriteRuleTokenStream stream_CONCEPT = new RewriteRuleTokenStream(adaptor, "token CONCEPT"); - final RewriteRuleSubtreeStream stream_conceptBaseExt = new RewriteRuleSubtreeStream(adaptor, "rule conceptBaseExt"); - final RewriteRuleSubtreeStream stream_instanceImports = new RewriteRuleSubtreeStream(adaptor, "rule instanceImports"); - final RewriteRuleSubtreeStream stream_interfaceImports = new RewriteRuleSubtreeStream(adaptor, "rule interfaceImports"); - final RewriteRuleSubtreeStream stream_definitions = new RewriteRuleSubtreeStream(adaptor, "rule definitions"); + public final ConceptContext concept() throws RecognitionException { + ConceptContext _localctx = new ConceptContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_concept); + int _la; try { - // Velvet.g:103:2: ( CONCEPT ID ( COLON conceptBaseExt )? ( instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | - // instanceImports )? ( definitions )? -> ^( CONCEPT ID ( conceptBaseExt )? ( instanceImports )? ( interfaceImports )? ( definitions )? ) ) - // Velvet.g:103:4: CONCEPT ID ( COLON conceptBaseExt )? ( instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | - // instanceImports )? ( definitions )? + enterOuterAlt(_localctx, 1); { - CONCEPT8 = (Token) match(input, CONCEPT, FOLLOW_CONCEPT_in_concept521); - stream_CONCEPT.add(CONCEPT8); - - ID9 = (Token) match(input, ID, FOLLOW_ID_in_concept523); - stream_ID.add(ID9); - - // Velvet.g:104:3: ( COLON conceptBaseExt )? - int alt4 = 2; - final int LA4_0 = input.LA(1); - - if ((LA4_0 == COLON)) { - alt4 = 1; - } - switch (alt4) { - case 1: - // Velvet.g:104:4: COLON conceptBaseExt + setState(79); + match(CONCEPT); + setState(80); + match(ID); + setState(83); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COLON) { { - COLON10 = (Token) match(input, COLON, FOLLOW_COLON_in_concept530); - stream_COLON.add(COLON10); - - pushFollow(FOLLOW_conceptBaseExt_in_concept532); - conceptBaseExt11 = conceptBaseExt(); - - state._fsp--; - - stream_conceptBaseExt.add(conceptBaseExt11.getTree()); - - } - break; - + setState(81); + match(COLON); + setState(82); + conceptBaseExt(); } + } - // Velvet.g:104:27: ( instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | instanceImports )? - int alt5 = 5; - alt5 = dfa5.predict(input); - switch (alt5) { - case 1: - // Velvet.g:104:28: instanceImports interfaceImports + setState(93); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) { + case 1: { - pushFollow(FOLLOW_instanceImports_in_concept537); - instanceImports12 = instanceImports(); - - state._fsp--; - - stream_instanceImports.add(instanceImports12.getTree()); - - pushFollow(FOLLOW_interfaceImports_in_concept539); - interfaceImports13 = interfaceImports(); - - state._fsp--; - - stream_interfaceImports.add(interfaceImports13.getTree()); - + setState(85); + instanceImports(); + setState(86); + interfaceImports(); } - break; - case 2: - // Velvet.g:104:63: interfaceImports instanceImports + break; + case 2: { - pushFollow(FOLLOW_interfaceImports_in_concept543); - interfaceImports14 = interfaceImports(); - - state._fsp--; - - stream_interfaceImports.add(interfaceImports14.getTree()); - - pushFollow(FOLLOW_instanceImports_in_concept545); - instanceImports15 = instanceImports(); - - state._fsp--; - - stream_instanceImports.add(instanceImports15.getTree()); - + setState(88); + interfaceImports(); + setState(89); + instanceImports(); } - break; - case 3: - // Velvet.g:104:98: interfaceImports + break; + case 3: { - pushFollow(FOLLOW_interfaceImports_in_concept549); - interfaceImports16 = interfaceImports(); - - state._fsp--; - - stream_interfaceImports.add(interfaceImports16.getTree()); - + setState(91); + interfaceImports(); } - break; - case 4: - // Velvet.g:104:117: instanceImports + break; + case 4: { - pushFollow(FOLLOW_instanceImports_in_concept553); - instanceImports17 = instanceImports(); - - state._fsp--; - - stream_instanceImports.add(instanceImports17.getTree()); - + setState(92); + instanceImports(); } - break; - - } - - // Velvet.g:105:3: ( definitions )? - int alt6 = 2; - final int LA6_0 = input.LA(1); - - if ((LA6_0 == START_C)) { - alt6 = 1; - } - switch (alt6) { - case 1: - // Velvet.g:105:3: definitions + break; + } + setState(96); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==START_C) { { - pushFollow(FOLLOW_definitions_in_concept560); - definitions18 = definitions(); - - state._fsp--; - - stream_definitions.add(definitions18.getTree()); - - } - break; - + setState(95); + definitions(); } + } - // AST REWRITE - // elements: ID, definitions, interfaceImports, instanceImports, CONCEPT, conceptBaseExt - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 106:2: -> ^( CONCEPT ID ( conceptBaseExt )? ( instanceImports )? ( interfaceImports )? ( definitions )? ) - { - // Velvet.g:106:5: ^( CONCEPT ID ( conceptBaseExt )? ( instanceImports )? ( interfaceImports )? ( definitions )? ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_CONCEPT.nextNode(), root_1); - - adaptor.addChild(root_1, stream_ID.nextNode()); - - // Velvet.g:106:18: ( conceptBaseExt )? - if (stream_conceptBaseExt.hasNext()) { - adaptor.addChild(root_1, stream_conceptBaseExt.nextTree()); - - } - stream_conceptBaseExt.reset(); - - // Velvet.g:106:34: ( instanceImports )? - if (stream_instanceImports.hasNext()) { - adaptor.addChild(root_1, stream_instanceImports.nextTree()); - - } - stream_instanceImports.reset(); - - // Velvet.g:106:51: ( interfaceImports )? - if (stream_interfaceImports.hasNext()) { - adaptor.addChild(root_1, stream_interfaceImports.nextTree()); - - } - stream_interfaceImports.reset(); - - // Velvet.g:106:69: ( definitions )? - if (stream_definitions.hasNext()) { - adaptor.addChild(root_1, stream_definitions.nextTree()); - - } - stream_definitions.reset(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } - adaptor.addChild(root_0, root_1); - } + @SuppressWarnings("CheckReturnValue") + public static class CinterfaceContext extends ParserRuleContext { + public TerminalNode CINTERFACE() { return getToken(VelvetParser.CINTERFACE, 0); } + public TerminalNode ID() { return getToken(VelvetParser.ID, 0); } + public DefinitionsContext definitions() { + return getRuleContext(DefinitionsContext.class,0); + } + public TerminalNode COLON() { return getToken(VelvetParser.COLON, 0); } + public ConceptBaseExtContext conceptBaseExt() { + return getRuleContext(ConceptBaseExtContext.class,0); + } + public CinterfaceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_cinterface; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterCinterface(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitCinterface(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitCinterface(this); + else return visitor.visitChildren(this); + } + } + public final CinterfaceContext cinterface() throws RecognitionException { + CinterfaceContext _localctx = new CinterfaceContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_cinterface); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(98); + match(CINTERFACE); + setState(99); + match(ID); + setState(102); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COLON) { + { + setState(100); + match(COLON); + setState(101); + conceptBaseExt(); } - - retval.tree = root_0; - } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + setState(104); + definitions(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "concept" - - public static class cinterface_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class ConceptBaseExtContext extends ParserRuleContext { + public List ID() { return getTokens(VelvetParser.ID); } + public TerminalNode ID(int i) { + return getToken(VelvetParser.ID, i); + } + public List COMMA() { return getTokens(VelvetParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(VelvetParser.COMMA, i); + } + public ConceptBaseExtContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_conceptBaseExt; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterConceptBaseExt(this); } - }; - - // $ANTLR start "cinterface" - // Velvet.g:109:1: cinterface : CINTERFACE ID ( COLON conceptBaseExt )? definitions -> ^( CINTERFACE ID ( conceptBaseExt )? definitions ) ; - public final VelvetParser.cinterface_return cinterface() throws RecognitionException { - final VelvetParser.cinterface_return retval = new VelvetParser.cinterface_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token CINTERFACE19 = null; - Token ID20 = null; - Token COLON21 = null; - VelvetParser.conceptBaseExt_return conceptBaseExt22 = null; - - VelvetParser.definitions_return definitions23 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitConceptBaseExt(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitConceptBaseExt(this); + else return visitor.visitChildren(this); + } + } - final Tree CINTERFACE19_tree = null; - final Tree ID20_tree = null; - final Tree COLON21_tree = null; - final RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON"); - final RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor, "token ID"); - final RewriteRuleTokenStream stream_CINTERFACE = new RewriteRuleTokenStream(adaptor, "token CINTERFACE"); - final RewriteRuleSubtreeStream stream_conceptBaseExt = new RewriteRuleSubtreeStream(adaptor, "rule conceptBaseExt"); - final RewriteRuleSubtreeStream stream_definitions = new RewriteRuleSubtreeStream(adaptor, "rule definitions"); + public final ConceptBaseExtContext conceptBaseExt() throws RecognitionException { + ConceptBaseExtContext _localctx = new ConceptBaseExtContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_conceptBaseExt); + int _la; try { - // Velvet.g:109:12: ( CINTERFACE ID ( COLON conceptBaseExt )? definitions -> ^( CINTERFACE ID ( conceptBaseExt )? definitions ) ) - // Velvet.g:109:14: CINTERFACE ID ( COLON conceptBaseExt )? definitions + enterOuterAlt(_localctx, 1); { - CINTERFACE19 = (Token) match(input, CINTERFACE, FOLLOW_CINTERFACE_in_cinterface593); - stream_CINTERFACE.add(CINTERFACE19); - - ID20 = (Token) match(input, ID, FOLLOW_ID_in_cinterface595); - stream_ID.add(ID20); - - // Velvet.g:109:29: ( COLON conceptBaseExt )? - int alt7 = 2; - final int LA7_0 = input.LA(1); - - if ((LA7_0 == COLON)) { - alt7 = 1; - } - switch (alt7) { - case 1: - // Velvet.g:109:30: COLON conceptBaseExt + setState(106); + match(ID); + setState(111); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { { - COLON21 = (Token) match(input, COLON, FOLLOW_COLON_in_cinterface599); - stream_COLON.add(COLON21); - - pushFollow(FOLLOW_conceptBaseExt_in_cinterface601); - conceptBaseExt22 = conceptBaseExt(); - - state._fsp--; - - stream_conceptBaseExt.add(conceptBaseExt22.getTree()); - + { + setState(107); + match(COMMA); + setState(108); + match(ID); } - break; - } - - pushFollow(FOLLOW_definitions_in_cinterface605); - definitions23 = definitions(); - - state._fsp--; - - stream_definitions.add(definitions23.getTree()); - - // AST REWRITE - // elements: conceptBaseExt, ID, definitions, CINTERFACE - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 110:2: -> ^( CINTERFACE ID ( conceptBaseExt )? definitions ) - { - // Velvet.g:110:5: ^( CINTERFACE ID ( conceptBaseExt )? definitions ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_CINTERFACE.nextNode(), root_1); - - adaptor.addChild(root_1, stream_ID.nextNode()); - - // Velvet.g:110:21: ( conceptBaseExt )? - if (stream_conceptBaseExt.hasNext()) { - adaptor.addChild(root_1, stream_conceptBaseExt.nextTree()); - - } - stream_conceptBaseExt.reset(); - - adaptor.addChild(root_1, stream_definitions.nextTree()); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - + setState(113); + _errHandler.sync(this); + _la = _input.LA(1); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "cinterface" - - public static class conceptBaseExt_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class InstanceImportsContext extends ParserRuleContext { + public TerminalNode IMPORTINSTANCE() { return getToken(VelvetParser.IMPORTINSTANCE, 0); } + public List ID() { return getTokens(VelvetParser.ID); } + public TerminalNode ID(int i) { + return getToken(VelvetParser.ID, i); + } + public List name() { + return getRuleContexts(NameContext.class); + } + public NameContext name(int i) { + return getRuleContext(NameContext.class,i); + } + public List COMMA() { return getTokens(VelvetParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(VelvetParser.COMMA, i); + } + public InstanceImportsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_instanceImports; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterInstanceImports(this); } - }; - - // $ANTLR start "conceptBaseExt" - // Velvet.g:113:1: conceptBaseExt : ID ( COMMA ID )* -> ^( BASEEXT ( ID )+ ) ; - public final VelvetParser.conceptBaseExt_return conceptBaseExt() throws RecognitionException { - final VelvetParser.conceptBaseExt_return retval = new VelvetParser.conceptBaseExt_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token ID24 = null; - Token COMMA25 = null; - Token ID26 = null; - - final Tree ID24_tree = null; - final Tree COMMA25_tree = null; - final Tree ID26_tree = null; - final RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor, "token ID"); - final RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA"); + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitInstanceImports(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitInstanceImports(this); + else return visitor.visitChildren(this); + } + } + public final InstanceImportsContext instanceImports() throws RecognitionException { + InstanceImportsContext _localctx = new InstanceImportsContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_instanceImports); + int _la; try { - // Velvet.g:114:2: ( ID ( COMMA ID )* -> ^( BASEEXT ( ID )+ ) ) - // Velvet.g:114:4: ID ( COMMA ID )* + enterOuterAlt(_localctx, 1); { - ID24 = (Token) match(input, ID, FOLLOW_ID_in_conceptBaseExt632); - stream_ID.add(ID24); - - // Velvet.g:114:7: ( COMMA ID )* - loop8: do { - int alt8 = 2; - final int LA8_0 = input.LA(1); - - if ((LA8_0 == COMMA)) { - alt8 = 1; - } - - switch (alt8) { - case 1: - // Velvet.g:114:8: COMMA ID - { - COMMA25 = (Token) match(input, COMMA, FOLLOW_COMMA_in_conceptBaseExt635); - stream_COMMA.add(COMMA25); - - ID26 = (Token) match(input, ID, FOLLOW_ID_in_conceptBaseExt637); - stream_ID.add(ID26); - - } - break; - - default: - break loop8; - } - } while (true); - - // AST REWRITE - // elements: ID - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 115:2: -> ^( BASEEXT ( ID )+ ) + setState(114); + match(IMPORTINSTANCE); + setState(115); + match(ID); + setState(116); + name(); + setState(122); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { { - // Velvet.g:115:5: ^( BASEEXT ( ID )+ ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(BASEEXT, "BASEEXT"), root_1); - - if (!(stream_ID.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_ID.hasNext()) { - adaptor.addChild(root_1, stream_ID.nextNode()); - - } - stream_ID.reset(); - - adaptor.addChild(root_0, root_1); - } - + { + setState(117); + match(COMMA); + setState(118); + match(ID); + setState(119); + name(); } - - retval.tree = root_0; - + } + setState(124); + _errHandler.sync(this); + _la = _input.LA(1); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "conceptBaseExt" - - public static class instanceImports_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class InterfaceImportsContext extends ParserRuleContext { + public TerminalNode IMPORTINTERFACE() { return getToken(VelvetParser.IMPORTINTERFACE, 0); } + public List ID() { return getTokens(VelvetParser.ID); } + public TerminalNode ID(int i) { + return getToken(VelvetParser.ID, i); + } + public List name() { + return getRuleContexts(NameContext.class); + } + public NameContext name(int i) { + return getRuleContext(NameContext.class,i); + } + public List COMMA() { return getTokens(VelvetParser.COMMA); } + public TerminalNode COMMA(int i) { + return getToken(VelvetParser.COMMA, i); + } + public InterfaceImportsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceImports; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterInterfaceImports(this); } - }; - - // $ANTLR start "instanceImports" - // Velvet.g:118:1: instanceImports : IMPORTINSTANCE ID name ( COMMA ID name )* -> ^( IMPORTINSTANCE ( ID name )+ ) ; - public final VelvetParser.instanceImports_return instanceImports() throws RecognitionException { - final VelvetParser.instanceImports_return retval = new VelvetParser.instanceImports_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token IMPORTINSTANCE27 = null; - Token ID28 = null; - Token COMMA30 = null; - Token ID31 = null; - VelvetParser.name_return name29 = null; - - VelvetParser.name_return name32 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitInterfaceImports(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitInterfaceImports(this); + else return visitor.visitChildren(this); + } + } - final Tree IMPORTINSTANCE27_tree = null; - final Tree ID28_tree = null; - final Tree COMMA30_tree = null; - final Tree ID31_tree = null; - final RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor, "token ID"); - final RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA"); - final RewriteRuleTokenStream stream_IMPORTINSTANCE = new RewriteRuleTokenStream(adaptor, "token IMPORTINSTANCE"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); + public final InterfaceImportsContext interfaceImports() throws RecognitionException { + InterfaceImportsContext _localctx = new InterfaceImportsContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_interfaceImports); + int _la; try { - // Velvet.g:119:2: ( IMPORTINSTANCE ID name ( COMMA ID name )* -> ^( IMPORTINSTANCE ( ID name )+ ) ) - // Velvet.g:119:4: IMPORTINSTANCE ID name ( COMMA ID name )* + enterOuterAlt(_localctx, 1); { - IMPORTINSTANCE27 = (Token) match(input, IMPORTINSTANCE, FOLLOW_IMPORTINSTANCE_in_instanceImports662); - stream_IMPORTINSTANCE.add(IMPORTINSTANCE27); - - ID28 = (Token) match(input, ID, FOLLOW_ID_in_instanceImports664); - stream_ID.add(ID28); - - pushFollow(FOLLOW_name_in_instanceImports666); - name29 = name(); - - state._fsp--; - - stream_name.add(name29.getTree()); - - // Velvet.g:119:27: ( COMMA ID name )* - loop9: do { - int alt9 = 2; - final int LA9_0 = input.LA(1); - - if ((LA9_0 == COMMA)) { - alt9 = 1; - } - - switch (alt9) { - case 1: - // Velvet.g:119:28: COMMA ID name - { - COMMA30 = (Token) match(input, COMMA, FOLLOW_COMMA_in_instanceImports669); - stream_COMMA.add(COMMA30); - - ID31 = (Token) match(input, ID, FOLLOW_ID_in_instanceImports671); - stream_ID.add(ID31); - - pushFollow(FOLLOW_name_in_instanceImports673); - name32 = name(); - - state._fsp--; - - stream_name.add(name32.getTree()); - - } - break; - - default: - break loop9; - } - } while (true); - - // AST REWRITE - // elements: ID, name, IMPORTINSTANCE - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 120:2: -> ^( IMPORTINSTANCE ( ID name )+ ) + setState(125); + match(IMPORTINTERFACE); + setState(126); + match(ID); + setState(127); + name(); + setState(133); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA) { { - // Velvet.g:120:5: ^( IMPORTINSTANCE ( ID name )+ ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_IMPORTINSTANCE.nextNode(), root_1); - - if (!(stream_ID.hasNext() || stream_name.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_ID.hasNext() || stream_name.hasNext()) { - adaptor.addChild(root_1, stream_ID.nextNode()); - - adaptor.addChild(root_1, stream_name.nextTree()); - - } - stream_ID.reset(); - stream_name.reset(); - - adaptor.addChild(root_0, root_1); - } - + { + setState(128); + match(COMMA); + setState(129); + match(ID); + setState(130); + name(); } - - retval.tree = root_0; - + } + setState(135); + _errHandler.sync(this); + _la = _input.LA(1); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "instanceImports" - - public static class interfaceImports_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class NameContext extends ParserRuleContext { + public TerminalNode ID() { return getToken(VelvetParser.ID, 0); } + public TerminalNode IDPath() { return getToken(VelvetParser.IDPath, 0); } + public NameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_name; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterName(this); } - }; - - // $ANTLR start "interfaceImports" - // Velvet.g:123:1: interfaceImports : IMPORTINTERFACE ID name ( COMMA ID name )* -> ^( IMPORTINTERFACE ( ID name )+ ) ; - public final VelvetParser.interfaceImports_return interfaceImports() throws RecognitionException { - final VelvetParser.interfaceImports_return retval = new VelvetParser.interfaceImports_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token IMPORTINTERFACE33 = null; - Token ID34 = null; - Token COMMA36 = null; - Token ID37 = null; - VelvetParser.name_return name35 = null; - - VelvetParser.name_return name38 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitName(this); + else return visitor.visitChildren(this); + } + } - final Tree IMPORTINTERFACE33_tree = null; - final Tree ID34_tree = null; - final Tree COMMA36_tree = null; - final Tree ID37_tree = null; - final RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor, "token ID"); - final RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA"); - final RewriteRuleTokenStream stream_IMPORTINTERFACE = new RewriteRuleTokenStream(adaptor, "token IMPORTINTERFACE"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); + public final NameContext name() throws RecognitionException { + NameContext _localctx = new NameContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_name); + int _la; try { - // Velvet.g:124:2: ( IMPORTINTERFACE ID name ( COMMA ID name )* -> ^( IMPORTINTERFACE ( ID name )+ ) ) - // Velvet.g:124:4: IMPORTINTERFACE ID name ( COMMA ID name )* + enterOuterAlt(_localctx, 1); { - IMPORTINTERFACE33 = (Token) match(input, IMPORTINTERFACE, FOLLOW_IMPORTINTERFACE_in_interfaceImports702); - stream_IMPORTINTERFACE.add(IMPORTINTERFACE33); - - ID34 = (Token) match(input, ID, FOLLOW_ID_in_interfaceImports704); - stream_ID.add(ID34); - - pushFollow(FOLLOW_name_in_interfaceImports706); - name35 = name(); - - state._fsp--; - - stream_name.add(name35.getTree()); - - // Velvet.g:124:28: ( COMMA ID name )* - loop10: do { - int alt10 = 2; - final int LA10_0 = input.LA(1); - - if ((LA10_0 == COMMA)) { - alt10 = 1; - } - - switch (alt10) { - case 1: - // Velvet.g:124:29: COMMA ID name - { - COMMA36 = (Token) match(input, COMMA, FOLLOW_COMMA_in_interfaceImports709); - stream_COMMA.add(COMMA36); - - ID37 = (Token) match(input, ID, FOLLOW_ID_in_interfaceImports711); - stream_ID.add(ID37); - - pushFollow(FOLLOW_name_in_interfaceImports713); - name38 = name(); - - state._fsp--; - - stream_name.add(name38.getTree()); - - } - break; - - default: - break loop10; - } - } while (true); - - // AST REWRITE - // elements: IMPORTINTERFACE, name, ID - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 125:2: -> ^( IMPORTINTERFACE ( ID name )+ ) - { - // Velvet.g:125:5: ^( IMPORTINTERFACE ( ID name )+ ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_IMPORTINTERFACE.nextNode(), root_1); - - if (!(stream_name.hasNext() || stream_ID.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_name.hasNext() || stream_ID.hasNext()) { - adaptor.addChild(root_1, stream_ID.nextNode()); - - adaptor.addChild(root_1, stream_name.nextTree()); - - } - stream_name.reset(); - stream_ID.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - + setState(136); + _la = _input.LA(1); + if ( !(_la==ID || _la==IDPath) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "interfaceImports" - - public static class name_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class DefinitionsContext extends ParserRuleContext { + public TerminalNode START_C() { return getToken(VelvetParser.START_C, 0); } + public DefinitionContext definition() { + return getRuleContext(DefinitionContext.class,0); + } + public TerminalNode END_C() { return getToken(VelvetParser.END_C, 0); } + public DefinitionsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_definitions; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterDefinitions(this); } - }; - - // $ANTLR start "name" - // Velvet.g:128:1: name : ( ID | IDPath ); - public final VelvetParser.name_return name() throws RecognitionException { - final VelvetParser.name_return retval = new VelvetParser.name_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token set39 = null; - - final Tree set39_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitDefinitions(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitDefinitions(this); + else return visitor.visitChildren(this); + } + } + public final DefinitionsContext definitions() throws RecognitionException { + DefinitionsContext _localctx = new DefinitionsContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_definitions); try { - // Velvet.g:128:5: ( ID | IDPath ) - // Velvet.g: + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - set39 = input.LT(1); - - if (((input.LA(1) >= ID) && (input.LA(1) <= IDPath))) { - input.consume(); - adaptor.addChild(root_0, adaptor.create(set39)); - state.errorRecovery = false; - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - throw mse; - } - + setState(138); + match(START_C); + setState(139); + definition(); + setState(140); + match(END_C); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "name" - - public static class definitions_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class DefinitionContext extends ParserRuleContext { + public List nonFeatureDefinition() { + return getRuleContexts(NonFeatureDefinitionContext.class); + } + public NonFeatureDefinitionContext nonFeatureDefinition(int i) { + return getRuleContext(NonFeatureDefinitionContext.class,i); + } + public FeatureGroupContext featureGroup() { + return getRuleContext(FeatureGroupContext.class,0); + } + public List feature() { + return getRuleContexts(FeatureContext.class); + } + public FeatureContext feature(int i) { + return getRuleContext(FeatureContext.class,i); + } + public DefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_definition; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterDefinition(this); } - }; - - // $ANTLR start "definitions" - // Velvet.g:132:1: definitions : START_C definition END_C -> ^( DEF ( definition )? EMPTY ) ; - public final VelvetParser.definitions_return definitions() throws RecognitionException { - final VelvetParser.definitions_return retval = new VelvetParser.definitions_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token START_C40 = null; - Token END_C42 = null; - VelvetParser.definition_return definition41 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitDefinition(this); + else return visitor.visitChildren(this); + } + } - final Tree START_C40_tree = null; - final Tree END_C42_tree = null; - final RewriteRuleTokenStream stream_END_C = new RewriteRuleTokenStream(adaptor, "token END_C"); - final RewriteRuleTokenStream stream_START_C = new RewriteRuleTokenStream(adaptor, "token START_C"); - final RewriteRuleSubtreeStream stream_definition = new RewriteRuleSubtreeStream(adaptor, "rule definition"); + public final DefinitionContext definition() throws RecognitionException { + DefinitionContext _localctx = new DefinitionContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_definition); + int _la; try { - // Velvet.g:133:2: ( START_C definition END_C -> ^( DEF ( definition )? EMPTY ) ) - // Velvet.g:133:4: START_C definition END_C + enterOuterAlt(_localctx, 1); { - START_C40 = (Token) match(input, START_C, FOLLOW_START_C_in_definitions757); - stream_START_C.add(START_C40); - - pushFollow(FOLLOW_definition_in_definitions759); - definition41 = definition(); - - state._fsp--; - - stream_definition.add(definition41.getTree()); - - END_C42 = (Token) match(input, END_C, FOLLOW_END_C_in_definitions761); - stream_END_C.add(END_C42); - - // AST REWRITE - // elements: definition - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 134:2: -> ^( DEF ( definition )? EMPTY ) + setState(145); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 255232L) != 0)) { { - // Velvet.g:134:5: ^( DEF ( definition )? EMPTY ) + { + setState(142); + nonFeatureDefinition(); + } + } + setState(147); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(163); + _errHandler.sync(this); + switch (_input.LA(1)) { + case SOMEOF: + case ONEOF: + { + { + setState(148); + featureGroup(); + setState(152); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 255232L) != 0)) { { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(DEF, "DEF"), root_1); - - // Velvet.g:134:11: ( definition )? - if (stream_definition.hasNext()) { - adaptor.addChild(root_1, stream_definition.nextTree()); - + { + setState(149); + nonFeatureDefinition(); + } + } + setState(154); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + break; + case MANDATORY: + case ABSTRACT: + case FEATURE: + { + { + setState(155); + feature(); + setState(160); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 255756L) != 0)) { + { + setState(158); + _errHandler.sync(this); + switch (_input.LA(1)) { + case MANDATORY: + case ABSTRACT: + case FEATURE: + { + setState(156); + feature(); } - stream_definition.reset(); - - adaptor.addChild(root_1, adaptor.create(EMPTY, "EMPTY")); - - adaptor.addChild(root_0, root_1); + break; + case CONSTRAINT: + case USE: + case DESCRIPTION: + case VAR_INT: + case VAR_FLOAT: + case VAR_STRING: + case VAR_BOOL: + { + setState(157); + nonFeatureDefinition(); + } + break; + default: + throw new NoViableAltException(this); } - + } + setState(162); + _errHandler.sync(this); + _la = _input.LA(1); } - - retval.tree = root_0; - - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + } + } + break; + case END_C: + break; + default: + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "definitions" - - public static class definition_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class NonFeatureDefinitionContext extends ParserRuleContext { + public ConstraintContext constraint() { + return getRuleContext(ConstraintContext.class,0); + } + public UseContext use() { + return getRuleContext(UseContext.class,0); + } + public AttributeContext attribute() { + return getRuleContext(AttributeContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public NonFeatureDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_nonFeatureDefinition; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterNonFeatureDefinition(this); } - }; - - // $ANTLR start "definition" - // Velvet.g:137:1: definition : ( nonFeatureDefinition )* ( ( featureGroup ( nonFeatureDefinition )* ) | ( feature ( feature | nonFeatureDefinition )* ) )? - // ; - public final VelvetParser.definition_return definition() throws RecognitionException { - final VelvetParser.definition_return retval = new VelvetParser.definition_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - VelvetParser.nonFeatureDefinition_return nonFeatureDefinition43 = null; - - VelvetParser.featureGroup_return featureGroup44 = null; - - VelvetParser.nonFeatureDefinition_return nonFeatureDefinition45 = null; - - VelvetParser.feature_return feature46 = null; - - VelvetParser.feature_return feature47 = null; - - VelvetParser.nonFeatureDefinition_return nonFeatureDefinition48 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitNonFeatureDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitNonFeatureDefinition(this); + else return visitor.visitChildren(this); + } + } + public final NonFeatureDefinitionContext nonFeatureDefinition() throws RecognitionException { + NonFeatureDefinitionContext _localctx = new NonFeatureDefinitionContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_nonFeatureDefinition); try { - // Velvet.g:138:2: ( ( nonFeatureDefinition )* ( ( featureGroup ( nonFeatureDefinition )* ) | ( feature ( feature | nonFeatureDefinition )* ) )? ) - // Velvet.g:138:4: ( nonFeatureDefinition )* ( ( featureGroup ( nonFeatureDefinition )* ) | ( feature ( feature | nonFeatureDefinition )* ) )? - { - root_0 = (Tree) adaptor.nil(); - - // Velvet.g:138:4: ( nonFeatureDefinition )* - loop11: do { - int alt11 = 2; - final int LA11_0 = input.LA(1); - - if (((LA11_0 == CONSTRAINT) || (LA11_0 == DESCRIPTION) || ((LA11_0 >= USE) && (LA11_0 <= VAR_STRING)))) { - alt11 = 1; - } - - switch (alt11) { - case 1: - // Velvet.g:138:4: nonFeatureDefinition - { - pushFollow(FOLLOW_nonFeatureDefinition_in_definition785); - nonFeatureDefinition43 = nonFeatureDefinition(); - - state._fsp--; - - adaptor.addChild(root_0, nonFeatureDefinition43.getTree()); - - } - break; - - default: - break loop11; - } - } while (true); - - // Velvet.g:138:26: ( ( featureGroup ( nonFeatureDefinition )* ) | ( feature ( feature | nonFeatureDefinition )* ) )? - int alt14 = 3; - final int LA14_0 = input.LA(1); - - if (((LA14_0 == ONEOF) || (LA14_0 == SOMEOF))) { - alt14 = 1; - } else if (((LA14_0 == ABSTRACT) || (LA14_0 == FEATURE) || (LA14_0 == MANDATORY))) { - alt14 = 2; + setState(169); + _errHandler.sync(this); + switch (_input.LA(1)) { + case CONSTRAINT: + enterOuterAlt(_localctx, 1); + { + setState(165); + constraint(); } - switch (alt14) { - case 1: - // Velvet.g:139:3: ( featureGroup ( nonFeatureDefinition )* ) + break; + case USE: + enterOuterAlt(_localctx, 2); { - // Velvet.g:139:3: ( featureGroup ( nonFeatureDefinition )* ) - // Velvet.g:139:4: featureGroup ( nonFeatureDefinition )* - { - pushFollow(FOLLOW_featureGroup_in_definition793); - featureGroup44 = featureGroup(); - - state._fsp--; - - adaptor.addChild(root_0, featureGroup44.getTree()); - - // Velvet.g:139:17: ( nonFeatureDefinition )* - loop12: do { - int alt12 = 2; - final int LA12_0 = input.LA(1); - - if (((LA12_0 == CONSTRAINT) || (LA12_0 == DESCRIPTION) || ((LA12_0 >= USE) && (LA12_0 <= VAR_STRING)))) { - alt12 = 1; - } - - switch (alt12) { - case 1: - // Velvet.g:139:17: nonFeatureDefinition - { - pushFollow(FOLLOW_nonFeatureDefinition_in_definition795); - nonFeatureDefinition45 = nonFeatureDefinition(); - - state._fsp--; - - adaptor.addChild(root_0, nonFeatureDefinition45.getTree()); - - } - break; - - default: - break loop12; - } - } while (true); - - } - + setState(166); + use(); } - break; - case 2: - // Velvet.g:139:42: ( feature ( feature | nonFeatureDefinition )* ) + break; + case VAR_INT: + case VAR_FLOAT: + case VAR_STRING: + case VAR_BOOL: + enterOuterAlt(_localctx, 3); { - // Velvet.g:139:42: ( feature ( feature | nonFeatureDefinition )* ) - // Velvet.g:139:43: feature ( feature | nonFeatureDefinition )* - { - pushFollow(FOLLOW_feature_in_definition802); - feature46 = feature(); - - state._fsp--; - - adaptor.addChild(root_0, feature46.getTree()); - - // Velvet.g:139:51: ( feature | nonFeatureDefinition )* - loop13: do { - int alt13 = 3; - final int LA13_0 = input.LA(1); - - if (((LA13_0 == ABSTRACT) || (LA13_0 == FEATURE) || (LA13_0 == MANDATORY))) { - alt13 = 1; - } else if (((LA13_0 == CONSTRAINT) || (LA13_0 == DESCRIPTION) || ((LA13_0 >= USE) && (LA13_0 <= VAR_STRING)))) { - alt13 = 2; - } - - switch (alt13) { - case 1: - // Velvet.g:139:52: feature - { - pushFollow(FOLLOW_feature_in_definition805); - feature47 = feature(); - - state._fsp--; - - adaptor.addChild(root_0, feature47.getTree()); - - } - break; - case 2: - // Velvet.g:139:62: nonFeatureDefinition - { - pushFollow(FOLLOW_nonFeatureDefinition_in_definition809); - nonFeatureDefinition48 = nonFeatureDefinition(); - - state._fsp--; - - adaptor.addChild(root_0, nonFeatureDefinition48.getTree()); - - } - break; - - default: - break loop13; - } - } while (true); - - } - + setState(167); + attribute(); } - break; - + break; + case DESCRIPTION: + enterOuterAlt(_localctx, 4); + { + setState(168); + description(); } - + break; + default: + throw new NoViableAltException(this); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "definition" - - public static class nonFeatureDefinition_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class UseContext extends ParserRuleContext { + public TerminalNode USE() { return getToken(VelvetParser.USE, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TerminalNode SEMI() { return getToken(VelvetParser.SEMI, 0); } + public UseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_use; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterUse(this); } - }; - - // $ANTLR start "nonFeatureDefinition" - // Velvet.g:143:1: nonFeatureDefinition : ( constraint | use | attribute | description ); - public final VelvetParser.nonFeatureDefinition_return nonFeatureDefinition() throws RecognitionException { - final VelvetParser.nonFeatureDefinition_return retval = new VelvetParser.nonFeatureDefinition_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - VelvetParser.constraint_return constraint49 = null; - - VelvetParser.use_return use50 = null; - - VelvetParser.attribute_return attribute51 = null; - - VelvetParser.description_return description52 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitUse(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitUse(this); + else return visitor.visitChildren(this); + } + } + public final UseContext use() throws RecognitionException { + UseContext _localctx = new UseContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_use); try { - // Velvet.g:144:2: ( constraint | use | attribute | description ) - int alt15 = 4; - switch (input.LA(1)) { - case CONSTRAINT: { - alt15 = 1; - } - break; - case USE: { - alt15 = 2; - } - break; - case VAR_BOOL: - case VAR_FLOAT: - case VAR_INT: - case VAR_STRING: { - alt15 = 3; - } - break; - case DESCRIPTION: { - alt15 = 4; + enterOuterAlt(_localctx, 1); + { + setState(171); + match(USE); + setState(172); + name(); + setState(173); + match(SEMI); } - break; - default: - final NoViableAltException nvae = new NoViableAltException("", 15, 0, input); - - throw nvae; + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } - } + @SuppressWarnings("CheckReturnValue") + public static class FeatureContext extends ParserRuleContext { + public TerminalNode FEATURE() { return getToken(VelvetParser.FEATURE, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public DefinitionsContext definitions() { + return getRuleContext(DefinitionsContext.class,0); + } + public TerminalNode SEMI() { return getToken(VelvetParser.SEMI, 0); } + public TerminalNode MANDATORY() { return getToken(VelvetParser.MANDATORY, 0); } + public TerminalNode ABSTRACT() { return getToken(VelvetParser.ABSTRACT, 0); } + public FeatureContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_feature; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterFeature(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitFeature(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitFeature(this); + else return visitor.visitChildren(this); + } + } - switch (alt15) { - case 1: - // Velvet.g:144:4: constraint + public final FeatureContext feature() throws RecognitionException { + FeatureContext _localctx = new FeatureContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_feature); + try { + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_constraint_in_nonFeatureDefinition831); - constraint49 = constraint(); - - state._fsp--; - - adaptor.addChild(root_0, constraint49.getTree()); - - } + setState(181); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) { + case 1: + { + setState(175); + match(MANDATORY); + setState(176); + match(ABSTRACT); + } break; case 2: - // Velvet.g:145:4: use - { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_use_in_nonFeatureDefinition836); - use50 = use(); - - state._fsp--; - - adaptor.addChild(root_0, use50.getTree()); - - } + { + setState(177); + match(ABSTRACT); + setState(178); + match(MANDATORY); + } break; case 3: - // Velvet.g:146:4: attribute - { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_attribute_in_nonFeatureDefinition841); - attribute51 = attribute(); - - state._fsp--; - - adaptor.addChild(root_0, attribute51.getTree()); - - } + { + setState(179); + match(MANDATORY); + } break; case 4: - // Velvet.g:147:4: description - { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_description_in_nonFeatureDefinition847); - description52 = description(); - - state._fsp--; - - adaptor.addChild(root_0, description52.getTree()); - + { + setState(180); + match(ABSTRACT); + } + break; } + setState(183); + match(FEATURE); + setState(184); + name(); + setState(187); + _errHandler.sync(this); + switch (_input.LA(1)) { + case START_C: + { + setState(185); + definitions(); + } break; - + case SEMI: + { + setState(186); + match(SEMI); + } + break; + default: + throw new NoViableAltException(this); + } } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "nonFeatureDefinition" - - public static class use_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class FeatureGroupContext extends ParserRuleContext { + public GroupTypeContext groupType() { + return getRuleContext(GroupTypeContext.class,0); + } + public TerminalNode START_C() { return getToken(VelvetParser.START_C, 0); } + public TerminalNode END_C() { return getToken(VelvetParser.END_C, 0); } + public List feature() { + return getRuleContexts(FeatureContext.class); + } + public FeatureContext feature(int i) { + return getRuleContext(FeatureContext.class,i); + } + public FeatureGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_featureGroup; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterFeatureGroup(this); } - }; - - // $ANTLR start "use" - // Velvet.g:150:1: use : USE name SEMI -> ^( USE name ) ; - public final VelvetParser.use_return use() throws RecognitionException { - final VelvetParser.use_return retval = new VelvetParser.use_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token USE53 = null; - Token SEMI55 = null; - VelvetParser.name_return name54 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitFeatureGroup(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitFeatureGroup(this); + else return visitor.visitChildren(this); + } + } - final Tree USE53_tree = null; - final Tree SEMI55_tree = null; - final RewriteRuleTokenStream stream_USE = new RewriteRuleTokenStream(adaptor, "token USE"); - final RewriteRuleTokenStream stream_SEMI = new RewriteRuleTokenStream(adaptor, "token SEMI"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); + public final FeatureGroupContext featureGroup() throws RecognitionException { + FeatureGroupContext _localctx = new FeatureGroupContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_featureGroup); + int _la; try { - // Velvet.g:150:5: ( USE name SEMI -> ^( USE name ) ) - // Velvet.g:150:7: USE name SEMI + enterOuterAlt(_localctx, 1); { - USE53 = (Token) match(input, USE, FOLLOW_USE_in_use858); - stream_USE.add(USE53); - - pushFollow(FOLLOW_name_in_use860); - name54 = name(); - - state._fsp--; - - stream_name.add(name54.getTree()); - - SEMI55 = (Token) match(input, SEMI, FOLLOW_SEMI_in_use862); - stream_SEMI.add(SEMI55); - - // AST REWRITE - // elements: name, USE - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 151:2: -> ^( USE name ) + setState(189); + groupType(); + setState(190); + match(START_C); + setState(192); + _errHandler.sync(this); + _la = _input.LA(1); + do { { - // Velvet.g:151:5: ^( USE name ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_USE.nextNode(), root_1); - - adaptor.addChild(root_1, stream_name.nextTree()); - - adaptor.addChild(root_0, root_1); - } - + { + setState(191); + feature(); } - - retval.tree = root_0; - + } + setState(194); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 524L) != 0) ); + setState(196); + match(END_C); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "use" - - public static class feature_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class GroupTypeContext extends ParserRuleContext { + public TerminalNode SOMEOF() { return getToken(VelvetParser.SOMEOF, 0); } + public TerminalNode ONEOF() { return getToken(VelvetParser.ONEOF, 0); } + public GroupTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_groupType; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterGroupType(this); } - }; - - // $ANTLR start "feature" - // Velvet.g:154:1: feature : ( MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT )? FEATURE name ( definitions | SEMI ) -> ^( FEATURE name ( - // MANDATORY )? ( ABSTRACT )? ( definitions )? ) ; - public final VelvetParser.feature_return feature() throws RecognitionException { - final VelvetParser.feature_return retval = new VelvetParser.feature_return(); - retval.start = input.LT(1); - - Tree root_0 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitGroupType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitGroupType(this); + else return visitor.visitChildren(this); + } + } - Token MANDATORY56 = null; - Token ABSTRACT57 = null; - Token ABSTRACT58 = null; - Token MANDATORY59 = null; - Token MANDATORY60 = null; - Token ABSTRACT61 = null; - Token FEATURE62 = null; - Token SEMI65 = null; - VelvetParser.name_return name63 = null; + public final GroupTypeContext groupType() throws RecognitionException { + GroupTypeContext _localctx = new GroupTypeContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_groupType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(198); + _la = _input.LA(1); + if ( !(_la==SOMEOF || _la==ONEOF) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } - VelvetParser.definitions_return definitions64 = null; + @SuppressWarnings("CheckReturnValue") + public static class DescriptionContext extends ParserRuleContext { + public TerminalNode DESCRIPTION() { return getToken(VelvetParser.DESCRIPTION, 0); } + public TerminalNode STRING() { return getToken(VelvetParser.STRING, 0); } + public TerminalNode SEMI() { return getToken(VelvetParser.SEMI, 0); } + public DescriptionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_description; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterDescription(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitDescription(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitDescription(this); + else return visitor.visitChildren(this); + } + } - final Tree MANDATORY56_tree = null; - final Tree ABSTRACT57_tree = null; - final Tree ABSTRACT58_tree = null; - final Tree MANDATORY59_tree = null; - final Tree MANDATORY60_tree = null; - final Tree ABSTRACT61_tree = null; - final Tree FEATURE62_tree = null; - final Tree SEMI65_tree = null; - final RewriteRuleTokenStream stream_ABSTRACT = new RewriteRuleTokenStream(adaptor, "token ABSTRACT"); - final RewriteRuleTokenStream stream_MANDATORY = new RewriteRuleTokenStream(adaptor, "token MANDATORY"); - final RewriteRuleTokenStream stream_SEMI = new RewriteRuleTokenStream(adaptor, "token SEMI"); - final RewriteRuleTokenStream stream_FEATURE = new RewriteRuleTokenStream(adaptor, "token FEATURE"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); - final RewriteRuleSubtreeStream stream_definitions = new RewriteRuleSubtreeStream(adaptor, "rule definitions"); + public final DescriptionContext description() throws RecognitionException { + DescriptionContext _localctx = new DescriptionContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_description); try { - // Velvet.g:155:2: ( ( MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT )? FEATURE name ( definitions | SEMI ) -> ^( FEATURE name ( - // MANDATORY )? ( ABSTRACT )? ( definitions )? ) ) - // Velvet.g:155:4: ( MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT )? FEATURE name ( definitions | SEMI ) + enterOuterAlt(_localctx, 1); { - // Velvet.g:155:4: ( MANDATORY ABSTRACT | ABSTRACT MANDATORY | MANDATORY | ABSTRACT )? - int alt16 = 5; - final int LA16_0 = input.LA(1); + setState(200); + match(DESCRIPTION); + setState(201); + match(STRING); + setState(202); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } - if ((LA16_0 == MANDATORY)) { - final int LA16_1 = input.LA(2); - - if ((LA16_1 == ABSTRACT)) { - alt16 = 1; - } else if ((LA16_1 == FEATURE)) { - alt16 = 3; - } - } else if ((LA16_0 == ABSTRACT)) { - final int LA16_2 = input.LA(2); - - if ((LA16_2 == MANDATORY)) { - alt16 = 2; - } else if ((LA16_2 == FEATURE)) { - alt16 = 4; - } - } - switch (alt16) { - case 1: - // Velvet.g:155:5: MANDATORY ABSTRACT - { - MANDATORY56 = (Token) match(input, MANDATORY, FOLLOW_MANDATORY_in_feature883); - stream_MANDATORY.add(MANDATORY56); - - ABSTRACT57 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_feature885); - stream_ABSTRACT.add(ABSTRACT57); - - } - break; - case 2: - // Velvet.g:155:26: ABSTRACT MANDATORY - { - ABSTRACT58 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_feature889); - stream_ABSTRACT.add(ABSTRACT58); - - MANDATORY59 = (Token) match(input, MANDATORY, FOLLOW_MANDATORY_in_feature891); - stream_MANDATORY.add(MANDATORY59); + @SuppressWarnings("CheckReturnValue") + public static class ConstraintContext extends ParserRuleContext { + public TerminalNode CONSTRAINT() { return getToken(VelvetParser.CONSTRAINT, 0); } + public TerminalNode SEMI() { return getToken(VelvetParser.SEMI, 0); } + public TerminalNode ID() { return getToken(VelvetParser.ID, 0); } + public TerminalNode EQ() { return getToken(VelvetParser.EQ, 0); } + public ConstraintDefinitionContext constraintDefinition() { + return getRuleContext(ConstraintDefinitionContext.class,0); + } + public AttributeConstraintContext attributeConstraint() { + return getRuleContext(AttributeConstraintContext.class,0); + } + public ConstraintContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constraint; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterConstraint(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitConstraint(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitConstraint(this); + else return visitor.visitChildren(this); + } + } - } - break; - case 3: - // Velvet.g:155:47: MANDATORY + public final ConstraintContext constraint() throws RecognitionException { + ConstraintContext _localctx = new ConstraintContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_constraint); + try { + enterOuterAlt(_localctx, 1); + { + setState(204); + match(CONSTRAINT); + { + setState(205); + match(ID); + setState(206); + match(EQ); + } + setState(210); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) { + case 1: { - MANDATORY60 = (Token) match(input, MANDATORY, FOLLOW_MANDATORY_in_feature895); - stream_MANDATORY.add(MANDATORY60); - + setState(208); + constraintDefinition(); } - break; - case 4: - // Velvet.g:155:59: ABSTRACT + break; + case 2: { - ABSTRACT61 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_feature899); - stream_ABSTRACT.add(ABSTRACT61); - - } - break; - + setState(209); + attributeConstraint(); } + break; + } + setState(212); + match(SEMI); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } - FEATURE62 = (Token) match(input, FEATURE, FOLLOW_FEATURE_in_feature906); - stream_FEATURE.add(FEATURE62); - - pushFollow(FOLLOW_name_in_feature908); - name63 = name(); - - state._fsp--; - - stream_name.add(name63.getTree()); - - // Velvet.g:156:17: ( definitions | SEMI ) - int alt17 = 2; - final int LA17_0 = input.LA(1); - - if ((LA17_0 == START_C)) { - alt17 = 1; - } else if ((LA17_0 == SEMI)) { - alt17 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 17, 0, input); - - throw nvae; + @SuppressWarnings("CheckReturnValue") + public static class ConstraintDefinitionContext extends ParserRuleContext { + public List constraintOperand() { + return getRuleContexts(ConstraintOperandContext.class); + } + public ConstraintOperandContext constraintOperand(int i) { + return getRuleContext(ConstraintOperandContext.class,i); + } + public List binaryOp() { + return getRuleContexts(BinaryOpContext.class); + } + public BinaryOpContext binaryOp(int i) { + return getRuleContext(BinaryOpContext.class,i); + } + public ConstraintDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constraintDefinition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterConstraintDefinition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitConstraintDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitConstraintDefinition(this); + else return visitor.visitChildren(this); + } + } - } - switch (alt17) { - case 1: - // Velvet.g:156:18: definitions + public final ConstraintDefinitionContext constraintDefinition() throws RecognitionException { + ConstraintDefinitionContext _localctx = new ConstraintDefinitionContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_constraintDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(214); + constraintOperand(); + setState(220); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 16642998272L) != 0)) { { - pushFollow(FOLLOW_definitions_in_feature911); - definitions64 = definitions(); - - state._fsp--; - - stream_definitions.add(definitions64.getTree()); - - } - break; - case 2: - // Velvet.g:156:32: SEMI { - SEMI65 = (Token) match(input, SEMI, FOLLOW_SEMI_in_feature915); - stream_SEMI.add(SEMI65); - - } - break; - + setState(215); + binaryOp(); + setState(216); + constraintOperand(); } - - // AST REWRITE - // elements: definitions, MANDATORY, ABSTRACT, FEATURE, name - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 157:2: -> ^( FEATURE name ( MANDATORY )? ( ABSTRACT )? ( definitions )? ) - { - // Velvet.g:157:5: ^( FEATURE name ( MANDATORY )? ( ABSTRACT )? ( definitions )? ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_FEATURE.nextNode(), root_1); - - adaptor.addChild(root_1, stream_name.nextTree()); - - // Velvet.g:157:20: ( MANDATORY )? - if (stream_MANDATORY.hasNext()) { - adaptor.addChild(root_1, stream_MANDATORY.nextNode()); - - } - stream_MANDATORY.reset(); - - // Velvet.g:157:31: ( ABSTRACT )? - if (stream_ABSTRACT.hasNext()) { - adaptor.addChild(root_1, stream_ABSTRACT.nextNode()); - - } - stream_ABSTRACT.reset(); - - // Velvet.g:157:41: ( definitions )? - if (stream_definitions.hasNext()) { - adaptor.addChild(root_1, stream_definitions.nextTree()); - - } - stream_definitions.reset(); - - adaptor.addChild(root_0, root_1); - } - } - - retval.tree = root_0; - + setState(222); + _errHandler.sync(this); + _la = _input.LA(1); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "feature" - - public static class featureGroup_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class ConstraintOperandContext extends ParserRuleContext { + public TerminalNode START_R() { return getToken(VelvetParser.START_R, 0); } + public ConstraintDefinitionContext constraintDefinition() { + return getRuleContext(ConstraintDefinitionContext.class,0); + } + public TerminalNode END_R() { return getToken(VelvetParser.END_R, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public List unaryOp() { + return getRuleContexts(UnaryOpContext.class); + } + public UnaryOpContext unaryOp(int i) { + return getRuleContext(UnaryOpContext.class,i); + } + public ConstraintOperandContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_constraintOperand; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterConstraintOperand(this); } - }; - - // $ANTLR start "featureGroup" - // Velvet.g:160:1: featureGroup : groupType START_C ( feature )+ END_C -> ^( GROUP groupType ( feature )+ ) ; - public final VelvetParser.featureGroup_return featureGroup() throws RecognitionException { - final VelvetParser.featureGroup_return retval = new VelvetParser.featureGroup_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token START_C67 = null; - Token END_C69 = null; - VelvetParser.groupType_return groupType66 = null; - - VelvetParser.feature_return feature68 = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitConstraintOperand(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitConstraintOperand(this); + else return visitor.visitChildren(this); + } + } - final Tree START_C67_tree = null; - final Tree END_C69_tree = null; - final RewriteRuleTokenStream stream_END_C = new RewriteRuleTokenStream(adaptor, "token END_C"); - final RewriteRuleTokenStream stream_START_C = new RewriteRuleTokenStream(adaptor, "token START_C"); - final RewriteRuleSubtreeStream stream_groupType = new RewriteRuleSubtreeStream(adaptor, "rule groupType"); - final RewriteRuleSubtreeStream stream_feature = new RewriteRuleSubtreeStream(adaptor, "rule feature"); + public final ConstraintOperandContext constraintOperand() throws RecognitionException { + ConstraintOperandContext _localctx = new ConstraintOperandContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_constraintOperand); + int _la; try { - // Velvet.g:161:2: ( groupType START_C ( feature )+ END_C -> ^( GROUP groupType ( feature )+ ) ) - // Velvet.g:161:4: groupType START_C ( feature )+ END_C + enterOuterAlt(_localctx, 1); { - pushFollow(FOLLOW_groupType_in_featureGroup946); - groupType66 = groupType(); - - state._fsp--; - - stream_groupType.add(groupType66.getTree()); - - START_C67 = (Token) match(input, START_C, FOLLOW_START_C_in_featureGroup948); - stream_START_C.add(START_C67); - - // Velvet.g:161:22: ( feature )+ - int cnt18 = 0; - loop18: do { - int alt18 = 2; - final int LA18_0 = input.LA(1); - - if (((LA18_0 == ABSTRACT) || (LA18_0 == FEATURE) || (LA18_0 == MANDATORY))) { - alt18 = 1; - } - - switch (alt18) { - case 1: - // Velvet.g:161:22: feature - { - pushFollow(FOLLOW_feature_in_featureGroup950); - feature68 = feature(); - - state._fsp--; - - stream_feature.add(feature68.getTree()); - - } - break; - - default: - if (cnt18 >= 1) { - break loop18; - } - final EarlyExitException eee = new EarlyExitException(18, input); - throw eee; - } - cnt18++; - } while (true); - - END_C69 = (Token) match(input, END_C, FOLLOW_END_C_in_featureGroup953); - stream_END_C.add(END_C69); - - // AST REWRITE - // elements: feature, groupType - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 162:2: -> ^( GROUP groupType ( feature )+ ) + setState(226); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==OP_NOT) { { - // Velvet.g:162:5: ^( GROUP groupType ( feature )+ ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(GROUP, "GROUP"), root_1); - - adaptor.addChild(root_1, stream_groupType.nextTree()); - - if (!(stream_feature.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_feature.hasNext()) { - adaptor.addChild(root_1, stream_feature.nextTree()); - - } - stream_feature.reset(); - - adaptor.addChild(root_0, root_1); - } - + { + setState(223); + unaryOp(); } - - retval.tree = root_0; - + } + setState(228); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(234); + _errHandler.sync(this); + switch (_input.LA(1)) { + case START_R: + { + setState(229); + match(START_R); + setState(230); + constraintDefinition(); + setState(231); + match(END_R); + } + break; + case ID: + case IDPath: + { + setState(233); + name(); + } + break; + default: + throw new NoViableAltException(this); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "featureGroup" - - public static class groupType_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class AttributeContext extends ParserRuleContext { + public TerminalNode SEMI() { return getToken(VelvetParser.SEMI, 0); } + public IntAttributeContext intAttribute() { + return getRuleContext(IntAttributeContext.class,0); + } + public FloatAttributeContext floatAttribute() { + return getRuleContext(FloatAttributeContext.class,0); + } + public StringAttributeContext stringAttribute() { + return getRuleContext(StringAttributeContext.class,0); + } + public BoolAttributeContext boolAttribute() { + return getRuleContext(BoolAttributeContext.class,0); + } + public AttributeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_attribute; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribute(this); } - }; - - // $ANTLR start "groupType" - // Velvet.g:165:1: groupType : ( SOMEOF | ONEOF ); - public final VelvetParser.groupType_return groupType() throws RecognitionException { - final VelvetParser.groupType_return retval = new VelvetParser.groupType_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token set70 = null; - - final Tree set70_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribute(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribute(this); + else return visitor.visitChildren(this); + } + } + public final AttributeContext attribute() throws RecognitionException { + AttributeContext _localctx = new AttributeContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_attribute); try { - // Velvet.g:166:2: ( SOMEOF | ONEOF ) - // Velvet.g: + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - set70 = input.LT(1); - - if ((input.LA(1) == ONEOF) || (input.LA(1) == SOMEOF)) { - input.consume(); - adaptor.addChild(root_0, adaptor.create(set70)); - state.errorRecovery = false; - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - throw mse; + setState(240); + _errHandler.sync(this); + switch (_input.LA(1)) { + case VAR_INT: + { + setState(236); + intAttribute(); } - + break; + case VAR_FLOAT: + { + setState(237); + floatAttribute(); + } + break; + case VAR_STRING: + { + setState(238); + stringAttribute(); + } + break; + case VAR_BOOL: + { + setState(239); + boolAttribute(); + } + break; + default: + throw new NoViableAltException(this); + } + setState(242); + match(SEMI); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "groupType" - - public static class description_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class AttributeConstraintContext extends ParserRuleContext { + public AttribConstraintContext attribConstraint() { + return getRuleContext(AttribConstraintContext.class,0); + } + public AttributeConstraintContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_attributeConstraint; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttributeConstraint(this); } - }; - - // $ANTLR start "description" - // Velvet.g:170:1: description : DESCRIPTION STRING SEMI -> ^( DESCRIPTION STRING ) ; - public final VelvetParser.description_return description() throws RecognitionException { - final VelvetParser.description_return retval = new VelvetParser.description_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token DESCRIPTION71 = null; - Token STRING72 = null; - Token SEMI73 = null; - - final Tree DESCRIPTION71_tree = null; - final Tree STRING72_tree = null; - final Tree SEMI73_tree = null; - final RewriteRuleTokenStream stream_DESCRIPTION = new RewriteRuleTokenStream(adaptor, "token DESCRIPTION"); - final RewriteRuleTokenStream stream_SEMI = new RewriteRuleTokenStream(adaptor, "token SEMI"); - final RewriteRuleTokenStream stream_STRING = new RewriteRuleTokenStream(adaptor, "token STRING"); + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttributeConstraint(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttributeConstraint(this); + else return visitor.visitChildren(this); + } + } + public final AttributeConstraintContext attributeConstraint() throws RecognitionException { + AttributeConstraintContext _localctx = new AttributeConstraintContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_attributeConstraint); try { - // Velvet.g:171:2: ( DESCRIPTION STRING SEMI -> ^( DESCRIPTION STRING ) ) - // Velvet.g:171:4: DESCRIPTION STRING SEMI + enterOuterAlt(_localctx, 1); { - DESCRIPTION71 = (Token) match(input, DESCRIPTION, FOLLOW_DESCRIPTION_in_description995); - stream_DESCRIPTION.add(DESCRIPTION71); - - STRING72 = (Token) match(input, STRING, FOLLOW_STRING_in_description997); - stream_STRING.add(STRING72); - - SEMI73 = (Token) match(input, SEMI, FOLLOW_SEMI_in_description999); - stream_SEMI.add(SEMI73); - - // AST REWRITE - // elements: STRING, DESCRIPTION - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 172:2: -> ^( DESCRIPTION STRING ) - { - // Velvet.g:172:5: ^( DESCRIPTION STRING ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(stream_DESCRIPTION.nextNode(), root_1); - - adaptor.addChild(root_1, stream_STRING.nextNode()); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - + setState(244); + attribConstraint(); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "description" - - public static class constraint_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class AttribConstraintContext extends ParserRuleContext { + public List attribNumInstance() { + return getRuleContexts(AttribNumInstanceContext.class); + } + public AttribNumInstanceContext attribNumInstance(int i) { + return getRuleContext(AttribNumInstanceContext.class,i); + } + public AttribRelationContext attribRelation() { + return getRuleContext(AttribRelationContext.class,0); + } + public List attribOperator() { + return getRuleContexts(AttribOperatorContext.class); + } + public AttribOperatorContext attribOperator(int i) { + return getRuleContext(AttribOperatorContext.class,i); + } + public AttribConstraintContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_attribConstraint; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribConstraint(this); } - }; - - // $ANTLR start "constraint" - // Velvet.g:175:1: constraint : CONSTRAINT ^ ( ID EQ !)? ( constraintDefinition | attributeConstraint ) SEMI !; - public final VelvetParser.constraint_return constraint() throws RecognitionException { - final VelvetParser.constraint_return retval = new VelvetParser.constraint_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token CONSTRAINT74 = null; - Token ID75 = null; - Token EQ76 = null; - Token SEMI79 = null; - VelvetParser.constraintDefinition_return constraintDefinition77 = null; - - VelvetParser.attributeConstraint_return attributeConstraint78 = null; - - Tree CONSTRAINT74_tree = null; - Tree ID75_tree = null; - final Tree EQ76_tree = null; - final Tree SEMI79_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribConstraint(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribConstraint(this); + else return visitor.visitChildren(this); + } + } + public final AttribConstraintContext attribConstraint() throws RecognitionException { + AttribConstraintContext _localctx = new AttribConstraintContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_attribConstraint); + int _la; try { - // Velvet.g:176:2: ( CONSTRAINT ^ ( ID EQ !)? ( constraintDefinition | attributeConstraint ) SEMI !) - // Velvet.g:176:4: CONSTRAINT ^ ( ID EQ !)? ( constraintDefinition | attributeConstraint ) SEMI ! + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - CONSTRAINT74 = (Token) match(input, CONSTRAINT, FOLLOW_CONSTRAINT_in_constraint1020); - CONSTRAINT74_tree = (Tree) adaptor.create(CONSTRAINT74); - root_0 = (Tree) adaptor.becomeRoot(CONSTRAINT74_tree, root_0); - - // Velvet.g:176:16: ( ID EQ !)? - int alt19 = 2; - final int LA19_0 = input.LA(1); - - if ((LA19_0 == ID)) { - final int LA19_1 = input.LA(2); - - if ((LA19_1 == EQ)) { - alt19 = 1; - } - } - switch (alt19) { - case 1: - // Velvet.g:176:17: ID EQ ! + setState(246); + attribNumInstance(); + setState(252); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==PLUS || _la==MINUS) { { - ID75 = (Token) match(input, ID, FOLLOW_ID_in_constraint1024); - ID75_tree = (Tree) adaptor.create(ID75); - adaptor.addChild(root_0, ID75_tree); - - EQ76 = (Token) match(input, EQ, FOLLOW_EQ_in_constraint1026); - + { + setState(247); + attribOperator(); + setState(248); + attribNumInstance(); } - break; - } - - // Velvet.g:176:26: ( constraintDefinition | attributeConstraint ) - int alt20 = 2; - switch (input.LA(1)) { - case OP_NOT: - case START_R: { - alt20 = 1; + setState(254); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(255); + attribRelation(); + setState(256); + attribNumInstance(); + setState(262); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==PLUS || _la==MINUS) { + { + { + setState(257); + attribOperator(); + setState(258); + attribNumInstance(); } - break; - case ID: - case IDPath: { - final int LA20_2 = input.LA(2); - - if ((((LA20_2 >= OP_AND) && (LA20_2 <= OP_IMPLIES)) || ((LA20_2 >= OP_OR) && (LA20_2 <= OP_XOR)) || (LA20_2 == SEMI))) { - alt20 = 1; - } else if (((LA20_2 == ATTR_OP_EQUALS) || (LA20_2 == ATTR_OP_GREATER_EQ) || (LA20_2 == ATTR_OP_LESS_EQ) || (LA20_2 == MINUS) - || (LA20_2 == PLUS))) { - alt20 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 20, 2, input); - - throw nvae; - - } - } - break; - case INT: { - alt20 = 2; - } - break; - default: - final NoViableAltException nvae = new NoViableAltException("", 20, 0, input); - - throw nvae; - - } - - switch (alt20) { - case 1: - // Velvet.g:176:27: constraintDefinition - { - pushFollow(FOLLOW_constraintDefinition_in_constraint1032); - constraintDefinition77 = constraintDefinition(); - - state._fsp--; - - adaptor.addChild(root_0, constraintDefinition77.getTree()); - - } - break; - case 2: - // Velvet.g:176:50: attributeConstraint - { - pushFollow(FOLLOW_attributeConstraint_in_constraint1036); - attributeConstraint78 = attributeConstraint(); - - state._fsp--; - - adaptor.addChild(root_0, attributeConstraint78.getTree()); - - } - break; - - } - - SEMI79 = (Token) match(input, SEMI, FOLLOW_SEMI_in_constraint1039); - - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - - } - - finally { - // do for sure before leaving - } - return retval; - } - // $ANTLR end "constraint" - - public static class constraintDefinition_return extends ParserRuleReturnScope { - - Tree tree; - - @Override - public Object getTree() { - return tree; - } - }; - - // $ANTLR start "constraintDefinition" - // Velvet.g:179:1: constraintDefinition : constraintOperand ( binaryOp constraintOperand )* -> ^( CONSTR ( constraintOperand )+ ( binaryOp )* ) ; - public final VelvetParser.constraintDefinition_return constraintDefinition() throws RecognitionException { - final VelvetParser.constraintDefinition_return retval = new VelvetParser.constraintDefinition_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - VelvetParser.constraintOperand_return constraintOperand80 = null; - - VelvetParser.binaryOp_return binaryOp81 = null; - - VelvetParser.constraintOperand_return constraintOperand82 = null; - - final RewriteRuleSubtreeStream stream_constraintOperand = new RewriteRuleSubtreeStream(adaptor, "rule constraintOperand"); - final RewriteRuleSubtreeStream stream_binaryOp = new RewriteRuleSubtreeStream(adaptor, "rule binaryOp"); - try { - // Velvet.g:180:2: ( constraintOperand ( binaryOp constraintOperand )* -> ^( CONSTR ( constraintOperand )+ ( binaryOp )* ) ) - // Velvet.g:180:4: constraintOperand ( binaryOp constraintOperand )* - { - pushFollow(FOLLOW_constraintOperand_in_constraintDefinition1052); - constraintOperand80 = constraintOperand(); - - state._fsp--; - - stream_constraintOperand.add(constraintOperand80.getTree()); - - // Velvet.g:180:22: ( binaryOp constraintOperand )* - loop21: do { - int alt21 = 2; - final int LA21_0 = input.LA(1); - - if ((((LA21_0 >= OP_AND) && (LA21_0 <= OP_IMPLIES)) || ((LA21_0 >= OP_OR) && (LA21_0 <= OP_XOR)))) { - alt21 = 1; - } - - switch (alt21) { - case 1: - // Velvet.g:180:23: binaryOp constraintOperand - { - pushFollow(FOLLOW_binaryOp_in_constraintDefinition1055); - binaryOp81 = binaryOp(); - - state._fsp--; - - stream_binaryOp.add(binaryOp81.getTree()); - - pushFollow(FOLLOW_constraintOperand_in_constraintDefinition1057); - constraintOperand82 = constraintOperand(); - - state._fsp--; - - stream_constraintOperand.add(constraintOperand82.getTree()); - - } - break; - - default: - break loop21; - } - } while (true); - - // AST REWRITE - // elements: constraintOperand, binaryOp - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 181:2: -> ^( CONSTR ( constraintOperand )+ ( binaryOp )* ) - { - // Velvet.g:181:5: ^( CONSTR ( constraintOperand )+ ( binaryOp )* ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(CONSTR, "CONSTR"), root_1); - - if (!(stream_constraintOperand.hasNext())) { - throw new RewriteEarlyExitException(); - } - while (stream_constraintOperand.hasNext()) { - adaptor.addChild(root_1, stream_constraintOperand.nextTree()); - - } - stream_constraintOperand.reset(); - - // Velvet.g:181:33: ( binaryOp )* - while (stream_binaryOp.hasNext()) { - adaptor.addChild(root_1, stream_binaryOp.nextTree()); - - } - stream_binaryOp.reset(); - - adaptor.addChild(root_0, root_1); - } - } - - retval.tree = root_0; - + setState(264); + _errHandler.sync(this); + _la = _input.LA(1); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - - } - - finally { - // do for sure before leaving - } - return retval; - } - // $ANTLR end "constraintDefinition" - - public static class constraintOperand_return extends ParserRuleReturnScope { - - Tree tree; - - @Override - public Object getTree() { - return tree; - } - }; - - // $ANTLR start "constraintOperand" - // Velvet.g:184:1: constraintOperand : ( unaryOp )* ( START_R constraintDefinition END_R | name ) -> ( constraintDefinition )? ( ^( UNARYOP unaryOp ) )* ( - // ^( OPERAND name ) )? ; - public final VelvetParser.constraintOperand_return constraintOperand() throws RecognitionException { - final VelvetParser.constraintOperand_return retval = new VelvetParser.constraintOperand_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token START_R84 = null; - Token END_R86 = null; - VelvetParser.unaryOp_return unaryOp83 = null; - - VelvetParser.constraintDefinition_return constraintDefinition85 = null; - - VelvetParser.name_return name87 = null; - - final Tree START_R84_tree = null; - final Tree END_R86_tree = null; - final RewriteRuleTokenStream stream_END_R = new RewriteRuleTokenStream(adaptor, "token END_R"); - final RewriteRuleTokenStream stream_START_R = new RewriteRuleTokenStream(adaptor, "token START_R"); - final RewriteRuleSubtreeStream stream_name = new RewriteRuleSubtreeStream(adaptor, "rule name"); - final RewriteRuleSubtreeStream stream_unaryOp = new RewriteRuleSubtreeStream(adaptor, "rule unaryOp"); - final RewriteRuleSubtreeStream stream_constraintDefinition = new RewriteRuleSubtreeStream(adaptor, "rule constraintDefinition"); - try { - // Velvet.g:184:19: ( ( unaryOp )* ( START_R constraintDefinition END_R | name ) -> ( constraintDefinition )? ( ^( UNARYOP unaryOp ) )* ( ^( OPERAND - // name ) )? ) - // Velvet.g:184:21: ( unaryOp )* ( START_R constraintDefinition END_R | name ) - { - // Velvet.g:184:21: ( unaryOp )* - loop22: do { - int alt22 = 2; - final int LA22_0 = input.LA(1); - - if ((LA22_0 == OP_NOT)) { - alt22 = 1; - } - - switch (alt22) { - case 1: - // Velvet.g:184:21: unaryOp - { - pushFollow(FOLLOW_unaryOp_in_constraintOperand1084); - unaryOp83 = unaryOp(); - - state._fsp--; - - stream_unaryOp.add(unaryOp83.getTree()); - - } - break; - - default: - break loop22; - } - } while (true); - - // Velvet.g:184:30: ( START_R constraintDefinition END_R | name ) - int alt23 = 2; - final int LA23_0 = input.LA(1); - - if ((LA23_0 == START_R)) { - alt23 = 1; - } else if ((((LA23_0 >= ID) && (LA23_0 <= IDPath)))) { - alt23 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 23, 0, input); - - throw nvae; - - } - switch (alt23) { - case 1: - // Velvet.g:184:31: START_R constraintDefinition END_R - { - START_R84 = (Token) match(input, START_R, FOLLOW_START_R_in_constraintOperand1088); - stream_START_R.add(START_R84); - - pushFollow(FOLLOW_constraintDefinition_in_constraintOperand1090); - constraintDefinition85 = constraintDefinition(); - - state._fsp--; - - stream_constraintDefinition.add(constraintDefinition85.getTree()); - - END_R86 = (Token) match(input, END_R, FOLLOW_END_R_in_constraintOperand1092); - stream_END_R.add(END_R86); - - } - break; - case 2: - // Velvet.g:184:68: name - { - pushFollow(FOLLOW_name_in_constraintOperand1096); - name87 = name(); - - state._fsp--; - - stream_name.add(name87.getTree()); - - } - break; - - } - - // AST REWRITE - // elements: name, constraintDefinition, unaryOp - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 185:2: -> ( constraintDefinition )? ( ^( UNARYOP unaryOp ) )* ( ^( OPERAND name ) )? - { - // Velvet.g:185:5: ( constraintDefinition )? - if (stream_constraintDefinition.hasNext()) { - adaptor.addChild(root_0, stream_constraintDefinition.nextTree()); - - } - stream_constraintDefinition.reset(); - - // Velvet.g:185:27: ( ^( UNARYOP unaryOp ) )* - while (stream_unaryOp.hasNext()) { - // Velvet.g:185:27: ^( UNARYOP unaryOp ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(UNARYOP, "UNARYOP"), root_1); - - adaptor.addChild(root_1, stream_unaryOp.nextTree()); - - adaptor.addChild(root_0, root_1); - } - - } - stream_unaryOp.reset(); - - // Velvet.g:185:47: ( ^( OPERAND name ) )? - if (stream_name.hasNext()) { - // Velvet.g:185:47: ^( OPERAND name ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(OPERAND, "OPERAND"), root_1); - - adaptor.addChild(root_1, stream_name.nextTree()); - - adaptor.addChild(root_0, root_1); - } - - } - stream_name.reset(); - - } - - retval.tree = root_0; - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - - finally { - // do for sure before leaving - } - return retval; - } - // $ANTLR end "constraintOperand" - - public static class attribute_return extends ParserRuleReturnScope { - - Tree tree; - - @Override - public Object getTree() { - return tree; - } - }; - - // $ANTLR start "attribute" - // Velvet.g:188:1: attribute : ( intAttribute | floatAttribute | stringAttribute | boolAttribute ) SEMI -> ^( ATTR ( intAttribute )? ( floatAttribute )? ( - // stringAttribute )? ( boolAttribute )? ) ; - public final VelvetParser.attribute_return attribute() throws RecognitionException { - final VelvetParser.attribute_return retval = new VelvetParser.attribute_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token SEMI92 = null; - VelvetParser.intAttribute_return intAttribute88 = null; - - VelvetParser.floatAttribute_return floatAttribute89 = null; - - VelvetParser.stringAttribute_return stringAttribute90 = null; - - VelvetParser.boolAttribute_return boolAttribute91 = null; - - final Tree SEMI92_tree = null; - final RewriteRuleTokenStream stream_SEMI = new RewriteRuleTokenStream(adaptor, "token SEMI"); - final RewriteRuleSubtreeStream stream_intAttribute = new RewriteRuleSubtreeStream(adaptor, "rule intAttribute"); - final RewriteRuleSubtreeStream stream_stringAttribute = new RewriteRuleSubtreeStream(adaptor, "rule stringAttribute"); - final RewriteRuleSubtreeStream stream_floatAttribute = new RewriteRuleSubtreeStream(adaptor, "rule floatAttribute"); - final RewriteRuleSubtreeStream stream_boolAttribute = new RewriteRuleSubtreeStream(adaptor, "rule boolAttribute"); - try { - // Velvet.g:189:2: ( ( intAttribute | floatAttribute | stringAttribute | boolAttribute ) SEMI -> ^( ATTR ( intAttribute )? ( floatAttribute )? ( - // stringAttribute )? ( boolAttribute )? ) ) - // Velvet.g:189:4: ( intAttribute | floatAttribute | stringAttribute | boolAttribute ) SEMI - { - // Velvet.g:189:4: ( intAttribute | floatAttribute | stringAttribute | boolAttribute ) - int alt24 = 4; - switch (input.LA(1)) { - case VAR_INT: { - alt24 = 1; - } - break; - case VAR_FLOAT: { - alt24 = 2; - } - break; - case VAR_STRING: { - alt24 = 3; - } - break; - case VAR_BOOL: { - alt24 = 4; - } - break; - default: - final NoViableAltException nvae = new NoViableAltException("", 24, 0, input); - - throw nvae; - - } - - switch (alt24) { - case 1: - // Velvet.g:189:5: intAttribute - { - pushFollow(FOLLOW_intAttribute_in_attribute1132); - intAttribute88 = intAttribute(); - - state._fsp--; - - stream_intAttribute.add(intAttribute88.getTree()); - - } - break; - case 2: - // Velvet.g:189:20: floatAttribute - { - pushFollow(FOLLOW_floatAttribute_in_attribute1136); - floatAttribute89 = floatAttribute(); - - state._fsp--; - - stream_floatAttribute.add(floatAttribute89.getTree()); - - } - break; - case 3: - // Velvet.g:189:37: stringAttribute - { - pushFollow(FOLLOW_stringAttribute_in_attribute1140); - stringAttribute90 = stringAttribute(); - - state._fsp--; - - stream_stringAttribute.add(stringAttribute90.getTree()); - - } - break; - case 4: - // Velvet.g:189:55: boolAttribute - { - pushFollow(FOLLOW_boolAttribute_in_attribute1144); - boolAttribute91 = boolAttribute(); - - state._fsp--; - - stream_boolAttribute.add(boolAttribute91.getTree()); - - } - break; - - } - - SEMI92 = (Token) match(input, SEMI, FOLLOW_SEMI_in_attribute1147); - stream_SEMI.add(SEMI92); - - // AST REWRITE - // elements: stringAttribute, floatAttribute, intAttribute, boolAttribute - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 190:2: -> ^( ATTR ( intAttribute )? ( floatAttribute )? ( stringAttribute )? ( boolAttribute )? ) - { - // Velvet.g:190:5: ^( ATTR ( intAttribute )? ( floatAttribute )? ( stringAttribute )? ( boolAttribute )? ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(ATTR, "ATTR"), root_1); - - // Velvet.g:190:12: ( intAttribute )? - if (stream_intAttribute.hasNext()) { - adaptor.addChild(root_1, stream_intAttribute.nextTree()); - - } - stream_intAttribute.reset(); - - // Velvet.g:190:26: ( floatAttribute )? - if (stream_floatAttribute.hasNext()) { - adaptor.addChild(root_1, stream_floatAttribute.nextTree()); - - } - stream_floatAttribute.reset(); - - // Velvet.g:190:42: ( stringAttribute )? - if (stream_stringAttribute.hasNext()) { - adaptor.addChild(root_1, stream_stringAttribute.nextTree()); - - } - stream_stringAttribute.reset(); - - // Velvet.g:190:59: ( boolAttribute )? - if (stream_boolAttribute.hasNext()) { - adaptor.addChild(root_1, stream_boolAttribute.nextTree()); - - } - stream_boolAttribute.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "attribute" - - public static class attributeConstraint_return extends ParserRuleReturnScope { - - Tree tree; - - @Override - public Object getTree() { - return tree; - } - }; - - // $ANTLR start "attributeConstraint" - // Velvet.g:193:1: attributeConstraint : attribConstraint -> ^( ACONSTR attribConstraint ) ; - public final VelvetParser.attributeConstraint_return attributeConstraint() throws RecognitionException { - final VelvetParser.attributeConstraint_return retval = new VelvetParser.attributeConstraint_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - VelvetParser.attribConstraint_return attribConstraint93 = null; - - final RewriteRuleSubtreeStream stream_attribConstraint = new RewriteRuleSubtreeStream(adaptor, "rule attribConstraint"); - try { - // Velvet.g:194:2: ( attribConstraint -> ^( ACONSTR attribConstraint ) ) - // Velvet.g:194:4: attribConstraint - { - pushFollow(FOLLOW_attribConstraint_in_attributeConstraint1178); - attribConstraint93 = attribConstraint(); - - state._fsp--; - - stream_attribConstraint.add(attribConstraint93.getTree()); - - // AST REWRITE - // elements: attribConstraint - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - retval.tree = root_0; - final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null); - - root_0 = (Tree) adaptor.nil(); - // 195:2: -> ^( ACONSTR attribConstraint ) - { - // Velvet.g:195:5: ^( ACONSTR attribConstraint ) - { - Tree root_1 = (Tree) adaptor.nil(); - root_1 = (Tree) adaptor.becomeRoot(adaptor.create(ACONSTR, "ACONSTR"), root_1); - - adaptor.addChild(root_1, stream_attribConstraint.nextTree()); - - adaptor.addChild(root_0, root_1); - } - - } - - retval.tree = root_0; - - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); + @SuppressWarnings("CheckReturnValue") + public static class AttribOperatorContext extends ParserRuleContext { + public TerminalNode PLUS() { return getToken(VelvetParser.PLUS, 0); } + public TerminalNode MINUS() { return getToken(VelvetParser.MINUS, 0); } + public AttribOperatorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); } - - finally { - // do for sure before leaving - } - return retval; - } - // $ANTLR end "attributeConstraint" - - public static class attribConstraint_return extends ParserRuleReturnScope { - - Tree tree; - + @Override public int getRuleIndex() { return RULE_attribOperator; } @Override - public Object getTree() { - return tree; - } - }; - - // $ANTLR start "attribConstraint" - // Velvet.g:198:1: attribConstraint : attribNumInstance ( attribOperator attribNumInstance )* attribRelation attribNumInstance ( attribOperator - // attribNumInstance )* ; - public final VelvetParser.attribConstraint_return attribConstraint() throws RecognitionException { - final VelvetParser.attribConstraint_return retval = new VelvetParser.attribConstraint_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - VelvetParser.attribNumInstance_return attribNumInstance94 = null; - - VelvetParser.attribOperator_return attribOperator95 = null; - - VelvetParser.attribNumInstance_return attribNumInstance96 = null; - - VelvetParser.attribRelation_return attribRelation97 = null; - - VelvetParser.attribNumInstance_return attribNumInstance98 = null; - - VelvetParser.attribOperator_return attribOperator99 = null; - - VelvetParser.attribNumInstance_return attribNumInstance100 = null; - - try { - // Velvet.g:199:2: ( attribNumInstance ( attribOperator attribNumInstance )* attribRelation attribNumInstance ( attribOperator attribNumInstance )* - // ) - // Velvet.g:199:4: attribNumInstance ( attribOperator attribNumInstance )* attribRelation attribNumInstance ( attribOperator attribNumInstance )* - { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_attribNumInstance_in_attribConstraint1198); - attribNumInstance94 = attribNumInstance(); - - state._fsp--; - - adaptor.addChild(root_0, attribNumInstance94.getTree()); - - // Velvet.g:199:22: ( attribOperator attribNumInstance )* - loop25: do { - int alt25 = 2; - final int LA25_0 = input.LA(1); - - if (((LA25_0 == MINUS) || (LA25_0 == PLUS))) { - alt25 = 1; - } - - switch (alt25) { - case 1: - // Velvet.g:199:23: attribOperator attribNumInstance - { - pushFollow(FOLLOW_attribOperator_in_attribConstraint1201); - attribOperator95 = attribOperator(); - - state._fsp--; - - adaptor.addChild(root_0, attribOperator95.getTree()); - - pushFollow(FOLLOW_attribNumInstance_in_attribConstraint1203); - attribNumInstance96 = attribNumInstance(); - - state._fsp--; - - adaptor.addChild(root_0, attribNumInstance96.getTree()); - - } - break; - - default: - break loop25; - } - } while (true); - - pushFollow(FOLLOW_attribRelation_in_attribConstraint1211); - attribRelation97 = attribRelation(); - - state._fsp--; - - adaptor.addChild(root_0, attribRelation97.getTree()); - - pushFollow(FOLLOW_attribNumInstance_in_attribConstraint1217); - attribNumInstance98 = attribNumInstance(); - - state._fsp--; - - adaptor.addChild(root_0, attribNumInstance98.getTree()); - - // Velvet.g:201:22: ( attribOperator attribNumInstance )* - loop26: do { - int alt26 = 2; - final int LA26_0 = input.LA(1); - - if (((LA26_0 == MINUS) || (LA26_0 == PLUS))) { - alt26 = 1; - } - - switch (alt26) { - case 1: - // Velvet.g:201:23: attribOperator attribNumInstance - { - pushFollow(FOLLOW_attribOperator_in_attribConstraint1220); - attribOperator99 = attribOperator(); - - state._fsp--; - - adaptor.addChild(root_0, attribOperator99.getTree()); - - pushFollow(FOLLOW_attribNumInstance_in_attribConstraint1222); - attribNumInstance100 = attribNumInstance(); - - state._fsp--; - - adaptor.addChild(root_0, attribNumInstance100.getTree()); - - } - break; - - default: - break loop26; - } - } while (true); - - } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - - } - - finally { - // do for sure before leaving - } - return retval; - } - // $ANTLR end "attribConstraint" - - public static class attribOperator_return extends ParserRuleReturnScope { - - Tree tree; - + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribOperator(this); + } @Override - public Object getTree() { - return tree; + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribOperator(this); } - }; - - // $ANTLR start "attribOperator" - // Velvet.g:204:1: attribOperator : ( PLUS | MINUS ); - public final VelvetParser.attribOperator_return attribOperator() throws RecognitionException { - final VelvetParser.attribOperator_return retval = new VelvetParser.attribOperator_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token set101 = null; - - final Tree set101_tree = null; + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribOperator(this); + else return visitor.visitChildren(this); + } + } + public final AttribOperatorContext attribOperator() throws RecognitionException { + AttribOperatorContext _localctx = new AttribOperatorContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_attribOperator); + int _la; try { - // Velvet.g:205:2: ( PLUS | MINUS ) - // Velvet.g: + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - set101 = input.LT(1); - - if ((input.LA(1) == MINUS) || (input.LA(1) == PLUS)) { - input.consume(); - adaptor.addChild(root_0, adaptor.create(set101)); - state.errorRecovery = false; - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - throw mse; - } - + setState(265); + _la = _input.LA(1); + if ( !(_la==PLUS || _la==MINUS) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "attribOperator" - - public static class attribNumInstance_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class AttribNumInstanceContext extends ParserRuleContext { + public TerminalNode INT() { return getToken(VelvetParser.INT, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public AttribNumInstanceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_attribNumInstance; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribNumInstance(this); } - }; - - // $ANTLR start "attribNumInstance" - // Velvet.g:209:1: attribNumInstance : ( INT | name ); - public final VelvetParser.attribNumInstance_return attribNumInstance() throws RecognitionException { - final VelvetParser.attribNumInstance_return retval = new VelvetParser.attribNumInstance_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token INT102 = null; - VelvetParser.name_return name103 = null; - - Tree INT102_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribNumInstance(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribNumInstance(this); + else return visitor.visitChildren(this); + } + } + public final AttribNumInstanceContext attribNumInstance() throws RecognitionException { + AttribNumInstanceContext _localctx = new AttribNumInstanceContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_attribNumInstance); try { - // Velvet.g:210:2: ( INT | name ) - int alt27 = 2; - final int LA27_0 = input.LA(1); - - if ((LA27_0 == INT)) { - alt27 = 1; - } else if ((((LA27_0 >= ID) && (LA27_0 <= IDPath)))) { - alt27 = 2; - } else { - final NoViableAltException nvae = new NoViableAltException("", 27, 0, input); - - throw nvae; - - } - switch (alt27) { - case 1: - // Velvet.g:210:4: INT - { - root_0 = (Tree) adaptor.nil(); - - INT102 = (Token) match(input, INT, FOLLOW_INT_in_attribNumInstance1254); - INT102_tree = (Tree) adaptor.create(INT102); - adaptor.addChild(root_0, INT102_tree); - - } + setState(269); + _errHandler.sync(this); + switch (_input.LA(1)) { + case INT: + enterOuterAlt(_localctx, 1); + { + setState(267); + match(INT); + } break; - case 2: - // Velvet.g:212:4: name - { - root_0 = (Tree) adaptor.nil(); - - pushFollow(FOLLOW_name_in_attribNumInstance1261); - name103 = name(); - - state._fsp--; - - adaptor.addChild(root_0, name103.getTree()); - - } + case ID: + case IDPath: + enterOuterAlt(_localctx, 2); + { + setState(268); + name(); + } break; - + default: + throw new NoViableAltException(this); } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "attribNumInstance" - - public static class intAttribute_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class IntAttributeContext extends ParserRuleContext { + public TerminalNode VAR_INT() { return getToken(VelvetParser.VAR_INT, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TerminalNode EQ() { return getToken(VelvetParser.EQ, 0); } + public TerminalNode INT() { return getToken(VelvetParser.INT, 0); } + public IntAttributeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_intAttribute; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterIntAttribute(this); } - }; - - // $ANTLR start "intAttribute" - // Velvet.g:215:1: intAttribute : VAR_INT ! name ( EQ ! INT )? ; - public final VelvetParser.intAttribute_return intAttribute() throws RecognitionException { - final VelvetParser.intAttribute_return retval = new VelvetParser.intAttribute_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token VAR_INT104 = null; - Token EQ106 = null; - Token INT107 = null; - VelvetParser.name_return name105 = null; - - final Tree VAR_INT104_tree = null; - final Tree EQ106_tree = null; - Tree INT107_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitIntAttribute(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitIntAttribute(this); + else return visitor.visitChildren(this); + } + } + public final IntAttributeContext intAttribute() throws RecognitionException { + IntAttributeContext _localctx = new IntAttributeContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_intAttribute); + int _la; try { - // Velvet.g:215:13: ( VAR_INT ! name ( EQ ! INT )? ) - // Velvet.g:215:16: VAR_INT ! name ( EQ ! INT )? + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - VAR_INT104 = (Token) match(input, VAR_INT, FOLLOW_VAR_INT_in_intAttribute1271); - - pushFollow(FOLLOW_name_in_intAttribute1274); - name105 = name(); - - state._fsp--; - - adaptor.addChild(root_0, name105.getTree()); - - // Velvet.g:215:30: ( EQ ! INT )? - int alt28 = 2; - final int LA28_0 = input.LA(1); - - if ((LA28_0 == EQ)) { - alt28 = 1; - } - switch (alt28) { - case 1: - // Velvet.g:215:31: EQ ! INT + setState(271); + match(VAR_INT); + setState(272); + name(); + setState(275); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { { - EQ106 = (Token) match(input, EQ, FOLLOW_EQ_in_intAttribute1277); - - INT107 = (Token) match(input, INT, FOLLOW_INT_in_intAttribute1280); - INT107_tree = (Tree) adaptor.create(INT107); - adaptor.addChild(root_0, INT107_tree); - - } - break; - + setState(273); + match(EQ); + setState(274); + match(INT); } - } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "intAttribute" - - public static class floatAttribute_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class FloatAttributeContext extends ParserRuleContext { + public TerminalNode VAR_FLOAT() { return getToken(VelvetParser.VAR_FLOAT, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TerminalNode EQ() { return getToken(VelvetParser.EQ, 0); } + public TerminalNode FLOAT() { return getToken(VelvetParser.FLOAT, 0); } + public FloatAttributeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_floatAttribute; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterFloatAttribute(this); } - }; - - // $ANTLR start "floatAttribute" - // Velvet.g:216:1: floatAttribute : VAR_FLOAT ! name ( EQ ! FLOAT )? ; - public final VelvetParser.floatAttribute_return floatAttribute() throws RecognitionException { - final VelvetParser.floatAttribute_return retval = new VelvetParser.floatAttribute_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token VAR_FLOAT108 = null; - Token EQ110 = null; - Token FLOAT111 = null; - VelvetParser.name_return name109 = null; - - final Tree VAR_FLOAT108_tree = null; - final Tree EQ110_tree = null; - Tree FLOAT111_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitFloatAttribute(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitFloatAttribute(this); + else return visitor.visitChildren(this); + } + } + public final FloatAttributeContext floatAttribute() throws RecognitionException { + FloatAttributeContext _localctx = new FloatAttributeContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_floatAttribute); + int _la; try { - // Velvet.g:216:15: ( VAR_FLOAT ! name ( EQ ! FLOAT )? ) - // Velvet.g:216:18: VAR_FLOAT ! name ( EQ ! FLOAT )? + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - VAR_FLOAT108 = (Token) match(input, VAR_FLOAT, FOLLOW_VAR_FLOAT_in_floatAttribute1289); - - pushFollow(FOLLOW_name_in_floatAttribute1292); - name109 = name(); - - state._fsp--; - - adaptor.addChild(root_0, name109.getTree()); - - // Velvet.g:216:34: ( EQ ! FLOAT )? - int alt29 = 2; - final int LA29_0 = input.LA(1); - - if ((LA29_0 == EQ)) { - alt29 = 1; - } - switch (alt29) { - case 1: - // Velvet.g:216:35: EQ ! FLOAT + setState(277); + match(VAR_FLOAT); + setState(278); + name(); + setState(281); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { { - EQ110 = (Token) match(input, EQ, FOLLOW_EQ_in_floatAttribute1295); - - FLOAT111 = (Token) match(input, FLOAT, FOLLOW_FLOAT_in_floatAttribute1298); - FLOAT111_tree = (Tree) adaptor.create(FLOAT111); - adaptor.addChild(root_0, FLOAT111_tree); - - } - break; - + setState(279); + match(EQ); + setState(280); + match(FLOAT); } - } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "floatAttribute" - - public static class stringAttribute_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class StringAttributeContext extends ParserRuleContext { + public TerminalNode VAR_STRING() { return getToken(VelvetParser.VAR_STRING, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TerminalNode EQ() { return getToken(VelvetParser.EQ, 0); } + public TerminalNode STRING() { return getToken(VelvetParser.STRING, 0); } + public StringAttributeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_stringAttribute; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterStringAttribute(this); } - }; - - // $ANTLR start "stringAttribute" - // Velvet.g:217:1: stringAttribute : VAR_STRING ! name ( EQ ! STRING )? ; - public final VelvetParser.stringAttribute_return stringAttribute() throws RecognitionException { - final VelvetParser.stringAttribute_return retval = new VelvetParser.stringAttribute_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token VAR_STRING112 = null; - Token EQ114 = null; - Token STRING115 = null; - VelvetParser.name_return name113 = null; - - final Tree VAR_STRING112_tree = null; - final Tree EQ114_tree = null; - Tree STRING115_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitStringAttribute(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitStringAttribute(this); + else return visitor.visitChildren(this); + } + } + public final StringAttributeContext stringAttribute() throws RecognitionException { + StringAttributeContext _localctx = new StringAttributeContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_stringAttribute); + int _la; try { - // Velvet.g:217:16: ( VAR_STRING ! name ( EQ ! STRING )? ) - // Velvet.g:217:18: VAR_STRING ! name ( EQ ! STRING )? + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - VAR_STRING112 = (Token) match(input, VAR_STRING, FOLLOW_VAR_STRING_in_stringAttribute1306); - - pushFollow(FOLLOW_name_in_stringAttribute1309); - name113 = name(); - - state._fsp--; - - adaptor.addChild(root_0, name113.getTree()); - - // Velvet.g:217:35: ( EQ ! STRING )? - int alt30 = 2; - final int LA30_0 = input.LA(1); - - if ((LA30_0 == EQ)) { - alt30 = 1; - } - switch (alt30) { - case 1: - // Velvet.g:217:36: EQ ! STRING + setState(283); + match(VAR_STRING); + setState(284); + name(); + setState(287); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { { - EQ114 = (Token) match(input, EQ, FOLLOW_EQ_in_stringAttribute1312); - - STRING115 = (Token) match(input, STRING, FOLLOW_STRING_in_stringAttribute1315); - STRING115_tree = (Tree) adaptor.create(STRING115); - adaptor.addChild(root_0, STRING115_tree); - + setState(285); + match(EQ); + setState(286); + match(STRING); } - break; - - } - } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "stringAttribute" - - public static class boolAttribute_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class BoolAttributeContext extends ParserRuleContext { + public TerminalNode VAR_BOOL() { return getToken(VelvetParser.VAR_BOOL, 0); } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TerminalNode EQ() { return getToken(VelvetParser.EQ, 0); } + public TerminalNode BOOLEAN() { return getToken(VelvetParser.BOOLEAN, 0); } + public BoolAttributeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_boolAttribute; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterBoolAttribute(this); } - }; - - // $ANTLR start "boolAttribute" - // Velvet.g:218:1: boolAttribute : VAR_BOOL ! name ( EQ ! BOOLEAN )? ; - public final VelvetParser.boolAttribute_return boolAttribute() throws RecognitionException { - final VelvetParser.boolAttribute_return retval = new VelvetParser.boolAttribute_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token VAR_BOOL116 = null; - Token EQ118 = null; - Token BOOLEAN119 = null; - VelvetParser.name_return name117 = null; - - final Tree VAR_BOOL116_tree = null; - final Tree EQ118_tree = null; - Tree BOOLEAN119_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitBoolAttribute(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitBoolAttribute(this); + else return visitor.visitChildren(this); + } + } + public final BoolAttributeContext boolAttribute() throws RecognitionException { + BoolAttributeContext _localctx = new BoolAttributeContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_boolAttribute); + int _la; try { - // Velvet.g:218:14: ( VAR_BOOL ! name ( EQ ! BOOLEAN )? ) - // Velvet.g:218:17: VAR_BOOL ! name ( EQ ! BOOLEAN )? + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - VAR_BOOL116 = (Token) match(input, VAR_BOOL, FOLLOW_VAR_BOOL_in_boolAttribute1324); - - pushFollow(FOLLOW_name_in_boolAttribute1327); - name117 = name(); - - state._fsp--; - - adaptor.addChild(root_0, name117.getTree()); - - // Velvet.g:218:32: ( EQ ! BOOLEAN )? - int alt31 = 2; - final int LA31_0 = input.LA(1); - - if ((LA31_0 == EQ)) { - alt31 = 1; - } - switch (alt31) { - case 1: - // Velvet.g:218:33: EQ ! BOOLEAN + setState(289); + match(VAR_BOOL); + setState(290); + name(); + setState(293); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==EQ) { { - EQ118 = (Token) match(input, EQ, FOLLOW_EQ_in_boolAttribute1330); - - BOOLEAN119 = (Token) match(input, BOOLEAN, FOLLOW_BOOLEAN_in_boolAttribute1333); - BOOLEAN119_tree = (Tree) adaptor.create(BOOLEAN119); - adaptor.addChild(root_0, BOOLEAN119_tree); - - } - break; - + setState(291); + match(EQ); + setState(292); + match(BOOLEAN); } - } - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); } - finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "boolAttribute" - - public static class unaryOp_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class UnaryOpContext extends ParserRuleContext { + public TerminalNode OP_NOT() { return getToken(VelvetParser.OP_NOT, 0); } + public UnaryOpContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unaryOp; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterUnaryOp(this); } - }; - - // $ANTLR start "unaryOp" - // Velvet.g:220:1: unaryOp : OP_NOT ; - public final VelvetParser.unaryOp_return unaryOp() throws RecognitionException { - final VelvetParser.unaryOp_return retval = new VelvetParser.unaryOp_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token OP_NOT120 = null; - - Tree OP_NOT120_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitUnaryOp(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitUnaryOp(this); + else return visitor.visitChildren(this); + } + } + public final UnaryOpContext unaryOp() throws RecognitionException { + UnaryOpContext _localctx = new UnaryOpContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_unaryOp); try { - // Velvet.g:221:2: ( OP_NOT ) - // Velvet.g:221:4: OP_NOT + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - OP_NOT120 = (Token) match(input, OP_NOT, FOLLOW_OP_NOT_in_unaryOp1345); - OP_NOT120_tree = (Tree) adaptor.create(OP_NOT120); - adaptor.addChild(root_0, OP_NOT120_tree); - + setState(295); + match(OP_NOT); } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "unaryOp" - - public static class binaryOp_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class BinaryOpContext extends ParserRuleContext { + public TerminalNode OP_AND() { return getToken(VelvetParser.OP_AND, 0); } + public TerminalNode OP_OR() { return getToken(VelvetParser.OP_OR, 0); } + public TerminalNode OP_XOR() { return getToken(VelvetParser.OP_XOR, 0); } + public TerminalNode OP_IMPLIES() { return getToken(VelvetParser.OP_IMPLIES, 0); } + public TerminalNode OP_EQUIVALENT() { return getToken(VelvetParser.OP_EQUIVALENT, 0); } + public BinaryOpContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_binaryOp; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterBinaryOp(this); } - }; - - // $ANTLR start "binaryOp" - // Velvet.g:224:1: binaryOp : ( OP_AND | OP_OR | OP_XOR | OP_IMPLIES | OP_EQUIVALENT ); - public final VelvetParser.binaryOp_return binaryOp() throws RecognitionException { - final VelvetParser.binaryOp_return retval = new VelvetParser.binaryOp_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token set121 = null; - - final Tree set121_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitBinaryOp(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitBinaryOp(this); + else return visitor.visitChildren(this); + } + } + public final BinaryOpContext binaryOp() throws RecognitionException { + BinaryOpContext _localctx = new BinaryOpContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_binaryOp); + int _la; try { - // Velvet.g:225:2: ( OP_AND | OP_OR | OP_XOR | OP_IMPLIES | OP_EQUIVALENT ) - // Velvet.g: + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - set121 = input.LT(1); - - if (((input.LA(1) >= OP_AND) && (input.LA(1) <= OP_IMPLIES)) || ((input.LA(1) >= OP_OR) && (input.LA(1) <= OP_XOR))) { - input.consume(); - adaptor.addChild(root_0, adaptor.create(set121)); - state.errorRecovery = false; - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - throw mse; - } - + setState(297); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 16642998272L) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "binaryOp" - - public static class attribRelation_return extends ParserRuleReturnScope { - - Tree tree; + @SuppressWarnings("CheckReturnValue") + public static class AttribRelationContext extends ParserRuleContext { + public TerminalNode ATTR_OP_EQUALS() { return getToken(VelvetParser.ATTR_OP_EQUALS, 0); } + public TerminalNode ATTR_OP_GREATER_EQ() { return getToken(VelvetParser.ATTR_OP_GREATER_EQ, 0); } + public TerminalNode ATTR_OP_LESS_EQ() { return getToken(VelvetParser.ATTR_OP_LESS_EQ, 0); } + public AttribRelationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_attribRelation; } @Override - public Object getTree() { - return tree; + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribRelation(this); } - }; - - // $ANTLR start "attribRelation" - // Velvet.g:232:1: attribRelation : ( ATTR_OP_EQUALS | ATTR_OP_GREATER_EQ | ATTR_OP_LESS_EQ ); - public final VelvetParser.attribRelation_return attribRelation() throws RecognitionException { - final VelvetParser.attribRelation_return retval = new VelvetParser.attribRelation_return(); - retval.start = input.LT(1); - - Tree root_0 = null; - - Token set122 = null; - - final Tree set122_tree = null; + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribRelation(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribRelation(this); + else return visitor.visitChildren(this); + } + } + public final AttribRelationContext attribRelation() throws RecognitionException { + AttribRelationContext _localctx = new AttribRelationContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_attribRelation); + int _la; try { - // Velvet.g:233:2: ( ATTR_OP_EQUALS | ATTR_OP_GREATER_EQ | ATTR_OP_LESS_EQ ) - // Velvet.g: + enterOuterAlt(_localctx, 1); { - root_0 = (Tree) adaptor.nil(); - - set122 = input.LT(1); - - if ((input.LA(1) == ATTR_OP_EQUALS) || (input.LA(1) == ATTR_OP_GREATER_EQ) || (input.LA(1) == ATTR_OP_LESS_EQ)) { - input.consume(); - adaptor.addChild(root_0, adaptor.create(set122)); - state.errorRecovery = false; - } else { - final MismatchedSetException mse = new MismatchedSetException(null, input); - throw mse; - } - + setState(299); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 841813590016L) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } } - - retval.stop = input.LT(-1); - - retval.tree = (Tree) adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - - } catch (final RecognitionException re) { - reportError(re); - recover(input, re); - retval.tree = (Tree) adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { - // do for sure before leaving + exitRule(); } - return retval; + return _localctx; } - // $ANTLR end "attribRelation" - - // Delegated rules - - protected DFA5 dfa5 = new DFA5(this); - static final String DFA5_eotS = "\22\uffff"; - static final String DFA5_eofS = "\1\3\5\uffff\1\12\1\15\10\uffff\1\12\1\15"; - static final String DFA5_minS = "\1\44\2\41\1\uffff\2\41\2\21\1\41\2\uffff\1\41\2\uffff\2\41\2\21"; - static final String DFA5_maxS = "\1\67\2\41\1\uffff\2\42\2\67\1\41\2\uffff\1\41\2\uffff\2\42\2\67"; - static final String DFA5_acceptS = "\3\uffff\1\5\5\uffff\1\1\1\4\1\uffff\1\2\1\3\4\uffff"; - static final String DFA5_specialS = "\22\uffff}>"; - static final String[] DFA5_transitionS = - { "\1\1\1\2\21\uffff\1\3", "\1\4", "\1\5", "", "\2\6", "\2\7", "\1\10\23\uffff\1\11\21\uffff\1\12", "\1\13\22\uffff\1\14\22\uffff\1\15", "\1\16", "", - "", "\1\17", "", "", "\2\20", "\2\21", "\1\10\23\uffff\1\11\21\uffff\1\12", "\1\13\22\uffff\1\14\22\uffff\1\15" }; - - static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS); - static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS); - static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS); - static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS); - static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS); - static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS); - static final short[][] DFA5_transition; + public static final String _serializedATN = + "\u0004\u00019\u012e\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ + "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ + "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ + "\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f"+ + "\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012"+ + "\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015"+ + "\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+ + "\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+ + "\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+ + "\u0001\u0000\u0003\u0000@\b\u0000\u0001\u0000\u0001\u0000\u0003\u0000"+ + "D\b\u0000\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0001"+ + "\u0001\u0001\u0004\u0001L\b\u0001\u000b\u0001\f\u0001M\u0001\u0002\u0001"+ + "\u0002\u0001\u0002\u0001\u0002\u0003\u0002T\b\u0002\u0001\u0002\u0001"+ + "\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+ + "\u0002\u0003\u0002^\b\u0002\u0001\u0002\u0003\u0002a\b\u0002\u0001\u0003"+ + "\u0001\u0003\u0001\u0003\u0001\u0003\u0003\u0003g\b\u0003\u0001\u0003"+ + "\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0005\u0004n\b\u0004"+ + "\n\u0004\f\u0004q\t\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005"+ + "\u0001\u0005\u0001\u0005\u0005\u0005y\b\u0005\n\u0005\f\u0005|\t\u0005"+ + "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0005\u0006\u0084\b\u0006\n\u0006\f\u0006\u0087\t\u0006\u0001\u0007\u0001"+ + "\u0007\u0001\b\u0001\b\u0001\b\u0001\b\u0001\t\u0005\t\u0090\b\t\n\t\f"+ + "\t\u0093\t\t\u0001\t\u0001\t\u0005\t\u0097\b\t\n\t\f\t\u009a\t\t\u0001"+ + "\t\u0001\t\u0001\t\u0005\t\u009f\b\t\n\t\f\t\u00a2\t\t\u0003\t\u00a4\b"+ + "\t\u0001\n\u0001\n\u0001\n\u0001\n\u0003\n\u00aa\b\n\u0001\u000b\u0001"+ + "\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f"+ + "\u0001\f\u0003\f\u00b6\b\f\u0001\f\u0001\f\u0001\f\u0001\f\u0003\f\u00bc"+ + "\b\f\u0001\r\u0001\r\u0001\r\u0004\r\u00c1\b\r\u000b\r\f\r\u00c2\u0001"+ + "\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f"+ + "\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0003\u0010\u00d3\b\u0010\u0001\u0010\u0001\u0010\u0001\u0011"+ + "\u0001\u0011\u0001\u0011\u0001\u0011\u0005\u0011\u00db\b\u0011\n\u0011"+ + "\f\u0011\u00de\t\u0011\u0001\u0012\u0005\u0012\u00e1\b\u0012\n\u0012\f"+ + "\u0012\u00e4\t\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001"+ + "\u0012\u0003\u0012\u00eb\b\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001"+ + "\u0013\u0003\u0013\u00f1\b\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001"+ + "\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0005\u0015\u00fb"+ + "\b\u0015\n\u0015\f\u0015\u00fe\t\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ + "\u0001\u0015\u0001\u0015\u0005\u0015\u0105\b\u0015\n\u0015\f\u0015\u0108"+ + "\t\u0015\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0003\u0017\u010e"+ + "\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u0114"+ + "\b\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019\u011a"+ + "\b\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u0120"+ + "\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u0126"+ + "\b\u001b\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001e\u0001"+ + "\u001e\u0001\u001e\u0000\u0000\u001f\u0000\u0002\u0004\u0006\b\n\f\u000e"+ + "\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<\u0000"+ + "\u0005\u0001\u000023\u0001\u0000\u0004\u0005\u0001\u0000\u001a\u001b\u0001"+ + "\u0000\u001d!\u0002\u0000\"\"&\'\u0138\u0000?\u0001\u0000\u0000\u0000"+ + "\u0002K\u0001\u0000\u0000\u0000\u0004O\u0001\u0000\u0000\u0000\u0006b"+ + "\u0001\u0000\u0000\u0000\bj\u0001\u0000\u0000\u0000\nr\u0001\u0000\u0000"+ + "\u0000\f}\u0001\u0000\u0000\u0000\u000e\u0088\u0001\u0000\u0000\u0000"+ + "\u0010\u008a\u0001\u0000\u0000\u0000\u0012\u0091\u0001\u0000\u0000\u0000"+ + "\u0014\u00a9\u0001\u0000\u0000\u0000\u0016\u00ab\u0001\u0000\u0000\u0000"+ + "\u0018\u00b5\u0001\u0000\u0000\u0000\u001a\u00bd\u0001\u0000\u0000\u0000"+ + "\u001c\u00c6\u0001\u0000\u0000\u0000\u001e\u00c8\u0001\u0000\u0000\u0000"+ + " \u00cc\u0001\u0000\u0000\u0000\"\u00d6\u0001\u0000\u0000\u0000$\u00e2"+ + "\u0001\u0000\u0000\u0000&\u00f0\u0001\u0000\u0000\u0000(\u00f4\u0001\u0000"+ + "\u0000\u0000*\u00f6\u0001\u0000\u0000\u0000,\u0109\u0001\u0000\u0000\u0000"+ + ".\u010d\u0001\u0000\u0000\u00000\u010f\u0001\u0000\u0000\u00002\u0115"+ + "\u0001\u0000\u0000\u00004\u011b\u0001\u0000\u0000\u00006\u0121\u0001\u0000"+ + "\u0000\u00008\u0127\u0001\u0000\u0000\u0000:\u0129\u0001\u0000\u0000\u0000"+ + "<\u012b\u0001\u0000\u0000\u0000>@\u0003\u0002\u0001\u0000?>\u0001\u0000"+ + "\u0000\u0000?@\u0001\u0000\u0000\u0000@C\u0001\u0000\u0000\u0000AD\u0003"+ + "\u0004\u0002\u0000BD\u0003\u0006\u0003\u0000CA\u0001\u0000\u0000\u0000"+ + "CB\u0001\u0000\u0000\u0000DE\u0001\u0000\u0000\u0000EF\u0005\u0000\u0000"+ + "\u0001F\u0001\u0001\u0000\u0000\u0000GH\u0005\u0001\u0000\u0000HI\u0003"+ + "\u000e\u0007\u0000IJ\u0005\u0012\u0000\u0000JL\u0001\u0000\u0000\u0000"+ + "KG\u0001\u0000\u0000\u0000LM\u0001\u0000\u0000\u0000MK\u0001\u0000\u0000"+ + "\u0000MN\u0001\u0000\u0000\u0000N\u0003\u0001\u0000\u0000\u0000OP\u0005"+ + "\u0006\u0000\u0000PS\u00052\u0000\u0000QR\u0005\u0019\u0000\u0000RT\u0003"+ + "\b\u0004\u0000SQ\u0001\u0000\u0000\u0000ST\u0001\u0000\u0000\u0000T]\u0001"+ + "\u0000\u0000\u0000UV\u0003\n\u0005\u0000VW\u0003\f\u0006\u0000W^\u0001"+ + "\u0000\u0000\u0000XY\u0003\f\u0006\u0000YZ\u0003\n\u0005\u0000Z^\u0001"+ + "\u0000\u0000\u0000[^\u0003\f\u0006\u0000\\^\u0003\n\u0005\u0000]U\u0001"+ + "\u0000\u0000\u0000]X\u0001\u0000\u0000\u0000][\u0001\u0000\u0000\u0000"+ + "]\\\u0001\u0000\u0000\u0000]^\u0001\u0000\u0000\u0000^`\u0001\u0000\u0000"+ + "\u0000_a\u0003\u0010\b\u0000`_\u0001\u0000\u0000\u0000`a\u0001\u0000\u0000"+ + "\u0000a\u0005\u0001\u0000\u0000\u0000bc\u0005\u0007\u0000\u0000cf\u0005"+ + "2\u0000\u0000de\u0005\u0019\u0000\u0000eg\u0003\b\u0004\u0000fd\u0001"+ + "\u0000\u0000\u0000fg\u0001\u0000\u0000\u0000gh\u0001\u0000\u0000\u0000"+ + "hi\u0003\u0010\b\u0000i\u0007\u0001\u0000\u0000\u0000jo\u00052\u0000\u0000"+ + "kl\u0005\u0018\u0000\u0000ln\u00052\u0000\u0000mk\u0001\u0000\u0000\u0000"+ + "nq\u0001\u0000\u0000\u0000om\u0001\u0000\u0000\u0000op\u0001\u0000\u0000"+ + "\u0000p\t\u0001\u0000\u0000\u0000qo\u0001\u0000\u0000\u0000rs\u0005\u000b"+ + "\u0000\u0000st\u00052\u0000\u0000tz\u0003\u000e\u0007\u0000uv\u0005\u0018"+ + "\u0000\u0000vw\u00052\u0000\u0000wy\u0003\u000e\u0007\u0000xu\u0001\u0000"+ + "\u0000\u0000y|\u0001\u0000\u0000\u0000zx\u0001\u0000\u0000\u0000z{\u0001"+ + "\u0000\u0000\u0000{\u000b\u0001\u0000\u0000\u0000|z\u0001\u0000\u0000"+ + "\u0000}~\u0005\f\u0000\u0000~\u007f\u00052\u0000\u0000\u007f\u0085\u0003"+ + "\u000e\u0007\u0000\u0080\u0081\u0005\u0018\u0000\u0000\u0081\u0082\u0005"+ + "2\u0000\u0000\u0082\u0084\u0003\u000e\u0007\u0000\u0083\u0080\u0001\u0000"+ + "\u0000\u0000\u0084\u0087\u0001\u0000\u0000\u0000\u0085\u0083\u0001\u0000"+ + "\u0000\u0000\u0085\u0086\u0001\u0000\u0000\u0000\u0086\r\u0001\u0000\u0000"+ + "\u0000\u0087\u0085\u0001\u0000\u0000\u0000\u0088\u0089\u0007\u0000\u0000"+ + "\u0000\u0089\u000f\u0001\u0000\u0000\u0000\u008a\u008b\u0005\u0013\u0000"+ + "\u0000\u008b\u008c\u0003\u0012\t\u0000\u008c\u008d\u0005\u0014\u0000\u0000"+ + "\u008d\u0011\u0001\u0000\u0000\u0000\u008e\u0090\u0003\u0014\n\u0000\u008f"+ + "\u008e\u0001\u0000\u0000\u0000\u0090\u0093\u0001\u0000\u0000\u0000\u0091"+ + "\u008f\u0001\u0000\u0000\u0000\u0091\u0092\u0001\u0000\u0000\u0000\u0092"+ + "\u00a3\u0001\u0000\u0000\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0094"+ + "\u0098\u0003\u001a\r\u0000\u0095\u0097\u0003\u0014\n\u0000\u0096\u0095"+ + "\u0001\u0000\u0000\u0000\u0097\u009a\u0001\u0000\u0000\u0000\u0098\u0096"+ + "\u0001\u0000\u0000\u0000\u0098\u0099\u0001\u0000\u0000\u0000\u0099\u00a4"+ + "\u0001\u0000\u0000\u0000\u009a\u0098\u0001\u0000\u0000\u0000\u009b\u00a0"+ + "\u0003\u0018\f\u0000\u009c\u009f\u0003\u0018\f\u0000\u009d\u009f\u0003"+ + "\u0014\n\u0000\u009e\u009c\u0001\u0000\u0000\u0000\u009e\u009d\u0001\u0000"+ + "\u0000\u0000\u009f\u00a2\u0001\u0000\u0000\u0000\u00a0\u009e\u0001\u0000"+ + "\u0000\u0000\u00a0\u00a1\u0001\u0000\u0000\u0000\u00a1\u00a4\u0001\u0000"+ + "\u0000\u0000\u00a2\u00a0\u0001\u0000\u0000\u0000\u00a3\u0094\u0001\u0000"+ + "\u0000\u0000\u00a3\u009b\u0001\u0000\u0000\u0000\u00a3\u00a4\u0001\u0000"+ + "\u0000\u0000\u00a4\u0013\u0001\u0000\u0000\u0000\u00a5\u00aa\u0003 \u0010"+ + "\u0000\u00a6\u00aa\u0003\u0016\u000b\u0000\u00a7\u00aa\u0003&\u0013\u0000"+ + "\u00a8\u00aa\u0003\u001e\u000f\u0000\u00a9\u00a5\u0001\u0000\u0000\u0000"+ + "\u00a9\u00a6\u0001\u0000\u0000\u0000\u00a9\u00a7\u0001\u0000\u0000\u0000"+ + "\u00a9\u00a8\u0001\u0000\u0000\u0000\u00aa\u0015\u0001\u0000\u0000\u0000"+ + "\u00ab\u00ac\u0005\n\u0000\u0000\u00ac\u00ad\u0003\u000e\u0007\u0000\u00ad"+ + "\u00ae\u0005\u0012\u0000\u0000\u00ae\u0017\u0001\u0000\u0000\u0000\u00af"+ + "\u00b0\u0005\u0002\u0000\u0000\u00b0\u00b6\u0005\u0003\u0000\u0000\u00b1"+ + "\u00b2\u0005\u0003\u0000\u0000\u00b2\u00b6\u0005\u0002\u0000\u0000\u00b3"+ + "\u00b6\u0005\u0002\u0000\u0000\u00b4\u00b6\u0005\u0003\u0000\u0000\u00b5"+ + "\u00af\u0001\u0000\u0000\u0000\u00b5\u00b1\u0001\u0000\u0000\u0000\u00b5"+ + "\u00b3\u0001\u0000\u0000\u0000\u00b5\u00b4\u0001\u0000\u0000\u0000\u00b5"+ + "\u00b6\u0001\u0000\u0000\u0000\u00b6\u00b7\u0001\u0000\u0000\u0000\u00b7"+ + "\u00b8\u0005\t\u0000\u0000\u00b8\u00bb\u0003\u000e\u0007\u0000\u00b9\u00bc"+ + "\u0003\u0010\b\u0000\u00ba\u00bc\u0005\u0012\u0000\u0000\u00bb\u00b9\u0001"+ + "\u0000\u0000\u0000\u00bb\u00ba\u0001\u0000\u0000\u0000\u00bc\u0019\u0001"+ + "\u0000\u0000\u0000\u00bd\u00be\u0003\u001c\u000e\u0000\u00be\u00c0\u0005"+ + "\u0013\u0000\u0000\u00bf\u00c1\u0003\u0018\f\u0000\u00c0\u00bf\u0001\u0000"+ + "\u0000\u0000\u00c1\u00c2\u0001\u0000\u0000\u0000\u00c2\u00c0\u0001\u0000"+ + "\u0000\u0000\u00c2\u00c3\u0001\u0000\u0000\u0000\u00c3\u00c4\u0001\u0000"+ + "\u0000\u0000\u00c4\u00c5\u0005\u0014\u0000\u0000\u00c5\u001b\u0001\u0000"+ + "\u0000\u0000\u00c6\u00c7\u0007\u0001\u0000\u0000\u00c7\u001d\u0001\u0000"+ + "\u0000\u0000\u00c8\u00c9\u0005\r\u0000\u0000\u00c9\u00ca\u00056\u0000"+ + "\u0000\u00ca\u00cb\u0005\u0012\u0000\u0000\u00cb\u001f\u0001\u0000\u0000"+ + "\u0000\u00cc\u00cd\u0005\b\u0000\u0000\u00cd\u00ce\u00052\u0000\u0000"+ + "\u00ce\u00cf\u0005\u0017\u0000\u0000\u00cf\u00d2\u0001\u0000\u0000\u0000"+ + "\u00d0\u00d3\u0003\"\u0011\u0000\u00d1\u00d3\u0003(\u0014\u0000\u00d2"+ + "\u00d0\u0001\u0000\u0000\u0000\u00d2\u00d1\u0001\u0000\u0000\u0000\u00d3"+ + "\u00d4\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005\u0012\u0000\u0000\u00d5"+ + "!\u0001\u0000\u0000\u0000\u00d6\u00dc\u0003$\u0012\u0000\u00d7\u00d8\u0003"+ + ":\u001d\u0000\u00d8\u00d9\u0003$\u0012\u0000\u00d9\u00db\u0001\u0000\u0000"+ + "\u0000\u00da\u00d7\u0001\u0000\u0000\u0000\u00db\u00de\u0001\u0000\u0000"+ + "\u0000\u00dc\u00da\u0001\u0000\u0000\u0000\u00dc\u00dd\u0001\u0000\u0000"+ + "\u0000\u00dd#\u0001\u0000\u0000\u0000\u00de\u00dc\u0001\u0000\u0000\u0000"+ + "\u00df\u00e1\u00038\u001c\u0000\u00e0\u00df\u0001\u0000\u0000\u0000\u00e1"+ + "\u00e4\u0001\u0000\u0000\u0000\u00e2\u00e0\u0001\u0000\u0000\u0000\u00e2"+ + "\u00e3\u0001\u0000\u0000\u0000\u00e3\u00ea\u0001\u0000\u0000\u0000\u00e4"+ + "\u00e2\u0001\u0000\u0000\u0000\u00e5\u00e6\u0005\u0015\u0000\u0000\u00e6"+ + "\u00e7\u0003\"\u0011\u0000\u00e7\u00e8\u0005\u0016\u0000\u0000\u00e8\u00eb"+ + "\u0001\u0000\u0000\u0000\u00e9\u00eb\u0003\u000e\u0007\u0000\u00ea\u00e5"+ + "\u0001\u0000\u0000\u0000\u00ea\u00e9\u0001\u0000\u0000\u0000\u00eb%\u0001"+ + "\u0000\u0000\u0000\u00ec\u00f1\u00030\u0018\u0000\u00ed\u00f1\u00032\u0019"+ + "\u0000\u00ee\u00f1\u00034\u001a\u0000\u00ef\u00f1\u00036\u001b\u0000\u00f0"+ + "\u00ec\u0001\u0000\u0000\u0000\u00f0\u00ed\u0001\u0000\u0000\u0000\u00f0"+ + "\u00ee\u0001\u0000\u0000\u0000\u00f0\u00ef\u0001\u0000\u0000\u0000\u00f1"+ + "\u00f2\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005\u0012\u0000\u0000\u00f3"+ + "\'\u0001\u0000\u0000\u0000\u00f4\u00f5\u0003*\u0015\u0000\u00f5)\u0001"+ + "\u0000\u0000\u0000\u00f6\u00fc\u0003.\u0017\u0000\u00f7\u00f8\u0003,\u0016"+ + "\u0000\u00f8\u00f9\u0003.\u0017\u0000\u00f9\u00fb\u0001\u0000\u0000\u0000"+ + "\u00fa\u00f7\u0001\u0000\u0000\u0000\u00fb\u00fe\u0001\u0000\u0000\u0000"+ + "\u00fc\u00fa\u0001\u0000\u0000\u0000\u00fc\u00fd\u0001\u0000\u0000\u0000"+ + "\u00fd\u00ff\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000"+ + "\u00ff\u0100\u0003<\u001e\u0000\u0100\u0106\u0003.\u0017\u0000\u0101\u0102"+ + "\u0003,\u0016\u0000\u0102\u0103\u0003.\u0017\u0000\u0103\u0105\u0001\u0000"+ + "\u0000\u0000\u0104\u0101\u0001\u0000\u0000\u0000\u0105\u0108\u0001\u0000"+ + "\u0000\u0000\u0106\u0104\u0001\u0000\u0000\u0000\u0106\u0107\u0001\u0000"+ + "\u0000\u0000\u0107+\u0001\u0000\u0000\u0000\u0108\u0106\u0001\u0000\u0000"+ + "\u0000\u0109\u010a\u0007\u0002\u0000\u0000\u010a-\u0001\u0000\u0000\u0000"+ + "\u010b\u010e\u00054\u0000\u0000\u010c\u010e\u0003\u000e\u0007\u0000\u010d"+ + "\u010b\u0001\u0000\u0000\u0000\u010d\u010c\u0001\u0000\u0000\u0000\u010e"+ + "/\u0001\u0000\u0000\u0000\u010f\u0110\u0005\u000e\u0000\u0000\u0110\u0113"+ + "\u0003\u000e\u0007\u0000\u0111\u0112\u0005\u0017\u0000\u0000\u0112\u0114"+ + "\u00054\u0000\u0000\u0113\u0111\u0001\u0000\u0000\u0000\u0113\u0114\u0001"+ + "\u0000\u0000\u0000\u01141\u0001\u0000\u0000\u0000\u0115\u0116\u0005\u000f"+ + "\u0000\u0000\u0116\u0119\u0003\u000e\u0007\u0000\u0117\u0118\u0005\u0017"+ + "\u0000\u0000\u0118\u011a\u00055\u0000\u0000\u0119\u0117\u0001\u0000\u0000"+ + "\u0000\u0119\u011a\u0001\u0000\u0000\u0000\u011a3\u0001\u0000\u0000\u0000"+ + "\u011b\u011c\u0005\u0010\u0000\u0000\u011c\u011f\u0003\u000e\u0007\u0000"+ + "\u011d\u011e\u0005\u0017\u0000\u0000\u011e\u0120\u00056\u0000\u0000\u011f"+ + "\u011d\u0001\u0000\u0000\u0000\u011f\u0120\u0001\u0000\u0000\u0000\u0120"+ + "5\u0001\u0000\u0000\u0000\u0121\u0122\u0005\u0011\u0000\u0000\u0122\u0125"+ + "\u0003\u000e\u0007\u0000\u0123\u0124\u0005\u0017\u0000\u0000\u0124\u0126"+ + "\u00051\u0000\u0000\u0125\u0123\u0001\u0000\u0000\u0000\u0125\u0126\u0001"+ + "\u0000\u0000\u0000\u01267\u0001\u0000\u0000\u0000\u0127\u0128\u0005\u001c"+ + "\u0000\u0000\u01289\u0001\u0000\u0000\u0000\u0129\u012a\u0007\u0003\u0000"+ + "\u0000\u012a;\u0001\u0000\u0000\u0000\u012b\u012c\u0007\u0004\u0000\u0000"+ + "\u012c=\u0001\u0000\u0000\u0000\u001f?CMS]`foz\u0085\u0091\u0098\u009e"+ + "\u00a0\u00a3\u00a9\u00b5\u00bb\u00c2\u00d2\u00dc\u00e2\u00ea\u00f0\u00fc"+ + "\u0106\u010d\u0113\u0119\u011f\u0125"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { - final int numStates = DFA5_transitionS.length; - DFA5_transition = new short[numStates][]; - for (int i = 0; i < numStates; i++) { - DFA5_transition[i] = DFA.unpackEncodedString(DFA5_transitionS[i]); - } - } - - class DFA5 extends DFA { - - public DFA5(BaseRecognizer recognizer) { - this.recognizer = recognizer; - decisionNumber = 5; - eot = DFA5_eot; - eof = DFA5_eof; - min = DFA5_min; - max = DFA5_max; - accept = DFA5_accept; - special = DFA5_special; - transition = DFA5_transition; - } - - @Override - public String getDescription() { - return "104:27: ( instanceImports interfaceImports | interfaceImports instanceImports | interfaceImports | instanceImports )?"; - } - } - - public static final BitSet FOLLOW_imp_in_velvetModel472 = new BitSet(new long[] { 0x0000000000048000L }); - public static final BitSet FOLLOW_concept_in_velvetModel476 = new BitSet(new long[] { 0x0000000000000000L }); - public static final BitSet FOLLOW_cinterface_in_velvetModel478 = new BitSet(new long[] { 0x0000000000000000L }); - public static final BitSet FOLLOW_EOF_in_velvetModel481 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_IMPORT_in_imp493 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_imp495 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_SEMI_in_imp497 = new BitSet(new long[] { 0x0000000800000002L }); - public static final BitSet FOLLOW_CONCEPT_in_concept521 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_concept523 = new BitSet(new long[] { 0x0080003000010002L }); - public static final BitSet FOLLOW_COLON_in_concept530 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_conceptBaseExt_in_concept532 = new BitSet(new long[] { 0x0080003000000002L }); - public static final BitSet FOLLOW_instanceImports_in_concept537 = new BitSet(new long[] { 0x0000002000000000L }); - public static final BitSet FOLLOW_interfaceImports_in_concept539 = new BitSet(new long[] { 0x0080000000000002L }); - public static final BitSet FOLLOW_interfaceImports_in_concept543 = new BitSet(new long[] { 0x0000001000000000L }); - public static final BitSet FOLLOW_instanceImports_in_concept545 = new BitSet(new long[] { 0x0080000000000002L }); - public static final BitSet FOLLOW_interfaceImports_in_concept549 = new BitSet(new long[] { 0x0080000000000002L }); - public static final BitSet FOLLOW_instanceImports_in_concept553 = new BitSet(new long[] { 0x0080000000000002L }); - public static final BitSet FOLLOW_definitions_in_concept560 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_CINTERFACE_in_cinterface593 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_cinterface595 = new BitSet(new long[] { 0x0080000000010000L }); - public static final BitSet FOLLOW_COLON_in_cinterface599 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_conceptBaseExt_in_cinterface601 = new BitSet(new long[] { 0x0080000000000000L }); - public static final BitSet FOLLOW_definitions_in_cinterface605 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_ID_in_conceptBaseExt632 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_COMMA_in_conceptBaseExt635 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_conceptBaseExt637 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_IMPORTINSTANCE_in_instanceImports662 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_instanceImports664 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_instanceImports666 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_COMMA_in_instanceImports669 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_instanceImports671 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_instanceImports673 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_IMPORTINTERFACE_in_interfaceImports702 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_interfaceImports704 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_interfaceImports706 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_COMMA_in_interfaceImports709 = new BitSet(new long[] { 0x0000000200000000L }); - public static final BitSet FOLLOW_ID_in_interfaceImports711 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_interfaceImports713 = new BitSet(new long[] { 0x0000000000020002L }); - public static final BitSet FOLLOW_START_C_in_definitions757 = new BitSet(new long[] { 0xF040088021500010L, 0x0000000000000001L }); - public static final BitSet FOLLOW_definition_in_definitions759 = new BitSet(new long[] { 0x0000000001000000L }); - public static final BitSet FOLLOW_END_C_in_definitions761 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_nonFeatureDefinition_in_definition785 = new BitSet(new long[] { 0xF040088020500012L, 0x0000000000000001L }); - public static final BitSet FOLLOW_featureGroup_in_definition793 = new BitSet(new long[] { 0xF000000000500002L, 0x0000000000000001L }); - public static final BitSet FOLLOW_nonFeatureDefinition_in_definition795 = new BitSet(new long[] { 0xF000000000500002L, 0x0000000000000001L }); - public static final BitSet FOLLOW_feature_in_definition802 = new BitSet(new long[] { 0xF000008020500012L, 0x0000000000000001L }); - public static final BitSet FOLLOW_feature_in_definition805 = new BitSet(new long[] { 0xF000008020500012L, 0x0000000000000001L }); - public static final BitSet FOLLOW_nonFeatureDefinition_in_definition809 = new BitSet(new long[] { 0xF000008020500012L, 0x0000000000000001L }); - public static final BitSet FOLLOW_constraint_in_nonFeatureDefinition831 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_use_in_nonFeatureDefinition836 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_attribute_in_nonFeatureDefinition841 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_description_in_nonFeatureDefinition847 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_USE_in_use858 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_use860 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_SEMI_in_use862 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_MANDATORY_in_feature883 = new BitSet(new long[] { 0x0000000000000010L }); - public static final BitSet FOLLOW_ABSTRACT_in_feature885 = new BitSet(new long[] { 0x0000000020000000L }); - public static final BitSet FOLLOW_ABSTRACT_in_feature889 = new BitSet(new long[] { 0x0000008000000000L }); - public static final BitSet FOLLOW_MANDATORY_in_feature891 = new BitSet(new long[] { 0x0000000020000000L }); - public static final BitSet FOLLOW_MANDATORY_in_feature895 = new BitSet(new long[] { 0x0000000020000000L }); - public static final BitSet FOLLOW_ABSTRACT_in_feature899 = new BitSet(new long[] { 0x0000000020000000L }); - public static final BitSet FOLLOW_FEATURE_in_feature906 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_feature908 = new BitSet(new long[] { 0x0090000000000000L }); - public static final BitSet FOLLOW_definitions_in_feature911 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_SEMI_in_feature915 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_groupType_in_featureGroup946 = new BitSet(new long[] { 0x0080000000000000L }); - public static final BitSet FOLLOW_START_C_in_featureGroup948 = new BitSet(new long[] { 0x0000008020000010L }); - public static final BitSet FOLLOW_feature_in_featureGroup950 = new BitSet(new long[] { 0x0000008021000010L }); - public static final BitSet FOLLOW_END_C_in_featureGroup953 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_DESCRIPTION_in_description995 = new BitSet(new long[] { 0x0200000000000000L }); - public static final BitSet FOLLOW_STRING_in_description997 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_SEMI_in_description999 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_CONSTRAINT_in_constraint1020 = new BitSet(new long[] { 0x0101004600000000L }); - public static final BitSet FOLLOW_ID_in_constraint1024 = new BitSet(new long[] { 0x0000000004000000L }); - public static final BitSet FOLLOW_EQ_in_constraint1026 = new BitSet(new long[] { 0x0101004600000000L }); - public static final BitSet FOLLOW_constraintDefinition_in_constraint1032 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_attributeConstraint_in_constraint1036 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_SEMI_in_constraint1039 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_constraintOperand_in_constraintDefinition1052 = new BitSet(new long[] { 0x0006E00000000002L }); - public static final BitSet FOLLOW_binaryOp_in_constraintDefinition1055 = new BitSet(new long[] { 0x0101000600000000L }); - public static final BitSet FOLLOW_constraintOperand_in_constraintDefinition1057 = new BitSet(new long[] { 0x0006E00000000002L }); - public static final BitSet FOLLOW_unaryOp_in_constraintOperand1084 = new BitSet(new long[] { 0x0101000600000000L }); - public static final BitSet FOLLOW_START_R_in_constraintOperand1088 = new BitSet(new long[] { 0x0101000600000000L }); - public static final BitSet FOLLOW_constraintDefinition_in_constraintOperand1090 = new BitSet(new long[] { 0x0000000002000000L }); - public static final BitSet FOLLOW_END_R_in_constraintOperand1092 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_name_in_constraintOperand1096 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_intAttribute_in_attribute1132 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_floatAttribute_in_attribute1136 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_stringAttribute_in_attribute1140 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_boolAttribute_in_attribute1144 = new BitSet(new long[] { 0x0010000000000000L }); - public static final BitSet FOLLOW_SEMI_in_attribute1147 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_attribConstraint_in_attributeConstraint1178 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_attribNumInstance_in_attribConstraint1198 = new BitSet(new long[] { 0x0008010000000A80L }); - public static final BitSet FOLLOW_attribOperator_in_attribConstraint1201 = new BitSet(new long[] { 0x0000004600000000L }); - public static final BitSet FOLLOW_attribNumInstance_in_attribConstraint1203 = new BitSet(new long[] { 0x0008010000000A80L }); - public static final BitSet FOLLOW_attribRelation_in_attribConstraint1211 = new BitSet(new long[] { 0x0000004600000000L }); - public static final BitSet FOLLOW_attribNumInstance_in_attribConstraint1217 = new BitSet(new long[] { 0x0008010000000002L }); - public static final BitSet FOLLOW_attribOperator_in_attribConstraint1220 = new BitSet(new long[] { 0x0000004600000000L }); - public static final BitSet FOLLOW_attribNumInstance_in_attribConstraint1222 = new BitSet(new long[] { 0x0008010000000002L }); - public static final BitSet FOLLOW_INT_in_attribNumInstance1254 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_name_in_attribNumInstance1261 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_VAR_INT_in_intAttribute1271 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_intAttribute1274 = new BitSet(new long[] { 0x0000000004000002L }); - public static final BitSet FOLLOW_EQ_in_intAttribute1277 = new BitSet(new long[] { 0x0000004000000000L }); - public static final BitSet FOLLOW_INT_in_intAttribute1280 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_VAR_FLOAT_in_floatAttribute1289 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_floatAttribute1292 = new BitSet(new long[] { 0x0000000004000002L }); - public static final BitSet FOLLOW_EQ_in_floatAttribute1295 = new BitSet(new long[] { 0x0000000040000000L }); - public static final BitSet FOLLOW_FLOAT_in_floatAttribute1298 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_VAR_STRING_in_stringAttribute1306 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_stringAttribute1309 = new BitSet(new long[] { 0x0000000004000002L }); - public static final BitSet FOLLOW_EQ_in_stringAttribute1312 = new BitSet(new long[] { 0x0200000000000000L }); - public static final BitSet FOLLOW_STRING_in_stringAttribute1315 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_VAR_BOOL_in_boolAttribute1324 = new BitSet(new long[] { 0x0000000600000000L }); - public static final BitSet FOLLOW_name_in_boolAttribute1327 = new BitSet(new long[] { 0x0000000004000002L }); - public static final BitSet FOLLOW_EQ_in_boolAttribute1330 = new BitSet(new long[] { 0x0000000000004000L }); - public static final BitSet FOLLOW_BOOLEAN_in_boolAttribute1333 = new BitSet(new long[] { 0x0000000000000002L }); - public static final BitSet FOLLOW_OP_NOT_in_unaryOp1345 = new BitSet(new long[] { 0x0000000000000002L }); - -} + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java new file mode 100644 index 0000000000..b6562fff25 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java @@ -0,0 +1,202 @@ +// Generated from Velvet.g4 by ANTLR 4.13.2 + +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.FMCorePlugin; +import org.antlr.v4.runtime.tree.ParseTreeVisitor; + +/** + * This interface defines a complete generic visitor for a parse tree produced + * by {@link VelvetParser}. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +public interface VelvetVisitor extends ParseTreeVisitor { + /** + * Visit a parse tree produced by {@link VelvetParser#velvetModel}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVelvetModel(VelvetParser.VelvetModelContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#imp}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitImp(VelvetParser.ImpContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#concept}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitConcept(VelvetParser.ConceptContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#cinterface}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitCinterface(VelvetParser.CinterfaceContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#conceptBaseExt}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#instanceImports}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInstanceImports(VelvetParser.InstanceImportsContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#interfaceImports}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInterfaceImports(VelvetParser.InterfaceImportsContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#name}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitName(VelvetParser.NameContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#definitions}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDefinitions(VelvetParser.DefinitionsContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#definition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDefinition(VelvetParser.DefinitionContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#nonFeatureDefinition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#use}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitUse(VelvetParser.UseContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#feature}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFeature(VelvetParser.FeatureContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#featureGroup}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFeatureGroup(VelvetParser.FeatureGroupContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#groupType}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitGroupType(VelvetParser.GroupTypeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#description}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDescription(VelvetParser.DescriptionContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#constraint}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitConstraint(VelvetParser.ConstraintContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#constraintDefinition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#constraintOperand}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitConstraintOperand(VelvetParser.ConstraintOperandContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attribute}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttribute(VelvetParser.AttributeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attributeConstraint}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attribConstraint}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttribConstraint(VelvetParser.AttribConstraintContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attribOperator}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttribOperator(VelvetParser.AttribOperatorContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attribNumInstance}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#intAttribute}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitIntAttribute(VelvetParser.IntAttributeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#floatAttribute}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFloatAttribute(VelvetParser.FloatAttributeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#stringAttribute}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitStringAttribute(VelvetParser.StringAttributeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#boolAttribute}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBoolAttribute(VelvetParser.BoolAttributeContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#unaryOp}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitUnaryOp(VelvetParser.UnaryOpContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#binaryOp}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBinaryOp(VelvetParser.BinaryOpContext ctx); + /** + * Visit a parse tree produced by {@link VelvetParser#attribRelation}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAttribRelation(VelvetParser.AttribRelationContext ctx); +} \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java new file mode 100644 index 0000000000..e524228f11 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java @@ -0,0 +1,42 @@ +/* FeatureIDE - A Framework for Feature-Oriented Software Development + * Copyright (C) 2005-2020 FeatureIDE team, University of Magdeburg, Germany + * + * This file is part of FeatureIDE. + * + * FeatureIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * FeatureIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with FeatureIDE. If not, see . + * + * See http://featureide.cs.ovgu.de/ for further information. + */ +package de.ovgu.featureide.fm.core.io.velvet; + +import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.ConceptContext; + +/** + * TODO description + * + * @author mgrave + */ +public class VelvetVisitorImpl extends VelvetBaseVisitor { + + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.VelvetBaseVisitor#visitConcept(de.ovgu.featureide.fm.core.io.velvet.VelvetParser.ConceptContext) + */ + @Override + public Void visitConcept(ConceptContext ctx) { + // TODO Auto-generated method stub + return super.visitConcept(ctx); + } + +} From 4452cd20ba21d5d59ac6fe218b9bbea94912a343 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Tue, 1 Jul 2025 13:22:25 +0200 Subject: [PATCH 08/21] Updated FeatureIDE to Eclipse 2025-06 --- .../de.ovgu.featureide.core.typecheck/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 9 ++++++--- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF | 3 ++- pom.xml | 10 ++++++---- tests/de.ovgu.featureide.core.ahead-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.antenna-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../de.ovgu.featureide.core.aspectj-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- tests/de.ovgu.featureide.core.munge-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 9 ++++++--- .../META-INF/MANIFEST.MF | 2 +- tests/de.ovgu.featureide.fm.core-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- tests/de.ovgu.featureide.fm.ui-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../META-INF/MANIFEST.MF | 2 +- tests/de.ovgu.featureide.ui-test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 13 ++++++------- .../de.ovgu.featureide.ui-test/META-INF/MANIFEST.MF | 2 +- 32 files changed, 88 insertions(+), 87 deletions(-) diff --git a/experimental/de.ovgu.featureide.core.typecheck/.classpath b/experimental/de.ovgu.featureide.core.typecheck/.classpath index 2ed1eb2a29..e7d2b4b940 100644 --- a/experimental/de.ovgu.featureide.core.typecheck/.classpath +++ b/experimental/de.ovgu.featureide.core.typecheck/.classpath @@ -1,6 +1,6 @@ - + diff --git a/experimental/de.ovgu.featureide.core.typecheck/.settings/org.eclipse.jdt.core.prefs b/experimental/de.ovgu.featureide.core.typecheck/.settings/org.eclipse.jdt.core.prefs index 7341ab1683..92dd3c26a8 100644 --- a/experimental/de.ovgu.featureide.core.typecheck/.settings/org.eclipse.jdt.core.prefs +++ b/experimental/de.ovgu.featureide.core.typecheck/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,14 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/experimental/de.ovgu.featureide.core.typecheck/META-INF/MANIFEST.MF b/experimental/de.ovgu.featureide.core.typecheck/META-INF/MANIFEST.MF index 83ecce5eb0..08cfdf7a4d 100644 --- a/experimental/de.ovgu.featureide.core.typecheck/META-INF/MANIFEST.MF +++ b/experimental/de.ovgu.featureide.core.typecheck/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Type Checking Plug-in Bundle-SymbolicName: de.ovgu.featureide.core.typecheck;singleton:=true Bundle-Version: 2.6.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.core.resources, diff --git a/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF index 54f82b4b24..4eae658102 100644 --- a/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.ui/META-INF/MANIFEST.MF @@ -16,7 +16,8 @@ Require-Bundle: org.eclipse.gef, org.eclipse.core.expressions, org.eclipse.core.resources, - de.ovgu.featureide.fm.core + de.ovgu.featureide.fm.core, + org.eclipse.draw2d Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg diff --git a/pom.xml b/pom.xml index 7890336b4d..c533678212 100644 --- a/pom.xml +++ b/pom.xml @@ -7,8 +7,8 @@ pom - 4.0.10 - 4.0.10 + 4.0.13 + 4.0.13 UTF-8 21 21 @@ -269,12 +269,14 @@ - 2025-03 - http://download.eclipse.org/releases/2025-03 + 2025-06 + http://download.eclipse.org/releases/2025-06 p2 + + \ No newline at end of file diff --git a/tests/de.ovgu.featureide.core.ahead-test/.classpath b/tests/de.ovgu.featureide.core.ahead-test/.classpath index eca7bdba8f..375961e4d6 100644 --- a/tests/de.ovgu.featureide.core.ahead-test/.classpath +++ b/tests/de.ovgu.featureide.core.ahead-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.core.ahead-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.core.ahead-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.core.ahead-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.core.ahead-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.core.ahead-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.core.ahead-test/META-INF/MANIFEST.MF index 7f4de9a356..1090588f56 100644 --- a/tests/de.ovgu.featureide.core.ahead-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.core.ahead-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: AHEAD Test Fragment Bundle-SymbolicName: de.ovgu.featureide.core.ahead-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.core.conversion.ahead-featurehouse -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.core.ahead-test diff --git a/tests/de.ovgu.featureide.core.antenna-test/.classpath b/tests/de.ovgu.featureide.core.antenna-test/.classpath index 4f83b2397e..108c08688d 100644 --- a/tests/de.ovgu.featureide.core.antenna-test/.classpath +++ b/tests/de.ovgu.featureide.core.antenna-test/.classpath @@ -2,6 +2,6 @@ - + diff --git a/tests/de.ovgu.featureide.core.antenna-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.core.antenna-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.core.antenna-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.core.antenna-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.core.antenna-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.core.antenna-test/META-INF/MANIFEST.MF index 66b709827e..0f3550364c 100644 --- a/tests/de.ovgu.featureide.core.antenna-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.core.antenna-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: Antenna Test Fragment Bundle-SymbolicName: de.ovgu.featureide.core.antenna-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.core.antenna -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.core.antenna-test diff --git a/tests/de.ovgu.featureide.core.aspectj-test/.classpath b/tests/de.ovgu.featureide.core.aspectj-test/.classpath index eca7bdba8f..375961e4d6 100644 --- a/tests/de.ovgu.featureide.core.aspectj-test/.classpath +++ b/tests/de.ovgu.featureide.core.aspectj-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.core.aspectj-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.core.aspectj-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.core.aspectj-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.core.aspectj-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.core.aspectj-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.core.aspectj-test/META-INF/MANIFEST.MF index 0d3d9b5363..38ae552fa5 100644 --- a/tests/de.ovgu.featureide.core.aspectj-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.core.aspectj-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: AspectJ Test Fragment Bundle-SymbolicName: de.ovgu.featureide.core.aspectj-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.core.aspectj -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.core.aspectj-test diff --git a/tests/de.ovgu.featureide.core.featurehouse-test/.classpath b/tests/de.ovgu.featureide.core.featurehouse-test/.classpath index 4f83b2397e..108c08688d 100644 --- a/tests/de.ovgu.featureide.core.featurehouse-test/.classpath +++ b/tests/de.ovgu.featureide.core.featurehouse-test/.classpath @@ -2,6 +2,6 @@ - + diff --git a/tests/de.ovgu.featureide.core.featurehouse-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.core.featurehouse-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.core.featurehouse-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.core.featurehouse-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.core.featurehouse-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.core.featurehouse-test/META-INF/MANIFEST.MF index 34d8ed1e98..f370fe1531 100644 --- a/tests/de.ovgu.featureide.core.featurehouse-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.core.featurehouse-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: FeatureHouse Test Fragment Bundle-SymbolicName: de.ovgu.featureide.core.featurehouse-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.core.featurehouse -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Import-Package: com.sun.tools.classfile diff --git a/tests/de.ovgu.featureide.core.munge-test/.classpath b/tests/de.ovgu.featureide.core.munge-test/.classpath index eca7bdba8f..375961e4d6 100644 --- a/tests/de.ovgu.featureide.core.munge-test/.classpath +++ b/tests/de.ovgu.featureide.core.munge-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.core.munge-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.core.munge-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.core.munge-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.core.munge-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.core.munge-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.core.munge-test/META-INF/MANIFEST.MF index a27e818ebe..cf76753365 100644 --- a/tests/de.ovgu.featureide.core.munge-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.core.munge-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: Munge Test Fragment Bundle-SymbolicName: de.ovgu.featureide.core.munge-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.core.munge -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.core.munge-test diff --git a/tests/de.ovgu.featureide.fm.attributes-test/.classpath b/tests/de.ovgu.featureide.fm.attributes-test/.classpath index eca7bdba8f..375961e4d6 100644 --- a/tests/de.ovgu.featureide.fm.attributes-test/.classpath +++ b/tests/de.ovgu.featureide.fm.attributes-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.fm.attributes-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.fm.attributes-test/.settings/org.eclipse.jdt.core.prefs index c5a0ba0b79..659aa34ca4 100644 --- a/tests/de.ovgu.featureide.fm.attributes-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.fm.attributes-test/.settings/org.eclipse.jdt.core.prefs @@ -1,10 +1,13 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false diff --git a/tests/de.ovgu.featureide.fm.attributes-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.fm.attributes-test/META-INF/MANIFEST.MF index 202b89497d..128234f691 100644 --- a/tests/de.ovgu.featureide.fm.attributes-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.fm.attributes-test/META-INF/MANIFEST.MF @@ -6,5 +6,5 @@ Bundle-Version: 3.11.1.qualifier Bundle-Vendor: University of Magdeburg Fragment-Host: de.ovgu.featureide.fm.attributes Automatic-Module-Name: de.ovgu.featureide.fm.attributes-test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Require-Bundle: org.junit diff --git a/tests/de.ovgu.featureide.fm.core-test/.classpath b/tests/de.ovgu.featureide.fm.core-test/.classpath index 53fc6a4885..51412e9925 100644 --- a/tests/de.ovgu.featureide.fm.core-test/.classpath +++ b/tests/de.ovgu.featureide.fm.core-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.fm.core-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.fm.core-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.fm.core-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.fm.core-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.fm.core-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.fm.core-test/META-INF/MANIFEST.MF index dfc8465c2f..51343d958f 100644 --- a/tests/de.ovgu.featureide.fm.core-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.fm.core-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: Feature Model Core Test Fragment Bundle-SymbolicName: de.ovgu.featureide.fm.core-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.fm.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Bundle-ClassPath: ., diff --git a/tests/de.ovgu.featureide.fm.ui-test/.classpath b/tests/de.ovgu.featureide.fm.ui-test/.classpath index eca7bdba8f..375961e4d6 100644 --- a/tests/de.ovgu.featureide.fm.ui-test/.classpath +++ b/tests/de.ovgu.featureide.fm.ui-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.fm.ui-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.fm.ui-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.fm.ui-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.fm.ui-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.fm.ui-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.fm.ui-test/META-INF/MANIFEST.MF index cc540ffa3c..a58c200424 100644 --- a/tests/de.ovgu.featureide.fm.ui-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.fm.ui-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: Feature Model UI Test Fragment Bundle-SymbolicName: de.ovgu.featureide.fm.ui-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.fm.ui -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.fm.ui-test diff --git a/tests/de.ovgu.featureide.ui-test/.classpath b/tests/de.ovgu.featureide.ui-test/.classpath index fbf5ac5fe1..029d348948 100644 --- a/tests/de.ovgu.featureide.ui-test/.classpath +++ b/tests/de.ovgu.featureide.ui-test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/tests/de.ovgu.featureide.ui-test/.settings/org.eclipse.jdt.core.prefs b/tests/de.ovgu.featureide.ui-test/.settings/org.eclipse.jdt.core.prefs index 45dc6d6ce5..aaa1bad0e2 100644 --- a/tests/de.ovgu.featureide.ui-test/.settings/org.eclipse.jdt.core.prefs +++ b/tests/de.ovgu.featureide.ui-test/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false @@ -23,7 +26,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=20 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=20 org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=20 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 @@ -144,7 +146,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert @@ -215,7 +216,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert @@ -360,7 +360,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true diff --git a/tests/de.ovgu.featureide.ui-test/META-INF/MANIFEST.MF b/tests/de.ovgu.featureide.ui-test/META-INF/MANIFEST.MF index f66e708b92..3bfb3c0419 100644 --- a/tests/de.ovgu.featureide.ui-test/META-INF/MANIFEST.MF +++ b/tests/de.ovgu.featureide.ui-test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: FeatureIDE UI Test Fragment Bundle-SymbolicName: de.ovgu.featureide.ui-test;singleton:=true Bundle-Version: 3.11.1.qualifier Fragment-Host: de.ovgu.featureide.ui -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Vendor: University of Magdeburg Require-Bundle: org.junit Automatic-Module-Name: de.ovgu.featureide.ui-test From f7b63a3b0da06c8ed68004a76246087c023782ff Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Tue, 1 Jul 2025 13:56:52 +0200 Subject: [PATCH 09/21] Extensions are now loaded correctly --- .../src/de/ovgu/featureide/fm/core/ExtensionManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/ExtensionManager.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/ExtensionManager.java index dab09456e7..3e5ba899b1 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/ExtensionManager.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/ExtensionManager.java @@ -47,7 +47,7 @@ public synchronized final void addExtensions(IExtensionLoader extensionLoader } public synchronized boolean addExtension(T extension) { - if (extension != null) { + if ((extension != null) && (extension.getId() != null)) { for (final T t : extensions) { if (t.getId().equals(extension.getId())) { return false; From 3f379932a36f9b952fc1a5d20fd8bbeacbca5073 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 11:07:00 +0200 Subject: [PATCH 10/21] Create maven.yml --- .github/workflows/maven.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000000..b159772796 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,29 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "develop" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml + + - name: Update dependency graph + uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 From 42bc6ab5725e54d1924b02c8f33fc089f4e34576 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 11:35:04 +0200 Subject: [PATCH 11/21] Update maven.yml --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b159772796..2c305874c9 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -26,4 +26,4 @@ jobs: run: mvn -B package --file pom.xml - name: Update dependency graph - uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 + uses: advanced-security/maven-dependency-submission-action@v5 From 3e3dfb1b447cfa6471862ac31acc955dae33c0da Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 12:41:24 +0200 Subject: [PATCH 12/21] Update maven.yml --- .github/workflows/maven.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 2c305874c9..fee725da94 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -9,6 +9,9 @@ on: pull_request: branches: [ "develop" ] +permissions: + contents: write + jobs: build: From ea1ccd2d7205440afb85e41ffeadb9a303184ca7 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 14:11:41 +0200 Subject: [PATCH 13/21] Build and publish update-site --- .github/workflows/maven.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index fee725da94..4052e61ee2 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -14,7 +14,6 @@ permissions: jobs: build: - runs-on: ubuntu-latest steps: @@ -25,8 +24,26 @@ jobs: java-version: '21' distribution: 'temurin' cache: maven + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven + - name: Build with Maven - run: mvn -B package --file pom.xml + run: mvn -B compile --file pom.xml + + - name: Build update site with Maven + run: mvn verify -pl deploy -am + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./deploy/NightlyUpdate/target/repository - name: Update dependency graph uses: advanced-security/maven-dependency-submission-action@v5 From 64396ccf279b6d403ae02956fa9a4b30f3c9761f Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 14:15:41 +0200 Subject: [PATCH 14/21] Fixed wrong profile in the ci job --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 4052e61ee2..2fdafd930d 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -37,7 +37,7 @@ jobs: run: mvn -B compile --file pom.xml - name: Build update site with Maven - run: mvn verify -pl deploy -am + run: mvn -B -Pnu package - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 From a7de890978f459a416594e4a17c4c5baa68c28bf Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 15:55:51 +0200 Subject: [PATCH 15/21] New automatic gh-pages deploy --- .github/workflows/maven.yml | 69 +++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 2fdafd930d..baa7a8fdf8 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -11,6 +11,7 @@ on: permissions: contents: write + pages: write jobs: build: @@ -35,15 +36,63 @@ jobs: - name: Build with Maven run: mvn -B compile --file pom.xml - - - name: Build update site with Maven - run: mvn -B -Pnu package - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./deploy/NightlyUpdate/target/repository + build-update-site: + runs-on: ubuntu-latest + needs: build + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven + + - name: Build update site only + run: mvn -B -Pnu package + + - name: Upload update site artifact + uses: actions/upload-artifact@v4 + with: + name: update-site + path: deploy/NightlyUpdate/target/repository + - - name: Update dependency graph - uses: advanced-security/maven-dependency-submission-action@v5 + deploy-update-site: + runs-on: ubuntu-latest + needs: build-update-site + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: update-site + + - name: Add .nojekyll + run: touch .nojekyll + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From bdb1c4f451902fe8abb841a372031836271ed984 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 16:03:54 +0200 Subject: [PATCH 16/21] Update maven.yml --- .github/workflows/maven.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index baa7a8fdf8..3c0942f46c 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -92,6 +92,8 @@ jobs: - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 + with: + path: ./ - name: Deploy to GitHub Pages id: deployment From 03f16b15b8c8a00eb65e4d1ec8740508c2a157be Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Mon, 7 Jul 2025 16:07:47 +0200 Subject: [PATCH 17/21] Update maven.yml --- .github/workflows/maven.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 3c0942f46c..9e4cfeec64 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -12,6 +12,7 @@ on: permissions: contents: write pages: write + id-token: write jobs: build: From 96f19b41253aaaa0b41d595dd8d65822737a52a4 Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Tue, 8 Jul 2025 12:54:27 +0200 Subject: [PATCH 18/21] Minimized the FeatureIDE build --- .github/workflows/maven.yml | 2 +- deploy/NightlyUpdate/category.xml | 59 +++++++++--------- pom.xml | 99 ++++++++++++++++++------------- 3 files changed, 87 insertions(+), 73 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 9e4cfeec64..f4a15a378a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -94,7 +94,7 @@ jobs: - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: - path: ./ + path: deploy/NightlyUpdate/target/repository - name: Deploy to GitHub Pages id: deployment diff --git a/deploy/NightlyUpdate/category.xml b/deploy/NightlyUpdate/category.xml index a0c18ea7ea..6051a932f3 100644 --- a/deploy/NightlyUpdate/category.xml +++ b/deploy/NightlyUpdate/category.xml @@ -1,8 +1,7 @@ - - + + ]> @@ -11,50 +10,50 @@ 3.11.1 - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - diff --git a/pom.xml b/pom.xml index 4b01607eed..d871078a4c 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,5 @@ - 4.0.0 de.ovgu.featureide @@ -33,13 +34,10 @@ plugins/de.ovgu.featureide.core.images plugins/de.ovgu.featureide.core.mpl plugins/de.ovgu.featureide.core.munge - plugins/de.ovgu.featureide.core.munge.android plugins/de.ovgu.featureide.core.runtime - plugins/de.ovgu.featureide.examples plugins/de.ovgu.featureide.migration - plugins/de.ovgu.featureide.ui.android plugins/de.ovgu.featureide.ui.mpl - + tests/de.ovgu.featureide.fm.core-test tests/de.ovgu.featureide.fm.ui-test @@ -52,31 +50,53 @@ tests/de.ovgu.featureide.fm.attributes-test - - nu - - false - - - deploy - - - - gui - - false - - - gui-tests/de.ovgu.featureide.fm.gui-test - - - + nu + + false + + + deploy/br.ufal.ic.colligens.feature + deploy/de.ovgu.featureide.featurecpp + deploy/de.ovgu.featureide.featurehouse + deploy/de.ovgu.featureide + deploy/de.ovgu.featureide.ahead + deploy/de.ovgu.featureide.antenna + deploy/de.ovgu.featureide.aspectj + deploy/de.ovgu.featureide.featuremodeling + deploy/de.ovgu.featureide.munge + deploy/NightlyUpdate + + + + gui + + false + + + gui-tests/de.ovgu.featureide.fm.gui-test + + + + deprecated-build + + false + + + deploy + plugins/de.ovgu.featureide.examples + plugins/de.ovgu.featureide.ui.android + plugins/de.ovgu.featureide.core.munge.android + + + @@ -239,19 +259,19 @@ - - org.apache.maven.plugins - maven-javadoc-plugin - 3.11.2 - - ${project.basedir}/../Javadoc - ${project.name} - true - none - false - - - + + org.apache.maven.plugins + maven-javadoc-plugin + 3.11.2 + + ${project.basedir}/../Javadoc + ${project.name} + true + none + false + + + org.jacoco jacoco-maven-plugin @@ -274,9 +294,4 @@ p2 - - - - - From b66fdaa8e82b509c571e55c1473be95a4880bafb Mon Sep 17 00:00:00 2001 From: Malte Grave Date: Tue, 8 Jul 2025 13:03:08 +0200 Subject: [PATCH 19/21] Update maven.yml --- .github/workflows/maven.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index f4a15a378a..21c43dd84a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -80,10 +80,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Create artifact download directory + run: mkdir update-site + - name: Download artifact uses: actions/download-artifact@v4 with: name: update-site + path: update-site/ - name: Add .nojekyll run: touch .nojekyll @@ -94,7 +98,7 @@ jobs: - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: - path: deploy/NightlyUpdate/target/repository + path: update-site/ - name: Deploy to GitHub Pages id: deployment From ce9ef45f21d961e7199baa99eaa9d6293bbca7b3 Mon Sep 17 00:00:00 2001 From: Ak129205 Date: Fri, 22 Aug 2025 11:22:53 +0200 Subject: [PATCH 20/21] VelvetModel rewritten to ANTLR4 --- .../META-INF/MANIFEST.MF | 6 +- plugins/de.ovgu.featureide.fm.core/Velvet.g4 | 13 +- .../core/constraint/FeatureAttributeMap.java | 9 +- .../io/velvet/IVelvetFeatureModelFormat.java | 74 ++ .../SimpleVelvetFeatureModelFormat.java | 597 ++++++++--- .../fm/core/io/velvet/Velvet.interp | 4 +- .../fm/core/io/velvet/VelvetBaseListener.java | 4 +- .../fm/core/io/velvet/VelvetBaseVisitor.java | 2 +- .../io/velvet/VelvetFeatureModelFormat.java | 943 ++++++++++++------ .../fm/core/io/velvet/VelvetListener.java | 8 +- .../fm/core/io/velvet/VelvetParser.java | 429 ++++---- .../fm/core/io/velvet/VelvetVisitor.java | 4 +- .../fm/core/io/velvet/VelvetVisitorImpl.java | 889 ++++++++++++++++- 13 files changed, 2262 insertions(+), 720 deletions(-) create mode 100644 plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/IVelvetFeatureModelFormat.java diff --git a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF index abe0516214..5825c832a0 100644 --- a/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF +++ b/plugins/de.ovgu.featureide.fm.core/META-INF/MANIFEST.MF @@ -11,9 +11,9 @@ Bundle-ClassPath: ., lib/org.sat4j.pb.jar, lib/splar.jar, lib/SPLCAT.jar, - lib/commons-math-2.2.jar, - lib/uvl-parser.jar, lib/antlr4-runtime-4.13.2.jar, + lib/uvl-parser.jar, + lib/commons-math-2.2.jar, lib/ST-4.3.4.jar Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-Activator: de.ovgu.featureide.fm.core.FMCorePlugin @@ -159,3 +159,5 @@ Export-Package: de.ovgu.featureide.fm.core, splar.samples Bundle-ActivationPolicy: lazy Automatic-Module-Name: de.ovgu.featureide.fm.core +Import-Package: de.ovgu.featureide.fm.core.base, + org.antlr.v4.runtime.tree diff --git a/plugins/de.ovgu.featureide.fm.core/Velvet.g4 b/plugins/de.ovgu.featureide.fm.core/Velvet.g4 index 37f805256a..bd5ff25d74 100644 --- a/plugins/de.ovgu.featureide.fm.core/Velvet.g4 +++ b/plugins/de.ovgu.featureide.fm.core/Velvet.g4 @@ -153,14 +153,15 @@ attribute : (intAttribute | floatAttribute | stringAttribute | boolAttribute) SEMI ; -attributeConstraint - : attribConstraint - ; -attribConstraint - : attribNumInstance (attribOperator attribNumInstance)* +attributeConstraint + : attribNumExpr attribRelation - attribNumInstance (attribOperator attribNumInstance)* + attribNumExpr + ; + +attribNumExpr + : attribNumInstance (attribOperator attribNumInstance)* ; attribOperator diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/constraint/FeatureAttributeMap.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/constraint/FeatureAttributeMap.java index 9528c30c01..0e3cf08631 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/constraint/FeatureAttributeMap.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/constraint/FeatureAttributeMap.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; /** * Maps a {@link FeatureAttribute} to its name and feature. @@ -38,8 +39,12 @@ public FeatureAttributeMap() { attrs = new HashMap<>(); } + public Set getKeys() { + return attrs.keySet(); + } + public FeatureAttributeMap(FeatureAttributeMap oldMap) { - this.attrs = new HashMap<>((int) (1.5 * oldMap.attrs.size())); + attrs = new HashMap<>((int) (1.5 * oldMap.attrs.size())); for (final Entry>> mapEntry : oldMap.attrs.entrySet()) { final Map> value = mapEntry.getValue(); @@ -48,7 +53,7 @@ public FeatureAttributeMap(FeatureAttributeMap oldMap) { final FeatureAttribute v = attributeEntry.getValue(); newFeatureMap.put(attributeEntry.getKey(), new FeatureAttribute<>(v.getAttributeName(), v.getFeatureName(), v.getValue())); } - this.attrs.put(mapEntry.getKey(), newFeatureMap); + attrs.put(mapEntry.getKey(), newFeatureMap); } } diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/IVelvetFeatureModelFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/IVelvetFeatureModelFormat.java new file mode 100644 index 0000000000..19b36b0fa8 --- /dev/null +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/IVelvetFeatureModelFormat.java @@ -0,0 +1,74 @@ +package de.ovgu.featureide.fm.core.io.velvet; + +import java.io.File; +import java.io.IOException; + +import org.eclipse.core.resources.IProject; + +import de.ovgu.featureide.fm.core.base.IFeatureModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; +import de.ovgu.featureide.fm.core.io.ProblemList; + +public interface IVelvetFeatureModelFormat { + + public boolean supportsRead(); + + public boolean supportsWrite(); + + public String write(IFeatureModel object); + + public ProblemList read(IFeatureModel object, CharSequence source); + + public String getSuffix(); + + public String getId(); + + public String getName(); + + public boolean initExtension(); + + public String getExtFeatureModelName(); + + public MultiFeatureModel getExtFeatureModel(); + + /** + * @param text + */ + public void setExtFeatureModelName(String name); + + /** + * @return + */ + public File getFeatureModelFile(); + + /** + * @return + */ + public boolean isVelvetImport(); + + /** + * @return + */ + public boolean getLocalSearch(); + + /** + * @return + */ + public boolean getIsUsedAsAPI(); + + /** + * @return + */ + public String[] getPaths(); + + /** + * @return + * @throws IOException + */ + public IProject getProject(); + + /** + * @param modelName + * @return + */ +} diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java index bd3e6b13bd..fd5524cb1e 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/SimpleVelvetFeatureModelFormat.java @@ -1,6 +1,7 @@ /* FeatureIDE - A Framework for Feature-Oriented Software Development * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany * 2025 Malte Grave, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz + * 2025 Oleksandr Kudriavchenko, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz * * This file is part of FeatureIDE. @@ -22,7 +23,46 @@ */ package de.ovgu.featureide.fm.core.io.velvet; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.tree.ParseTree; +import org.eclipse.core.resources.IProject; +import org.prop4j.Equals; +import org.prop4j.Implies; +import org.prop4j.Node; + +import de.ovgu.featureide.fm.core.Logger; +import de.ovgu.featureide.fm.core.PluginID; +import de.ovgu.featureide.fm.core.base.IConstraint; +import de.ovgu.featureide.fm.core.base.IFeatureModel; +import de.ovgu.featureide.fm.core.base.IFeatureStructure; +import de.ovgu.featureide.fm.core.base.impl.FMFactoryManager; +import de.ovgu.featureide.fm.core.base.impl.MultiConstraint; +import de.ovgu.featureide.fm.core.base.impl.MultiFeature; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModelFactory; +import de.ovgu.featureide.fm.core.constraint.Equation; +import de.ovgu.featureide.fm.core.constraint.FeatureAttribute; +import de.ovgu.featureide.fm.core.constraint.FeatureAttributeMap; +import de.ovgu.featureide.fm.core.constraint.WeightedTerm; import de.ovgu.featureide.fm.core.io.AFeatureModelFormat; +import de.ovgu.featureide.fm.core.io.Problem; +import de.ovgu.featureide.fm.core.io.ProblemList; +import de.ovgu.featureide.fm.core.io.UnsupportedModelException; /** * Reads / Writes feature models in the Velvet format. @@ -31,181 +71,430 @@ * @author Matthias Strauss * @author Reimar Schroeter * @author Malte Grave + * @author Oleksandr Kudriavchenko */ -public class SimpleVelvetFeatureModelFormat extends AFeatureModelFormat { +public class SimpleVelvetFeatureModelFormat extends AFeatureModelFormat implements IVelvetFeatureModelFormat { + + public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + SimpleVelvetFeatureModelFormat.class.getSimpleName(); + public final boolean velvetImport = false; + MultiFeatureModel extFeatureModel; + String extFeatureModelName; + protected File featureModelFile; + protected ProblemList problemList; + private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; + private static final String NEWLINE = System.getProperty("line.separator", "\n"); + private final StringBuilder sb = new StringBuilder(); + private static final String[] paths = { "%s.velvet", "%s.xml", "MPL/%s.velvet", "MPL/%s.xml" }; + + public SimpleVelvetFeatureModelFormat() { + super(); + } + + public SimpleVelvetFeatureModelFormat(AFeatureModelFormat oldFormat) { + super(oldFormat); + } + + @Override + public boolean supportsRead() { + return true; + } + + @Override + public boolean supportsWrite() { + return true; + } + + void collectAttributes(Map attributesMap, FeatureAttributeMap attributes, String type) { + for (final String key : attributes.getKeys()) { + for (final FeatureAttribute attribute : attributes.getAttributes(key)) { + + attributesMap.put(String.format("%s %s = %s;", type, attribute.getAttributeName(), attribute.getValue()), attribute.getFeatureName()); + } + } + } + + @Override + public String write(IFeatureModel object) { + final int depth = 0; + if (object instanceof MultiFeatureModel) { + extFeatureModel = (MultiFeatureModel) object; + } + + final Map attributes = new HashMap<>(); + final FeatureAttributeMap intAttrs = extFeatureModel.getIntegerAttributes(); + // final FeatureAttributeMap floatAttrs = extFeatureModel.getIntegerAttributes(); + final FeatureAttributeMap boolAttrs = extFeatureModel.getBooleanAttributes(); + final FeatureAttributeMap strAttrs = extFeatureModel.getStringAttributes(); + List attributeConstraints = null; + collectAttributes(attributes, intAttrs, "int"); + collectAttributes(attributes, boolAttrs, "bool"); + collectAttributes(attributes, strAttrs, "string"); + + final List constraints = new ArrayList<>(extFeatureModel.getConstraints()); + final IFeatureStructure root = object.getStructure().getRoot(); + sb.delete(0, sb.length()); + sb.append("concept "); + sb.append(root.getFeature().getName()); + sb.append(" {"); + sb.append(NEWLINE); + if (extFeatureModel != null) { + attributeConstraints = extFeatureModel.getAttributConstraints(); + + // find parent by looking where new numbers come from + + for (final Entry attr : attributes.entrySet()) { + if (attr.getValue().equals(root.getFeature().getName())) { + writeTab(depth + 1); + sb.append(attr.getKey()); + sb.append(NEWLINE); + } + } + + for (final IFeatureStructure child : root.getChildren()) { + // writeNewDefined(child, 1); + writeFeature(child, 1, constraints, attributes, attributeConstraints); + } + for (final IConstraint constraint : constraints) { + if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { + writeConstraint(constraint, depth); + } + } + } else { + writeFeatureGroup(root, 1, constraints, attributes, attributeConstraints); + for (final IConstraint constraint : object.getConstraints()) { + writeConstraint(constraint, depth); + } + } + sb.append("}"); + return sb.toString(); + } + + private void writeConstraint(IConstraint constraint, int depth) { + writeTab(depth + 1); + sb.append("constraint "); + final Node constraintNode = ((Implies) constraint.getNode()).getChildren()[1]; + + final Node[] children = ((Equals) constraintNode).getChildren(); + final Node name = children[0]; + final Node value = children[1]; + sb.append(name.toString(SYMBOLS)); + sb.append(" = "); + sb.append(value.toString(SYMBOLS)); + sb.append(";"); + sb.append(NEWLINE); + } + + private void writeFeatureGroup(IFeatureStructure root, int depth, List constraints, Map attributes, + List attributeConstraints) { + if (root.isAnd()) { + for (final IFeatureStructure feature : root.getChildren()) { + writeFeature(feature, depth + 1, constraints, attributes, attributeConstraints); + } + } else if (root.isOr()) { + writeTab(depth + 1); + sb.append("someOf {"); + sb.append(NEWLINE); + for (final IFeatureStructure feature : root.getChildren()) { + writeFeature(feature, depth + 2, constraints, attributes, attributeConstraints); + } + writeTab(depth + 1); + sb.append("}"); + sb.append(NEWLINE); + } else if (root.isAlternative()) { + writeTab(depth + 1); + sb.append("oneOf {"); + sb.append(NEWLINE); + for (final IFeatureStructure f : root.getChildren()) { + writeFeature(f, depth + 2, constraints, attributes, attributeConstraints); + } + writeTab(depth + 1); + sb.append("}"); + sb.append(NEWLINE); + } + } + + private void writeAttributeConstraint(Map attributes, Equation attributeConstraint, String featureName, int depth) { + writeTab(depth + 1); + sb.append("constraint "); + sb.append("ID = "); + final List sortedTerms = attributeConstraint.getWeightedTerms(); + sortedTerms.sort(Comparator.comparing(WeightedTerm::isPositive).reversed()); + boolean first = true; + for (final WeightedTerm term : sortedTerms) { + if (!term.isPositive()) { + sb.append(" - "); + } else if (!first) { + sb.append(" + "); + } + + final String name = term.getReference().getAttributeName(); + if (!name.equals("attributeName")) { + sb.append(name); + + } else { + sb.append(term.getWeight()); + } + first = false; + + } + sb.append(" "); + sb.append(attributeConstraint.getOperator()); + sb.append(" 0;"); + sb.append(NEWLINE); + + } + + private void writeFeature(IFeatureStructure feature, int depth, List constraints, Map attributes, + List attributeConstraints) { + final String featureName = feature.getFeature().getName().toString(); + writeTab(depth); + if (feature.isAbstract()) { + sb.append("abstract "); + } + if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { + sb.append("mandatory "); + } + sb.append("feature "); + sb.append(featureName); + + final String description = feature.getFeature().getProperty().getDescription(); + + final List childConstraints = new ArrayList<>(); + final List childAttributeConstraints = new ArrayList<>(); + + final Iterator iteratorC = constraints.iterator(); + while (iteratorC.hasNext()) { + final IConstraint constraint = iteratorC.next(); + final Node constraintNode = constraint.getNode(); + final Node[] children = ((Implies) constraintNode).getChildren(); + final Node parentFeature = children[0]; + if ((parentFeature.toString().equals(featureName))) { + childConstraints.add(constraint); + iteratorC.remove(); + } + } + + final Iterator iteratorAC = attributeConstraints.iterator(); + while (iteratorAC.hasNext()) { + String parentFeature = null; + final Equation attributeConstraint = iteratorAC.next(); + + for (final WeightedTerm term : attributeConstraint.getWeightedTerms()) { + /* + * go through all terms in equation if there is one, that has a parent which is not present in attributes, we see, that it is equations parent + */ + if (!attributes.containsValue(term.getReference().toString())) { + parentFeature = term.getReference().toString(); + break; + } + } + + if (featureName.equals(parentFeature)) { + childAttributeConstraints.add(attributeConstraint); + iteratorAC.remove(); + } + + } + + final boolean hasDescription = (description != null) && !description.isEmpty(); + final boolean hasConstraints = (childConstraints != null) && !childConstraints.isEmpty(); + final boolean hasAttributeConstraints = (childAttributeConstraints != null) && !childAttributeConstraints.isEmpty(); + final boolean hasAttributes = attributes.containsValue(featureName); + + if ((feature.getChildrenCount() == 0) && !hasDescription && !hasConstraints && !hasAttributes && !hasAttributeConstraints) { + sb.append(";"); + } else { + sb.append(" {"); + sb.append(NEWLINE); + if (hasDescription) { + writeTab(depth + 1); + sb.append("description \""); + sb.append(description.replace("\"", "\\\"")); + sb.append("\";"); + sb.append(NEWLINE); + } + if (hasAttributes) { + for (final Entry attr : attributes.entrySet()) { + if (attr.getValue().equals(featureName)) { + writeTab(depth + 1); + sb.append(attr.getKey()); + sb.append(NEWLINE); + } + } + } + if (hasAttributeConstraints) { + for (final Equation attributeConstraint : childAttributeConstraints) { + + writeAttributeConstraint(attributes, attributeConstraint, featureName, depth); + } + } + if (hasConstraints) { + for (final IConstraint constraint : childConstraints) { + + writeConstraint(constraint, depth); + + } + + } + writeFeatureGroup(feature, depth, constraints, attributes, attributeConstraints); + writeTab(depth); + sb.append("}"); + } + + sb.append(NEWLINE); + } + + private void writeTab(int times) { + for (int i = 0; i < times; i++) { + sb.append('\t'); + } + } + + @Override + public ProblemList read(IFeatureModel object, CharSequence source) { + problemList = new ProblemList(); + factory = MultiFeatureModelFactory.getInstance(); + extFeatureModel = (MultiFeatureModel) object; + if (extFeatureModel != null) { + featureModelFile = extFeatureModel.getSourceFile().toFile(); + } + final ByteArrayInputStream inputstr = new ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); + try { + parseInputStream(inputstr); + } catch (final UnsupportedModelException e) { + problemList.add(new Problem(e, e.lineNumber)); + } + return problemList; + } + + protected synchronized void parseInputStream(final InputStream inputStream) throws UnsupportedModelException { + CharStream charStream = null; + try { + charStream = CharStreams.fromStream(inputStream); + } catch (final IOException e) { + Logger.logError(e); + throw new UnsupportedModelException("Error while reading model!", 0); + } + init(); + final VelvetLexer lexer = new VelvetLexer(charStream); + final CommonTokenStream tokens = new CommonTokenStream(lexer); + final VelvetParser parser = new VelvetParser(tokens); + final VelvetVisitorImpl visitor = new VelvetVisitorImpl(this); + + final ParseTree tree = parser.velvetModel(); + visitor.visit(tree); + } + + /** + * Initializes all variables. + */ + private void init() { + extFeatureModel.reset(); + extFeatureModelName = null; + extFeatureModel.setInterface(false); + + } + + @Override + public String getSuffix() { + return "velvet"; + } + + @Override + public SimpleVelvetFeatureModelFormat getInstance() { + return new SimpleVelvetFeatureModelFormat(this); + } + + @Override + public String getId() { + return ID; + } + + @Override + public boolean initExtension() { + if (super.initExtension()) { + FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(SimpleVelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); + return true; + } + return false; + } + + @Override + public String getName() { + return "Simple Velvet"; + } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.io.IFeatureModelFormat#getName() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getExtFeatureModelName() */ @Override - public String getName() { + public String getExtFeatureModelName() { + return extFeatureModelName; + } + + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getExtFeatureModel() + */ + @Override + public MultiFeatureModel getExtFeatureModel() { + return extFeatureModel; + } + + @Override + public void setExtFeatureModelName(String name) { + extFeatureModelName = name; + + } + + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getFeatureModelFile() + */ + @Override + public File getFeatureModelFile() { // TODO Auto-generated method stub - return null; + return featureModelFile; + } + + @Override + public boolean isVelvetImport() { + return velvetImport; } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.io.IPersistentFormat#getSuffix() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getLocalSearch() */ @Override - public String getSuffix() { + public boolean getLocalSearch() { + return false; + } + + /* + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getIsUsedAsAPI() + */ + @Override + public boolean getIsUsedAsAPI() { // TODO Auto-generated method stub - return null; + return false; + } + + @Override + public String[] getPaths() { + + return paths; } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.IExtension#getId() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getProject() */ @Override - public String getId() { + public IProject getProject() { // TODO Auto-generated method stub return null; } - /* - * public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + SimpleVelvetFeatureModelFormat.class.getSimpleName(); protected Path - * featureModelFile; protected ProblemList problemList; private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", - * "atmost" }; private static final String NEWLINE = System.getProperty("line.separator", "\n"); private final StringBuilder sb = new StringBuilder(); - * public SimpleVelvetFeatureModelFormat() { super(); } public SimpleVelvetFeatureModelFormat(AFeatureModelFormat oldFormat) { super(oldFormat); } - * @Override public boolean supportsRead() { return true; } - * @Override public boolean supportsWrite() { return true; } - * @Override public String write(IFeatureModel object) { if (object instanceof MultiFeatureModel) { extFeatureModel = (MultiFeatureModel) object; } final - * IFeatureStructure root = object.getStructure().getRoot(); sb.delete(0, sb.length()); sb.append("concept "); sb.append(root.getFeature().getName()); - * sb.append(" {"); sb.append(NEWLINE); if (extFeatureModel != null) { for (final IFeatureStructure child : root.getChildren()) { writeNewDefined(child, 1); - * } for (final IConstraint constraint : object.getConstraints()) { if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { - * sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); sb.append(";"); sb.append(NEWLINE); } } } else { writeFeatureGroup(root, - * 1); for (final IConstraint constraint : object.getConstraints()) { sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); - * sb.append(";"); sb.append(NEWLINE); } } sb.append("}"); return sb.toString(); } private void writeFeatureGroup(IFeatureStructure root, int depth) { if - * (root.isAnd()) { for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth + 1); } } else if (root.isOr()) { - * writeTab(depth + 1); sb.append("someOf {"); sb.append(NEWLINE); for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth - * + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); } else if (root.isAlternative()) { writeTab(depth + 1); sb.append("oneOf {"); - * sb.append(NEWLINE); for (final IFeatureStructure f : root.getChildren()) { writeFeature(f, depth + 2); } writeTab(depth + 1); sb.append("}"); - * sb.append(NEWLINE); } } private void writeFeature(IFeatureStructure feature, int depth) { writeTab(depth); if (feature.isAbstract()) { - * sb.append("abstract "); } if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { sb.append("mandatory "); } - * sb.append("feature "); sb.append(feature.getFeature().getName()); final String description = feature.getFeature().getProperty().getDescription(); final - * boolean hasDescription = (description != null) && !description.isEmpty(); if ((feature.getChildrenCount() == 0) && !hasDescription) { sb.append(";"); } - * else { sb.append(" {"); sb.append(NEWLINE); if (hasDescription) { writeTab(depth + 1); sb.append("description \""); sb.append(description.replace("\"", - * "\\\"")); sb.append("\";"); sb.append(NEWLINE); } writeFeatureGroup(feature, depth); writeTab(depth); sb.append("}"); } sb.append(NEWLINE); } private - * void writeNewDefined(IFeatureStructure child2, int depth) { writeFeature(child2, 1); for (final IFeatureStructure child : child2.getChildren()) { - * writeNewDefined(child, depth); } } private void writeTab(int times) { for (int i = 0; i < times; i++) { sb.append('\t'); } } - * @Override public ProblemList read(IFeatureModel object, CharSequence source) { problemList = new ProblemList(); factory = - * MultiFeatureModelFactory.getInstance(); extFeatureModel = (MultiFeatureModel) object; if (extFeatureModel != null) { featureModelFile = - * extFeatureModel.getSourceFile(); } final ByteArrayInputStream inputstr = new - * ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); try { parseInputStream(inputstr); } catch (final - * UnsupportedModelException e) { problemList.add(new Problem(e, e.lineNumber)); } return problemList; } private static class ConstraintNode { private final - * Node computedNode; private final Tree rawNode; public ConstraintNode(Node computedNode, Tree rawNode) { this.computedNode = computedNode; this.rawNode = - * rawNode; } } private static final int[] binaryOperators = { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, - * VelvetParser.OP_EQUIVALENT }; private final LinkedList atrributeConstraintNodes = new LinkedList<>(); private final LinkedList - * parentStack = new LinkedList<>(); private final LinkedList constraintNodeList = new LinkedList<>(); private final HashSet - * usedVariables = new HashSet<>(); private final boolean velvetImport = false; private MultiFeatureModel extFeatureModel; private String - * extFeatureModelName; private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference reference) { - * boolean positive = weight >= 0; if (rightSide ^ minus) { positive = !positive; } return new WeightedTerm(Math.abs(weight), positive, reference); } - * private static LinkedList getChildren(final Tree root) { final LinkedList children = new LinkedList<>(); final int childCount = - * root.getChildCount(); for (int i = 0; i < childCount; i++) { children.add(root.getChild(i)); } return children; } protected synchronized void - * parseInputStream(final InputStream inputStream) throws UnsupportedModelException { CharStream charStream = null; try { charStream = - * CharStreams.fromStream(inputStream); } catch (final IOException e) { Logger.logError(e); throw new - * UnsupportedModelException("Error while reading model!", 0); } final VelvetLexer lexer = new VelvetLexer(charStream); final CommonTokenStream tokens = new - * CommonTokenStream(lexer); final VelvetParser parser = new VelvetParser(tokens); final ParseTree root = parser.velvetModel(); init(); parseModel(root); - * parseAttributeConstraints(); } private MultiFeature addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean - * isAbstract, final boolean isHidden) { final MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); - * newFeature.getStructure().setMandatory(isMandatory); newFeature.getStructure().setAbstract(isAbstract); newFeature.getStructure().setHidden(isHidden); - * final IFeature orgFeature = extFeatureModel.getFeature(featureName); if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { return - * (MultiFeature) orgFeature; } else { extFeatureModel.addFeature(newFeature); parent.getStructure().addChild(newFeature.getStructure()); - * newFeature.setNewDefined(true); return newFeature; } } private String checkNode(Node curNode) { if (curNode instanceof Literal) { final Literal literal = - * (Literal) curNode; final String varString = literal.var.toString(); if (extFeatureModel.getFeature(varString) == null) { return literal.var.toString(); } - * } else { for (final Node child : curNode.getChildren()) { final String childRet = checkNode(child); if (childRet != null) { return childRet; } } } return - * null; } - *//** - * Initializes all variables. - *//* - * private void init() { atrributeConstraintNodes.clear(); parentStack.clear(); constraintNodeList.clear(); usedVariables.clear(); - * extFeatureModel.reset(); extFeatureModelName = null; extFeatureModel.setInterface(false); } private void parseAttribute(final Tree root, final - * IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final Tree valueNode = nodeList.poll(); - * switch (valueNode.getType()) { case VelvetParser.FLOAT: break; case VelvetParser.INT: extFeatureModel.addAttribute(parent.getName(), name, - * Integer.parseInt(valueNode.getText())); break; case VelvetParser.BOOLEAN: extFeatureModel.addAttribute(parent.getName(), name, - * Boolean.parseBoolean(valueNode.getText())); break; case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); - * extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - 1)); break; default: - * reportSyntaxError(valueNode); } } private void parseAttributeConstraints() throws UnsupportedModelException, RecognitionException { while - * (!atrributeConstraintNodes.isEmpty()) { final LinkedList nodeList = getChildren(atrributeConstraintNodes.poll()); final - * LinkedList weightedTerms = new LinkedList<>(); RelationOperator relationOperator = null; boolean minus = false; int degree = 0; - * while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: case VelvetParser.IDPath: - * final String attributeName = curNode.getText(); final Collection> attributes = - * extFeatureModel.getIntegerAttributes().getAttributes(attributeName); if (attributes == null) { throw new - * UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, curNode.getLine()); } for - * (final FeatureAttribute attr : attributes) { weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, new - * Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); } break; // case VelvetParser.FLOAT: // break; case VelvetParser.INT: - * final int value = Integer.parseInt(curNode.getText()); if ((relationOperator == null) ^ minus) { degree -= value; } else { degree += value; } - * break; case VelvetParser.PLUS: minus = false; break; case VelvetParser.MINUS: minus = true; break; case VelvetParser.ATTR_OP_EQUALS: - * relationOperator = RelationOperator.EQUAL; break; case VelvetParser.ATTR_OP_NOT_EQUALS: relationOperator = RelationOperator.NOT_EQUAL; break; - * case VelvetParser.ATTR_OP_GREATER: relationOperator = RelationOperator.GREATER; break; case VelvetParser.ATTR_OP_GREATER_EQ: relationOperator = - * RelationOperator.GREATER_EQUAL; break; case VelvetParser.ATTR_OP_LESS: relationOperator = RelationOperator.LESS; break; case - * VelvetParser.ATTR_OP_LESS_EQ: relationOperator = RelationOperator.LESS_EQUAL; break; default: reportSyntaxError(curNode); } } final Equation - * equation = new Equation(weightedTerms, relationOperator, degree); extFeatureModel.addAttributeConstraint(equation); } } private void - * parseConcept(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { - * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: extFeatureModelName = checkTree(curNode).getText(); - * final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); - * rootFeature.getStructure().setAbstract(true); rootFeature.getStructure().setMandatory(true); extFeatureModel.addFeature(rootFeature); - * extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); parentStack.push(rootFeature); break; case VelvetParser.BASEEXT: - * reportWarning(curNode, "Inheritance are not supported."); break; case VelvetParser.IMPORTINSTANCE: reportWarning(curNode, - * "Instances are not supported."); break; case VelvetParser.IMPORTINTERFACE: reportWarning(curNode, "Interfaces are not supported."); break; case - * VelvetParser.DEF: parseDefinitions(curNode); break; default: reportSyntaxError(curNode); } } for (final ConstraintNode constraintNode : - * constraintNodeList) { final String nameError = checkNode(constraintNode.computedNode); if (nameError == null) { - * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } else { - * reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); } } } private void parseConstraint(final Tree - * root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { - * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: // name = curNode.getText(); break; case - * VelvetParser.CONSTR: Node newNode = parseConstraint_rec(curNode); newNode = new Implies(new Literal(parent.getName()), newNode); - * constraintNodeList.add(new ConstraintNode(newNode, curNode)); break; case VelvetParser.ACONSTR: atrributeConstraintNodes.add(curNode); break; - * default: reportSyntaxError(curNode); } } } private Node parseConstraint_rec(final Tree root) throws RecognitionException { final LinkedList - * nodeList = getChildren(root); final LinkedList nodes = new LinkedList<>(); final LinkedList operators = new LinkedList<>(); final - * LinkedList unaryOp = new LinkedList<>(); Node n = null; while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch - * (curNode.getType()) { case VelvetParser.UNARYOP: unaryOp.push(curNode.getChild(0).getType()); break; case VelvetParser.CONSTR: n = - * parseConstraint_rec(curNode); break; case VelvetParser.OPERAND: n = new Literal(curNode.getChild(0).getText()); break; default: - * operators.add(curNode.getType()); } if (n != null) { while (!unaryOp.isEmpty()) { switch (unaryOp.pop()) { case VelvetParser.OP_NOT: n = new - * Not(n); } } nodes.add(n); n = null; } } if (!operators.isEmpty()) { for (final int operator : binaryOperators) { final ListIterator nodesIt - * = nodes.listIterator(); for (final ListIterator opIt = operators.listIterator(); opIt.hasNext();) { final Node operand1 = - * nodesIt.next(); if (opIt.next() == operator) { opIt.remove(); nodesIt.remove(); final Node operand2 = nodesIt.next(); switch (operator) { case - * VelvetParser.OP_AND: nodesIt.set(new And(operand1, operand2)); break; case VelvetParser.OP_OR: nodesIt.set(new Or(operand1, operand2)); break; - * case VelvetParser.OP_XOR: nodesIt.set(new Choose(1, operand1, operand2)); break; case VelvetParser.OP_IMPLIES: nodesIt.set(new Implies(operand1, - * operand2)); break; case VelvetParser.OP_EQUIVALENT: nodesIt.set(new Equals(operand1, operand2)); break; } nodesIt.previous(); } } } } if - * (nodes.isEmpty()) { return null; } return nodes.getFirst(); } private void parseDefinitions(final Tree root) throws RecognitionException { final - * LinkedList nodeList = getChildren(root); final IFeature parentFeature = parentStack.pop(); parentFeature.getStructure().setAnd(); while - * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { // Feature case VelvetParser.FEATURE: - * parseFeature(curNode, parentFeature); break; // Feature-Group case VelvetParser.GROUP: parseFeatureGroup(curNode, parentFeature); break; // - * Constraint case VelvetParser.CONSTRAINT: parseConstraint(curNode, parentFeature); break; // Use case VelvetParser.USE: parseUse(curNode, - * parentFeature); break; // Attribute case VelvetParser.ATTR: parseAttribute(curNode, parentFeature); break; case VelvetParser.DESCRIPTION: - * parseDescription(curNode, parentFeature); break; case VelvetParser.EMPTY: break; default: reportSyntaxError(curNode); } } } private void - * parseDescription(Tree root, IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final Tree - * valueNode = nodeList.poll(); switch (valueNode.getType()) { case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); - * parent.getProperty().setDescription(valueNodeText.substring(1, valueNodeText.length() - 1).replace("\\\"", "\"")); break; default: - * reportSyntaxError(valueNode); } } private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { final - * LinkedList childList = getChildren(root); final String featureName; if (extFeatureModel.isInterface()) { featureName = - * checkTree(childList.poll()).getText(); } else { if (velvetImport || parent.getStructure().isRoot()) { featureName = - * checkTree(childList.poll()).getText(); } else { featureName = parent.getName() + "." + checkTree(childList.poll()).getText(); } } boolean - * isMandatory = false, isAbstract = false, moreDefinitions = false; Tree childNode = null; while (!childList.isEmpty() && !moreDefinitions) { - * childNode = childList.poll(); switch (childNode.getType()) { case VelvetParser.MANDATORY: isMandatory = true; break; case VelvetParser.ABSTRACT: - * isAbstract = true; break; case VelvetParser.DEF: moreDefinitions = true; break; default: reportSyntaxError(childNode); } } if ((validator != - * null) && !validator.isValidFeatureName(featureName)) { problemList.add(new Problem(featureName + " is not a valid feature name", root.getLine(), - * de.ovgu.featureide.fm.core.io.Problem.Severity.ERROR)); } final MultiFeature newFeature = addFeature(parent, featureName, isMandatory, - * isAbstract, false); if (moreDefinitions) { parentStack.push(newFeature); parseDefinitions(childNode); } } private void parseFeatureGroup(final - * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) - * { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.SOMEOF: parent.getStructure().setOr(); break; case - * VelvetParser.ONEOF: parent.getStructure().setAlternative(); break; case VelvetParser.FEATURE: parseFeature(curNode, parent); break; default: - * reportSyntaxError(curNode); } } } private void parseModel(final Tree root) throws RecognitionException { final LinkedList nodeList = - * getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.CONCEPT: - * parseConcept(curNode); break; case VelvetParser.CINTERFACE: extFeatureModel.setInterface(true); parseConcept(curNode); break; case - * VelvetParser.EOF: if (curNode.getTokenStartIndex() > -1) { break; } default: reportSyntaxError(curNode); } } } private void parseUse(Tree root, - * IFeature parent) throws RecognitionException { reportWarning(root, "USE is not supported."); } private void reportWarning(Tree curNode, String - * message) { Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + featureModelFile.getFileName() - * : "") + ": \"" + curNode.getText() + "\")"); } - * @Override public String getSuffix() { return "velvet"; } - * @Override public SimpleVelvetFeatureModelFormat getInstance() { return new SimpleVelvetFeatureModelFormat(this); } - * @Override public String getId() { return ID; } - * @Override public boolean initExtension() { if (super.initExtension()) { - * FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(SimpleVelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); return - * true; } return false; } - * @Override public String getName() { return "Simple Velevet"; } - */ - } diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp index 78f6ed33e9..f1cc3fee50 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/Velvet.interp @@ -140,7 +140,7 @@ constraintDefinition constraintOperand attribute attributeConstraint -attribConstraint +attribNumExpr attribOperator attribNumInstance intAttribute @@ -153,4 +153,4 @@ attribRelation atn: -[4, 1, 57, 302, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 3, 0, 64, 8, 0, 1, 0, 1, 0, 3, 0, 68, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 76, 8, 1, 11, 1, 12, 1, 77, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 84, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 94, 8, 2, 1, 2, 3, 2, 97, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 103, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 5, 4, 110, 8, 4, 10, 4, 12, 4, 113, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 121, 8, 5, 10, 5, 12, 5, 124, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 132, 8, 6, 10, 6, 12, 6, 135, 9, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 5, 9, 144, 8, 9, 10, 9, 12, 9, 147, 9, 9, 1, 9, 1, 9, 5, 9, 151, 8, 9, 10, 9, 12, 9, 154, 9, 9, 1, 9, 1, 9, 1, 9, 5, 9, 159, 8, 9, 10, 9, 12, 9, 162, 9, 9, 3, 9, 164, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 170, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 182, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 188, 8, 12, 1, 13, 1, 13, 1, 13, 4, 13, 193, 8, 13, 11, 13, 12, 13, 194, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 211, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 219, 8, 17, 10, 17, 12, 17, 222, 9, 17, 1, 18, 5, 18, 225, 8, 18, 10, 18, 12, 18, 228, 9, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 235, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 241, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 251, 8, 21, 10, 21, 12, 21, 254, 9, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 261, 8, 21, 10, 21, 12, 21, 264, 9, 21, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 270, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 276, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 282, 8, 25, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 288, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 294, 8, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 0, 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 5, 1, 0, 50, 51, 1, 0, 4, 5, 1, 0, 26, 27, 1, 0, 29, 33, 2, 0, 34, 34, 38, 39, 312, 0, 63, 1, 0, 0, 0, 2, 75, 1, 0, 0, 0, 4, 79, 1, 0, 0, 0, 6, 98, 1, 0, 0, 0, 8, 106, 1, 0, 0, 0, 10, 114, 1, 0, 0, 0, 12, 125, 1, 0, 0, 0, 14, 136, 1, 0, 0, 0, 16, 138, 1, 0, 0, 0, 18, 145, 1, 0, 0, 0, 20, 169, 1, 0, 0, 0, 22, 171, 1, 0, 0, 0, 24, 181, 1, 0, 0, 0, 26, 189, 1, 0, 0, 0, 28, 198, 1, 0, 0, 0, 30, 200, 1, 0, 0, 0, 32, 204, 1, 0, 0, 0, 34, 214, 1, 0, 0, 0, 36, 226, 1, 0, 0, 0, 38, 240, 1, 0, 0, 0, 40, 244, 1, 0, 0, 0, 42, 246, 1, 0, 0, 0, 44, 265, 1, 0, 0, 0, 46, 269, 1, 0, 0, 0, 48, 271, 1, 0, 0, 0, 50, 277, 1, 0, 0, 0, 52, 283, 1, 0, 0, 0, 54, 289, 1, 0, 0, 0, 56, 295, 1, 0, 0, 0, 58, 297, 1, 0, 0, 0, 60, 299, 1, 0, 0, 0, 62, 64, 3, 2, 1, 0, 63, 62, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 68, 3, 4, 2, 0, 66, 68, 3, 6, 3, 0, 67, 65, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 5, 0, 0, 1, 70, 1, 1, 0, 0, 0, 71, 72, 5, 1, 0, 0, 72, 73, 3, 14, 7, 0, 73, 74, 5, 18, 0, 0, 74, 76, 1, 0, 0, 0, 75, 71, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 3, 1, 0, 0, 0, 79, 80, 5, 6, 0, 0, 80, 83, 5, 50, 0, 0, 81, 82, 5, 25, 0, 0, 82, 84, 3, 8, 4, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 93, 1, 0, 0, 0, 85, 86, 3, 10, 5, 0, 86, 87, 3, 12, 6, 0, 87, 94, 1, 0, 0, 0, 88, 89, 3, 12, 6, 0, 89, 90, 3, 10, 5, 0, 90, 94, 1, 0, 0, 0, 91, 94, 3, 12, 6, 0, 92, 94, 3, 10, 5, 0, 93, 85, 1, 0, 0, 0, 93, 88, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 92, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 97, 3, 16, 8, 0, 96, 95, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 5, 1, 0, 0, 0, 98, 99, 5, 7, 0, 0, 99, 102, 5, 50, 0, 0, 100, 101, 5, 25, 0, 0, 101, 103, 3, 8, 4, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 3, 16, 8, 0, 105, 7, 1, 0, 0, 0, 106, 111, 5, 50, 0, 0, 107, 108, 5, 24, 0, 0, 108, 110, 5, 50, 0, 0, 109, 107, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 115, 5, 11, 0, 0, 115, 116, 5, 50, 0, 0, 116, 122, 3, 14, 7, 0, 117, 118, 5, 24, 0, 0, 118, 119, 5, 50, 0, 0, 119, 121, 3, 14, 7, 0, 120, 117, 1, 0, 0, 0, 121, 124, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 11, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 125, 126, 5, 12, 0, 0, 126, 127, 5, 50, 0, 0, 127, 133, 3, 14, 7, 0, 128, 129, 5, 24, 0, 0, 129, 130, 5, 50, 0, 0, 130, 132, 3, 14, 7, 0, 131, 128, 1, 0, 0, 0, 132, 135, 1, 0, 0, 0, 133, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 13, 1, 0, 0, 0, 135, 133, 1, 0, 0, 0, 136, 137, 7, 0, 0, 0, 137, 15, 1, 0, 0, 0, 138, 139, 5, 19, 0, 0, 139, 140, 3, 18, 9, 0, 140, 141, 5, 20, 0, 0, 141, 17, 1, 0, 0, 0, 142, 144, 3, 20, 10, 0, 143, 142, 1, 0, 0, 0, 144, 147, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 163, 1, 0, 0, 0, 147, 145, 1, 0, 0, 0, 148, 152, 3, 26, 13, 0, 149, 151, 3, 20, 10, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 164, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 160, 3, 24, 12, 0, 156, 159, 3, 24, 12, 0, 157, 159, 3, 20, 10, 0, 158, 156, 1, 0, 0, 0, 158, 157, 1, 0, 0, 0, 159, 162, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 164, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 163, 148, 1, 0, 0, 0, 163, 155, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 19, 1, 0, 0, 0, 165, 170, 3, 32, 16, 0, 166, 170, 3, 22, 11, 0, 167, 170, 3, 38, 19, 0, 168, 170, 3, 30, 15, 0, 169, 165, 1, 0, 0, 0, 169, 166, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 169, 168, 1, 0, 0, 0, 170, 21, 1, 0, 0, 0, 171, 172, 5, 10, 0, 0, 172, 173, 3, 14, 7, 0, 173, 174, 5, 18, 0, 0, 174, 23, 1, 0, 0, 0, 175, 176, 5, 2, 0, 0, 176, 182, 5, 3, 0, 0, 177, 178, 5, 3, 0, 0, 178, 182, 5, 2, 0, 0, 179, 182, 5, 2, 0, 0, 180, 182, 5, 3, 0, 0, 181, 175, 1, 0, 0, 0, 181, 177, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 5, 9, 0, 0, 184, 187, 3, 14, 7, 0, 185, 188, 3, 16, 8, 0, 186, 188, 5, 18, 0, 0, 187, 185, 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 25, 1, 0, 0, 0, 189, 190, 3, 28, 14, 0, 190, 192, 5, 19, 0, 0, 191, 193, 3, 24, 12, 0, 192, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 5, 20, 0, 0, 197, 27, 1, 0, 0, 0, 198, 199, 7, 1, 0, 0, 199, 29, 1, 0, 0, 0, 200, 201, 5, 13, 0, 0, 201, 202, 5, 54, 0, 0, 202, 203, 5, 18, 0, 0, 203, 31, 1, 0, 0, 0, 204, 205, 5, 8, 0, 0, 205, 206, 5, 50, 0, 0, 206, 207, 5, 23, 0, 0, 207, 210, 1, 0, 0, 0, 208, 211, 3, 34, 17, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 210, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 5, 18, 0, 0, 213, 33, 1, 0, 0, 0, 214, 220, 3, 36, 18, 0, 215, 216, 3, 58, 29, 0, 216, 217, 3, 36, 18, 0, 217, 219, 1, 0, 0, 0, 218, 215, 1, 0, 0, 0, 219, 222, 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 35, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 223, 225, 3, 56, 28, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 234, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 5, 21, 0, 0, 230, 231, 3, 34, 17, 0, 231, 232, 5, 22, 0, 0, 232, 235, 1, 0, 0, 0, 233, 235, 3, 14, 7, 0, 234, 229, 1, 0, 0, 0, 234, 233, 1, 0, 0, 0, 235, 37, 1, 0, 0, 0, 236, 241, 3, 48, 24, 0, 237, 241, 3, 50, 25, 0, 238, 241, 3, 52, 26, 0, 239, 241, 3, 54, 27, 0, 240, 236, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 239, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 5, 18, 0, 0, 243, 39, 1, 0, 0, 0, 244, 245, 3, 42, 21, 0, 245, 41, 1, 0, 0, 0, 246, 252, 3, 46, 23, 0, 247, 248, 3, 44, 22, 0, 248, 249, 3, 46, 23, 0, 249, 251, 1, 0, 0, 0, 250, 247, 1, 0, 0, 0, 251, 254, 1, 0, 0, 0, 252, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 255, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 255, 256, 3, 60, 30, 0, 256, 262, 3, 46, 23, 0, 257, 258, 3, 44, 22, 0, 258, 259, 3, 46, 23, 0, 259, 261, 1, 0, 0, 0, 260, 257, 1, 0, 0, 0, 261, 264, 1, 0, 0, 0, 262, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 43, 1, 0, 0, 0, 264, 262, 1, 0, 0, 0, 265, 266, 7, 2, 0, 0, 266, 45, 1, 0, 0, 0, 267, 270, 5, 52, 0, 0, 268, 270, 3, 14, 7, 0, 269, 267, 1, 0, 0, 0, 269, 268, 1, 0, 0, 0, 270, 47, 1, 0, 0, 0, 271, 272, 5, 14, 0, 0, 272, 275, 3, 14, 7, 0, 273, 274, 5, 23, 0, 0, 274, 276, 5, 52, 0, 0, 275, 273, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 49, 1, 0, 0, 0, 277, 278, 5, 15, 0, 0, 278, 281, 3, 14, 7, 0, 279, 280, 5, 23, 0, 0, 280, 282, 5, 53, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 51, 1, 0, 0, 0, 283, 284, 5, 16, 0, 0, 284, 287, 3, 14, 7, 0, 285, 286, 5, 23, 0, 0, 286, 288, 5, 54, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 53, 1, 0, 0, 0, 289, 290, 5, 17, 0, 0, 290, 293, 3, 14, 7, 0, 291, 292, 5, 23, 0, 0, 292, 294, 5, 49, 0, 0, 293, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 55, 1, 0, 0, 0, 295, 296, 5, 28, 0, 0, 296, 57, 1, 0, 0, 0, 297, 298, 7, 3, 0, 0, 298, 59, 1, 0, 0, 0, 299, 300, 7, 4, 0, 0, 300, 61, 1, 0, 0, 0, 31, 63, 67, 77, 83, 93, 96, 102, 111, 122, 133, 145, 152, 158, 160, 163, 169, 181, 187, 194, 210, 220, 226, 234, 240, 252, 262, 269, 275, 281, 287, 293] \ No newline at end of file +[4, 1, 57, 294, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 3, 0, 64, 8, 0, 1, 0, 1, 0, 3, 0, 68, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 76, 8, 1, 11, 1, 12, 1, 77, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 84, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 94, 8, 2, 1, 2, 3, 2, 97, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 103, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 5, 4, 110, 8, 4, 10, 4, 12, 4, 113, 9, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 121, 8, 5, 10, 5, 12, 5, 124, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 132, 8, 6, 10, 6, 12, 6, 135, 9, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 5, 9, 144, 8, 9, 10, 9, 12, 9, 147, 9, 9, 1, 9, 1, 9, 5, 9, 151, 8, 9, 10, 9, 12, 9, 154, 9, 9, 1, 9, 1, 9, 1, 9, 5, 9, 159, 8, 9, 10, 9, 12, 9, 162, 9, 9, 3, 9, 164, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 170, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 182, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 188, 8, 12, 1, 13, 1, 13, 1, 13, 4, 13, 193, 8, 13, 11, 13, 12, 13, 194, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 211, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 219, 8, 17, 10, 17, 12, 17, 222, 9, 17, 1, 18, 5, 18, 225, 8, 18, 10, 18, 12, 18, 228, 9, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 235, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 241, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 253, 8, 21, 10, 21, 12, 21, 256, 9, 21, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 262, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 268, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 274, 8, 25, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 280, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 286, 8, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 0, 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 5, 1, 0, 50, 51, 1, 0, 4, 5, 1, 0, 26, 27, 1, 0, 29, 33, 2, 0, 34, 34, 38, 39, 303, 0, 63, 1, 0, 0, 0, 2, 75, 1, 0, 0, 0, 4, 79, 1, 0, 0, 0, 6, 98, 1, 0, 0, 0, 8, 106, 1, 0, 0, 0, 10, 114, 1, 0, 0, 0, 12, 125, 1, 0, 0, 0, 14, 136, 1, 0, 0, 0, 16, 138, 1, 0, 0, 0, 18, 145, 1, 0, 0, 0, 20, 169, 1, 0, 0, 0, 22, 171, 1, 0, 0, 0, 24, 181, 1, 0, 0, 0, 26, 189, 1, 0, 0, 0, 28, 198, 1, 0, 0, 0, 30, 200, 1, 0, 0, 0, 32, 204, 1, 0, 0, 0, 34, 214, 1, 0, 0, 0, 36, 226, 1, 0, 0, 0, 38, 240, 1, 0, 0, 0, 40, 244, 1, 0, 0, 0, 42, 248, 1, 0, 0, 0, 44, 257, 1, 0, 0, 0, 46, 261, 1, 0, 0, 0, 48, 263, 1, 0, 0, 0, 50, 269, 1, 0, 0, 0, 52, 275, 1, 0, 0, 0, 54, 281, 1, 0, 0, 0, 56, 287, 1, 0, 0, 0, 58, 289, 1, 0, 0, 0, 60, 291, 1, 0, 0, 0, 62, 64, 3, 2, 1, 0, 63, 62, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 68, 3, 4, 2, 0, 66, 68, 3, 6, 3, 0, 67, 65, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 5, 0, 0, 1, 70, 1, 1, 0, 0, 0, 71, 72, 5, 1, 0, 0, 72, 73, 3, 14, 7, 0, 73, 74, 5, 18, 0, 0, 74, 76, 1, 0, 0, 0, 75, 71, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 3, 1, 0, 0, 0, 79, 80, 5, 6, 0, 0, 80, 83, 5, 50, 0, 0, 81, 82, 5, 25, 0, 0, 82, 84, 3, 8, 4, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 93, 1, 0, 0, 0, 85, 86, 3, 10, 5, 0, 86, 87, 3, 12, 6, 0, 87, 94, 1, 0, 0, 0, 88, 89, 3, 12, 6, 0, 89, 90, 3, 10, 5, 0, 90, 94, 1, 0, 0, 0, 91, 94, 3, 12, 6, 0, 92, 94, 3, 10, 5, 0, 93, 85, 1, 0, 0, 0, 93, 88, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 92, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 97, 3, 16, 8, 0, 96, 95, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 5, 1, 0, 0, 0, 98, 99, 5, 7, 0, 0, 99, 102, 5, 50, 0, 0, 100, 101, 5, 25, 0, 0, 101, 103, 3, 8, 4, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 3, 16, 8, 0, 105, 7, 1, 0, 0, 0, 106, 111, 5, 50, 0, 0, 107, 108, 5, 24, 0, 0, 108, 110, 5, 50, 0, 0, 109, 107, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 9, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 115, 5, 11, 0, 0, 115, 116, 5, 50, 0, 0, 116, 122, 3, 14, 7, 0, 117, 118, 5, 24, 0, 0, 118, 119, 5, 50, 0, 0, 119, 121, 3, 14, 7, 0, 120, 117, 1, 0, 0, 0, 121, 124, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 11, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 125, 126, 5, 12, 0, 0, 126, 127, 5, 50, 0, 0, 127, 133, 3, 14, 7, 0, 128, 129, 5, 24, 0, 0, 129, 130, 5, 50, 0, 0, 130, 132, 3, 14, 7, 0, 131, 128, 1, 0, 0, 0, 132, 135, 1, 0, 0, 0, 133, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 13, 1, 0, 0, 0, 135, 133, 1, 0, 0, 0, 136, 137, 7, 0, 0, 0, 137, 15, 1, 0, 0, 0, 138, 139, 5, 19, 0, 0, 139, 140, 3, 18, 9, 0, 140, 141, 5, 20, 0, 0, 141, 17, 1, 0, 0, 0, 142, 144, 3, 20, 10, 0, 143, 142, 1, 0, 0, 0, 144, 147, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 163, 1, 0, 0, 0, 147, 145, 1, 0, 0, 0, 148, 152, 3, 26, 13, 0, 149, 151, 3, 20, 10, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 164, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 160, 3, 24, 12, 0, 156, 159, 3, 24, 12, 0, 157, 159, 3, 20, 10, 0, 158, 156, 1, 0, 0, 0, 158, 157, 1, 0, 0, 0, 159, 162, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 164, 1, 0, 0, 0, 162, 160, 1, 0, 0, 0, 163, 148, 1, 0, 0, 0, 163, 155, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 19, 1, 0, 0, 0, 165, 170, 3, 32, 16, 0, 166, 170, 3, 22, 11, 0, 167, 170, 3, 38, 19, 0, 168, 170, 3, 30, 15, 0, 169, 165, 1, 0, 0, 0, 169, 166, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 169, 168, 1, 0, 0, 0, 170, 21, 1, 0, 0, 0, 171, 172, 5, 10, 0, 0, 172, 173, 3, 14, 7, 0, 173, 174, 5, 18, 0, 0, 174, 23, 1, 0, 0, 0, 175, 176, 5, 2, 0, 0, 176, 182, 5, 3, 0, 0, 177, 178, 5, 3, 0, 0, 178, 182, 5, 2, 0, 0, 179, 182, 5, 2, 0, 0, 180, 182, 5, 3, 0, 0, 181, 175, 1, 0, 0, 0, 181, 177, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 5, 9, 0, 0, 184, 187, 3, 14, 7, 0, 185, 188, 3, 16, 8, 0, 186, 188, 5, 18, 0, 0, 187, 185, 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 25, 1, 0, 0, 0, 189, 190, 3, 28, 14, 0, 190, 192, 5, 19, 0, 0, 191, 193, 3, 24, 12, 0, 192, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 5, 20, 0, 0, 197, 27, 1, 0, 0, 0, 198, 199, 7, 1, 0, 0, 199, 29, 1, 0, 0, 0, 200, 201, 5, 13, 0, 0, 201, 202, 5, 54, 0, 0, 202, 203, 5, 18, 0, 0, 203, 31, 1, 0, 0, 0, 204, 205, 5, 8, 0, 0, 205, 206, 5, 50, 0, 0, 206, 207, 5, 23, 0, 0, 207, 210, 1, 0, 0, 0, 208, 211, 3, 34, 17, 0, 209, 211, 3, 40, 20, 0, 210, 208, 1, 0, 0, 0, 210, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 5, 18, 0, 0, 213, 33, 1, 0, 0, 0, 214, 220, 3, 36, 18, 0, 215, 216, 3, 58, 29, 0, 216, 217, 3, 36, 18, 0, 217, 219, 1, 0, 0, 0, 218, 215, 1, 0, 0, 0, 219, 222, 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 35, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 223, 225, 3, 56, 28, 0, 224, 223, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 234, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 5, 21, 0, 0, 230, 231, 3, 34, 17, 0, 231, 232, 5, 22, 0, 0, 232, 235, 1, 0, 0, 0, 233, 235, 3, 14, 7, 0, 234, 229, 1, 0, 0, 0, 234, 233, 1, 0, 0, 0, 235, 37, 1, 0, 0, 0, 236, 241, 3, 48, 24, 0, 237, 241, 3, 50, 25, 0, 238, 241, 3, 52, 26, 0, 239, 241, 3, 54, 27, 0, 240, 236, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 239, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 5, 18, 0, 0, 243, 39, 1, 0, 0, 0, 244, 245, 3, 42, 21, 0, 245, 246, 3, 60, 30, 0, 246, 247, 3, 42, 21, 0, 247, 41, 1, 0, 0, 0, 248, 254, 3, 46, 23, 0, 249, 250, 3, 44, 22, 0, 250, 251, 3, 46, 23, 0, 251, 253, 1, 0, 0, 0, 252, 249, 1, 0, 0, 0, 253, 256, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 43, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 257, 258, 7, 2, 0, 0, 258, 45, 1, 0, 0, 0, 259, 262, 5, 52, 0, 0, 260, 262, 3, 14, 7, 0, 261, 259, 1, 0, 0, 0, 261, 260, 1, 0, 0, 0, 262, 47, 1, 0, 0, 0, 263, 264, 5, 14, 0, 0, 264, 267, 3, 14, 7, 0, 265, 266, 5, 23, 0, 0, 266, 268, 5, 52, 0, 0, 267, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 49, 1, 0, 0, 0, 269, 270, 5, 15, 0, 0, 270, 273, 3, 14, 7, 0, 271, 272, 5, 23, 0, 0, 272, 274, 5, 53, 0, 0, 273, 271, 1, 0, 0, 0, 273, 274, 1, 0, 0, 0, 274, 51, 1, 0, 0, 0, 275, 276, 5, 16, 0, 0, 276, 279, 3, 14, 7, 0, 277, 278, 5, 23, 0, 0, 278, 280, 5, 54, 0, 0, 279, 277, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 53, 1, 0, 0, 0, 281, 282, 5, 17, 0, 0, 282, 285, 3, 14, 7, 0, 283, 284, 5, 23, 0, 0, 284, 286, 5, 49, 0, 0, 285, 283, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 55, 1, 0, 0, 0, 287, 288, 5, 28, 0, 0, 288, 57, 1, 0, 0, 0, 289, 290, 7, 3, 0, 0, 290, 59, 1, 0, 0, 0, 291, 292, 7, 4, 0, 0, 292, 61, 1, 0, 0, 0, 30, 63, 67, 77, 83, 93, 96, 102, 111, 122, 133, 145, 152, 158, 160, 163, 169, 181, 187, 194, 210, 220, 226, 234, 240, 254, 261, 267, 273, 279, 285] \ No newline at end of file diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java index 5379ec18c4..47c1411446 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseListener.java @@ -272,13 +272,13 @@ public class VelvetBaseListener implements VelvetListener { * *

The default implementation does nothing.

*/ - @Override public void enterAttribConstraint(VelvetParser.AttribConstraintContext ctx) { } + @Override public void enterAttribNumExpr(VelvetParser.AttribNumExprContext ctx) { } /** * {@inheritDoc} * *

The default implementation does nothing.

*/ - @Override public void exitAttribConstraint(VelvetParser.AttribConstraintContext ctx) { } + @Override public void exitAttribNumExpr(VelvetParser.AttribNumExprContext ctx) { } /** * {@inheritDoc} * diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java index 0dbc3620e0..fb0b640bb3 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetBaseVisitor.java @@ -168,7 +168,7 @@ public class VelvetBaseVisitor extends AbstractParseTreeVisitor implements *

The default implementation returns the result of calling * {@link #visitChildren} on {@code ctx}.

*/ - @Override public T visitAttribConstraint(VelvetParser.AttribConstraintContext ctx) { return visitChildren(ctx); } + @Override public T visitAttribNumExpr(VelvetParser.AttribNumExprContext ctx) { return visitChildren(ctx); } /** * {@inheritDoc} * diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java index c029a63d37..812842066c 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetFeatureModelFormat.java @@ -1,6 +1,7 @@ /* FeatureIDE - A Framework for Feature-Oriented Software Development * Copyright (C) 2005-2019 FeatureIDE team, University of Magdeburg, Germany * 2025 Malte Grave, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz + * 2025 Oleksandr Kudriavchenko, VaSiCS, LIT CPS Lab, Johannes Kepler University, Linz * * This file is part of FeatureIDE. * @@ -21,7 +22,59 @@ */ package de.ovgu.featureide.fm.core.io.velvet; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.tree.ParseTree; +import org.antlr.v4.runtime.tree.Tree; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.prop4j.Equals; +import org.prop4j.Implies; +import org.prop4j.Node; + +import de.ovgu.featureide.fm.core.Logger; +import de.ovgu.featureide.fm.core.ModelMarkerHandler; +import de.ovgu.featureide.fm.core.PluginID; +import de.ovgu.featureide.fm.core.base.IConstraint; +import de.ovgu.featureide.fm.core.base.IFeature; +import de.ovgu.featureide.fm.core.base.IFeatureModel; +import de.ovgu.featureide.fm.core.base.IFeatureStructure; +import de.ovgu.featureide.fm.core.base.impl.FMFactoryManager; +import de.ovgu.featureide.fm.core.base.impl.MultiConstraint; +import de.ovgu.featureide.fm.core.base.impl.MultiFeature; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel.UsedModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModelFactory; +import de.ovgu.featureide.fm.core.constraint.Equation; +import de.ovgu.featureide.fm.core.constraint.FeatureAttribute; +import de.ovgu.featureide.fm.core.constraint.FeatureAttributeMap; +import de.ovgu.featureide.fm.core.constraint.WeightedTerm; import de.ovgu.featureide.fm.core.io.AFeatureModelFormat; +import de.ovgu.featureide.fm.core.io.Problem; +import de.ovgu.featureide.fm.core.io.ProblemList; +import de.ovgu.featureide.fm.core.io.UnsupportedModelException; /** * Reads / Writes feature models in the Velvet format. @@ -30,343 +83,605 @@ * @author Matthias Strauss * @author Reimar Schroeter * @author Malte Grave + * @author Oleksandr Kudriavchenko */ -public class VelvetFeatureModelFormat extends AFeatureModelFormat { +public class VelvetFeatureModelFormat extends AFeatureModelFormat implements IVelvetFeatureModelFormat { + + public static boolean IS_USED_AS_API = false; + public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + VelvetFeatureModelFormat.class.getSimpleName(); + public static final String FILE_EXTENSION = "velvet"; + File featureModelFile; + private static final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; + private static final String NEWLINE = System.getProperty("line.separator", "\n"); + private final StringBuilder sb = new StringBuilder(); + + public VelvetFeatureModelFormat(VelvetFeatureModelFormat oldFormat) { + super(oldFormat); + useLongNames = oldFormat.useLongNames; + } + + /** + * If true an interface will be created. Otherwise it is named CONCEPT + */ + + private boolean isInterface = false; + private boolean useLongNames; + + public VelvetFeatureModelFormat() { + useLongNames = false; + } + + @Override + public boolean supportsRead() { + return true; + } + + @Override + public boolean supportsWrite() { + return true; + } + + void collectAttributes(Map attributesMap, FeatureAttributeMap attributes, String type) { + for (final String key : attributes.getKeys()) { + for (final FeatureAttribute attribute : attributes.getAttributes(key)) { + + attributesMap.put(String.format("%s %s = %s;", type, attribute.getAttributeName(), attribute.getValue()), attribute.getFeatureName()); + } + } + } + + @Override + public String write(IFeatureModel object) { + final int depth = 0; + + if (object instanceof MultiFeatureModel) { + extFeatureModel = (MultiFeatureModel) object; + isInterface = isInterface || extFeatureModel.isInterface(); + } + final Map attributes = new HashMap<>(); + final FeatureAttributeMap intAttrs = extFeatureModel.getIntegerAttributes(); + // final FeatureAttributeMap floatAttrs = extFeatureModel.getIntegerAttributes(); + final FeatureAttributeMap boolAttrs = extFeatureModel.getBooleanAttributes(); + final FeatureAttributeMap strAttrs = extFeatureModel.getStringAttributes(); + List attributeConstraints = null; + collectAttributes(attributes, intAttrs, "int"); + collectAttributes(attributes, boolAttrs, "bool"); + collectAttributes(attributes, strAttrs, "string"); + + final List constraints = new ArrayList<>(extFeatureModel.getConstraints()); + + final IFeatureStructure root = object.getStructure().getRoot(); + sb.delete(0, sb.length()); + + if (isInterface) { + sb.append("cinterface "); + } else { + sb.append("concept "); + } + sb.append(root.getFeature().getName()); + if (extFeatureModel != null) { + usedVariables.clear(); + final LinkedList inheritedModels = new LinkedList<>(); + final LinkedList instanceModels = new LinkedList<>(); + final LinkedList interfaceModels = new LinkedList<>(); + for (final UsedModel usedModel : extFeatureModel.getExternalModels().values()) { + switch (usedModel.getType()) { + case MultiFeature.TYPE_INHERITED: + inheritedModels.add(usedModel); + break; + case MultiFeature.TYPE_INSTANCE: + instanceModels.add(usedModel); + break; + case MultiFeature.TYPE_INTERFACE: + interfaceModels.add(usedModel); + break; + } + } + + if (!inheritedModels.isEmpty()) { + useLongNames = true; + sb.append(" : "); + sb.append(inheritedModels.removeFirst().getModelName()); + for (final UsedModel usedModel : inheritedModels) { + sb.append(", "); + sb.append(usedModel.getModelName()); + } + } + + if (!instanceModels.isEmpty()) { + useLongNames = true; + sb.append(NEWLINE); + sb.append("\tinstance "); + sb.append(instanceModels.removeFirst()); + for (final UsedModel usedModel : instanceModels) { + sb.append(", "); + sb.append(usedModel); + } + } + + if (!interfaceModels.isEmpty()) { + useLongNames = true; + sb.append(NEWLINE); + sb.append("\tinterface "); + sb.append(interfaceModels.removeFirst()); + for (final UsedModel usedModel : interfaceModels) { + sb.append(", "); + sb.append(usedModel); + } + } + } + sb.append(" {"); + sb.append(NEWLINE); + + if ((extFeatureModel != null) && !isInterface) { + + attributeConstraints = extFeatureModel.getAttributConstraints(); + for (final IFeatureStructure child : root.getChildren()) { + writeNewDefined(child, 1, constraints, attributes, attributeConstraints); + } + + for (final IConstraint constraint : constraints) { + if (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { + writeConstraint(constraint, depth); + } + } + } else { + writeFeatureGroup(root, 1, constraints, attributes, attributeConstraints); + + for (final IConstraint constraint : object.getConstraints()) { + writeConstraint(constraint, depth); + } + } + + sb.append("}"); + return sb.toString(); + } + + private void writeFeatureGroup(IFeatureStructure root, int depth, List constraints, Map attributes, + List attributeConstraints) { + if (root.isAnd()) { + for (final IFeatureStructure feature : root.getChildren()) { + writeNewDefined(feature, depth + 1, constraints, attributes, attributeConstraints); + } + } else if (root.isOr()) { + writeTab(depth + 1); + sb.append("someOf {"); + sb.append(NEWLINE); + for (final IFeatureStructure feature : root.getChildren()) { + writeFeature(feature, depth + 2, constraints, attributes, attributeConstraints); + } + writeTab(depth + 1); + sb.append("}"); + + sb.append(NEWLINE); + } else if (root.isAlternative()) { + writeTab(depth + 1); + sb.append("oneOf {"); + sb.append(NEWLINE); + for (final IFeatureStructure f : root.getChildren()) { + writeFeature(f, depth + 2, constraints, attributes, attributeConstraints); + } + writeTab(depth + 1); + sb.append("}"); + sb.append(NEWLINE); + } + } + + private void writeFeature(IFeatureStructure feature, int depth, List constraints, Map attributes, + List attributeConstraints) { + final String featureName = feature.getFeature().getName().toString(); + if (!usedFeatures.add(featureName)) { + return; + } + writeTab(depth); + if (feature.isAbstract()) { + sb.append("abstract "); + } + if (feature.isMandatory() && ((feature.getParent() == null) || feature.getParent().isAnd())) { + sb.append("mandatory "); + } + sb.append("feature "); + sb.append(featureName); + + final String description = feature.getFeature().getProperty().getDescription(); + + final List childConstraints = new ArrayList<>(); + final List childAttributeConstraints = new ArrayList<>(); + + final Iterator iteratorC = constraints.iterator(); + while (iteratorC.hasNext()) { + final IConstraint constraint = iteratorC.next(); + final Node constraintNode = constraint.getNode(); + final Node[] children = ((Implies) constraintNode).getChildren(); + final Node parentFeature = children[0]; + if ((parentFeature.toString().equals(featureName))) { + childConstraints.add(constraint); + iteratorC.remove(); + } + } + + final Iterator iteratorAC = attributeConstraints.iterator(); + while (iteratorAC.hasNext()) { + String parentFeature = null; + final Equation attributeConstraint = iteratorAC.next(); + + for (final WeightedTerm term : attributeConstraint.getWeightedTerms()) { + /* + * go through all terms in equation if there is one, that has a parent which is not present in attributes, we see, that it is equations parent + */ + if (!attributes.containsValue(term.getReference().toString())) { + parentFeature = term.getReference().toString(); + break; + } + } + + if (featureName.equals(parentFeature)) { + childAttributeConstraints.add(attributeConstraint); + iteratorAC.remove(); + } + + } + + final boolean hasDescription = (description != null) && !description.isEmpty(); + final boolean hasConstraints = (childConstraints != null) && !childConstraints.isEmpty(); + final boolean hasAttributeConstraints = (childAttributeConstraints != null) && !childAttributeConstraints.isEmpty(); + final boolean hasAttributes = attributes.containsValue(featureName); + + if ((feature.getChildrenCount() == 0) && !hasDescription && !hasConstraints && !hasAttributes && !hasAttributeConstraints) { + sb.append(";"); + } else { + sb.append(" {"); + sb.append(NEWLINE); + if (hasDescription) { + writeTab(depth + 1); + sb.append("description \""); + sb.append(description.replace("\"", "\\\"")); + sb.append("\";"); + sb.append(NEWLINE); + } + if (hasAttributes) { + for (final Entry attr : attributes.entrySet()) { + if (attr.getValue().equals(featureName)) { + writeTab(depth + 1); + sb.append(attr.getKey()); + sb.append(NEWLINE); + } + } + } + if (hasAttributeConstraints) { + for (final Equation attributeConstraint : childAttributeConstraints) { + + writeAttributeConstraint(attributes, attributeConstraint, featureName, depth); + } + } + if (hasConstraints) { + for (final IConstraint constraint : childConstraints) { + + writeConstraint(constraint, depth); + + } + + } + writeFeatureGroup(feature, depth, constraints, attributes, attributeConstraints); + writeTab(depth); + sb.append("}"); + } + sb.append(NEWLINE); + } // TODO fix write for inherited feature models private void + + private void writeConstraint(IConstraint constraint, int depth) { + writeTab(depth + 1); + sb.append("constraint "); + final Node constraintNode = ((Implies) constraint.getNode()).getChildren()[1]; + + final Node[] children = ((Equals) constraintNode).getChildren(); + final Node name = children[0]; + final Node value = children[1]; + sb.append(name.toString(SYMBOLS)); + sb.append(" = "); + sb.append(value.toString(SYMBOLS)); + sb.append(";"); + sb.append(NEWLINE); + } + + private void writeAttributeConstraint(Map attributes, Equation attributeConstraint, String featureName, int depth) { + writeTab(depth + 1); + sb.append("constraint "); + sb.append("ID = "); + final List sortedTerms = attributeConstraint.getWeightedTerms(); + sortedTerms.sort(Comparator.comparing(WeightedTerm::isPositive).reversed()); + boolean first = true; + for (final WeightedTerm term : sortedTerms) { + if (!term.isPositive()) { + sb.append(" - "); + } else if (!first) { + sb.append(" + "); + } + + final String name = term.getReference().getAttributeName(); + if (!name.equals("attributeName")) { + sb.append(name); + + } else { + sb.append(term.getWeight()); + } + first = false; + + } + sb.append(" "); + sb.append(attributeConstraint.getOperator()); + sb.append(" 0;"); + sb.append(NEWLINE); + + } + + private void writeNewDefined(IFeatureStructure child2, int depth, List constraints, Map attributes, + List attributeConstraints) { + final IFeature feature = child2.getFeature(); + if (feature instanceof MultiFeature) { + final MultiFeature extFeature = (MultiFeature) feature; + if (((extFeature.getType() == MultiFeature.TYPE_INSTANCE) || (extFeature.getType() == MultiFeature.TYPE_INTERFACE))) { + if ((usedVariables.add(extFeature.getExternalModelName()))) { + writeTab(depth); + sb.append("use "); + sb.append(extFeature.getExternalModelName()); + sb.append(";"); + sb.append(NEWLINE); + + } + writeFeature(child2, depth, constraints, attributes, attributeConstraints); + + } else if ((extFeature.getType() == MultiFeature.TYPE_INTERN)) { + + writeFeature(child2, depth, constraints, attributes, attributeConstraints); + } + } + for (final IFeatureStructure child : child2.getChildren()) { + writeNewDefined(child, depth, constraints, attributes, attributeConstraints); + } + } + + private void writeTab(int times) { + for (int i = 0; i < times; i++) { + sb.append('\t'); + } + } + + @Override + public ProblemList read(IFeatureModel object, CharSequence source) { + final ProblemList problemList = new ProblemList(); + factory = MultiFeatureModelFactory.getInstance(); + extFeatureModel = (MultiFeatureModel) object; + if (extFeatureModel != null) { + featureModelFile = extFeatureModel.getSourceFile().toFile(); // .toAbsolutePath(); + } + final ByteArrayInputStream inputstr = new ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); + try { + parseInputStream(inputstr); + } catch (final UnsupportedModelException e) { + problemList.add(new Problem(e, e.lineNumber)); + } + return problemList; + } + + protected synchronized void parseInputStream(final InputStream inputStream) throws UnsupportedModelException { + CharStream charStream = null; + try { + charStream = CharStreams.fromStream(inputStream); + } catch (final IOException e) { + Logger.logError(e); + throw new UnsupportedModelException("Error while reading model!", 0); + } + init(); + + final VelvetLexer lexer = new VelvetLexer(charStream); + final CommonTokenStream tokens = new CommonTokenStream(lexer); + final VelvetParser parser = new VelvetParser(tokens); + final VelvetVisitorImpl visitor = new VelvetVisitorImpl(this); + try { + + final ParseTree tree = parser.velvetModel(); + visitor.visit(tree); + + } catch (RecognitionException | VelvetParser.InternalSyntaxException e) { + RecognitionException re; + if (e instanceof VelvetParser.InternalSyntaxException) { + re = ((VelvetParser.InternalSyntaxException) e).getException(); + } else { + re = (RecognitionException) e; + } + + Logger.logError(re); + /* + * TODO newer parser doesn't have those methods. final String internalMessage = parser.getErrorMessage(re, parser.getTokenNames()); final String + * errorMessage = "ILLEGAL_SYNTAX_IN_LINE" + re.line + ":" + re.charPositionInLine + " (" + internalMessage + ")"; final UnsupportedModelException + * unsupportedModelException = new UnsupportedModelException(errorMessage, re.line); unsupportedModelException.addSuppressed(re); throw + * unsupportedModelException; + */ + + } + } + + private static final int[] binaryOperators = + { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, VelvetParser.OP_EQUIVALENT }; + private static final String[] paths = { "%s.velvet", "%s.xml", "MPL/%s.velvet", "MPL/%s.xml" }; + private final LinkedList atrributeConstraintNodes = new LinkedList<>(); + private final LinkedList parentStack = new LinkedList<>(); + private final HashSet usedVariables = new HashSet<>(); // TODO private final + private final HashSet usedFeatures = new HashSet<>(); + boolean velvetImport = false; + private ModelMarkerHandler modelMarkerHandler; + MultiFeatureModel extFeatureModel; + String extFeatureModelName; + private boolean localSearch = false; + + /** + * Returns the eclipse project of the file with the textual representation of the feature model + * + * @return the project of the file or null if not known + * @throws IOException + */ + + @Override + public IProject getProject() { + if ((featureModelFile == null) || IS_USED_AS_API) { + return null; + } + final IWorkspace workspace = ResourcesPlugin.getWorkspace(); + IPath filePath = null; + try { + filePath = new Path(featureModelFile.getCanonicalPath()); + } catch (final IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + final IFile file = workspace.getRoot().getFileForLocation(filePath); + if ((null == file) || !file.exists()) { + return workspace.getRoot().getFile(filePath).getProject(); + } + return file.getProject(); + } + + /** + * Initializes all variables. + */ + private void init() { + usedFeatures.clear(); + usedVariables.clear(); + extFeatureModel.reset(); // TODO Layout + if (getProject() != null) { + modelMarkerHandler = new ModelMarkerHandler(getProject().getFile(featureModelFile.getName())); + modelMarkerHandler.deleteAllModelMarkers(); + } + extFeatureModelName = null; + extFeatureModel.setInterface(false); // TODO MPL: Hack for local search + localSearch = (featureModelFile != null) && (featureModelFile.getParent() != null) && featureModelFile.getName().equals("velvet"); + } + + private void reportWarning(Tree curNode, String message) { + /* + * if (modelMarkerHandler != null) { modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_WARNING, + * curNode.getLine()); } Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + + * featureModelFile.getName() : "") + ": \"" + curNode.getText() + "\")"); + */ + } + + private void reportSyntaxError(Tree curNode) throws RecognitionException { + /* + * final RecognitionException ex = new RecognitionException(null, null, null); ex.line = 1; ex.charPositionInLine = 1; throwException(ex, curNode); + */ + } + + private void throwException(RecognitionException e, Tree curNode) throws RecognitionException { + /* + * if (modelMarkerHandler != null) { final String text = ""; if (curNode != null) { curNode.getText(); } final String message = ILLEGAL_SYNTAX_IN_LINE + + * e.line + ":" + e.charPositionInLine + ". " + text; modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_ERROR, + * e.line); } throw e; + */ + } + + @Override + public String getSuffix() { + return FILE_EXTENSION; + } + + @Override + public VelvetFeatureModelFormat getInstance() { + return new VelvetFeatureModelFormat(this); + } + + @Override + public String getId() { + return ID; + } + + @Override + public String getName() { + return "Velvet"; + } + + @Override + public boolean initExtension() { + if (super.initExtension()) { + FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(VelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); + return true; + } + return false; + } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.io.IFeatureModelFormat#getName() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getExtFeatureModelName() */ @Override - public String getName() { - // TODO Auto-generated method stub - return null; + public String getExtFeatureModelName() { + return extFeatureModelName; } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.io.IPersistentFormat#getSuffix() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getExtFeatureModel() */ @Override - public String getSuffix() { - // TODO Auto-generated method stub - return null; + public MultiFeatureModel getExtFeatureModel() { + return extFeatureModel; } /* * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.IExtension#getId() + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#setExtFeatureModelName(java.lang.String) */ @Override - public String getId() { - // TODO Auto-generated method stub - return null; + public void setExtFeatureModelName(String name) { + extFeatureModelName = name; + } + /* - * public static boolean IS_USED_AS_API = false; public static final String ID = PluginID.PLUGIN_ID + ".format.fm." + - * VelvetFeatureModelFormat.class.getSimpleName(); public static final String FILE_EXTENSION = "velvet"; protected File featureModelFile; private static - * final String[] SYMBOLS = { "!", "&&", "||", "->", "<->", ", ", "choose", "atleast", "atmost" }; private static final String NEWLINE = - * System.getProperty("line.separator", "\n"); private final StringBuilder sb = new StringBuilder(); public - * VelvetFeatureModelFormat(VelvetFeatureModelFormat oldFormat) { super(oldFormat); useLongNames = oldFormat.useLongNames; } - *//** - * If true an interface will be created. Otherwise it is named CONCEPT - */ + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getFeatureModelFile() + */ + @Override + public File getFeatureModelFile() { + + return featureModelFile; + } + /* - * private boolean isInterface = false; private boolean useLongNames; public VelvetFeatureModelFormat() { useLongNames = false; } - * @Override public boolean supportsRead() { return true; } - * @Override public boolean supportsWrite() { return true; } - * @Override public String write(IFeatureModel object) { if (object instanceof MultiFeatureModel) { extFeatureModel = (MultiFeatureModel) object; - * isInterface = isInterface || extFeatureModel.isInterface(); } final IFeatureStructure root = object.getStructure().getRoot(); sb.delete(0, sb.length()); - * if (isInterface) { sb.append("cinterface "); } else { sb.append("concept "); } sb.append(root.getFeature().getName()); if (extFeatureModel != null) { - * usedVariables.clear(); final LinkedList inheritedModels = new LinkedList<>(); final LinkedList - * instanceModels = new LinkedList<>(); final LinkedList interfaceModels = new LinkedList<>(); for (final UsedModel usedModel : - * extFeatureModel.getExternalModels().values()) { switch (usedModel.getType()) { case MultiFeature.TYPE_INHERITED: inheritedModels.add(usedModel); break; - * case MultiFeature.TYPE_INSTANCE: instanceModels.add(usedModel); break; case MultiFeature.TYPE_INTERFACE: interfaceModels.add(usedModel); break; } } if - * (!inheritedModels.isEmpty()) { useLongNames = true; sb.append(" : "); sb.append(inheritedModels.removeFirst().getModelName()); for (final UsedModel - * usedModel : inheritedModels) { sb.append(", "); sb.append(usedModel.getModelName()); } } if (!instanceModels.isEmpty()) { useLongNames = true; - * sb.append(NEWLINE); sb.append("\tinstance "); sb.append(instanceModels.removeFirst()); for (final UsedModel usedModel : instanceModels) { - * sb.append(", "); sb.append(usedModel); } } if (!interfaceModels.isEmpty()) { useLongNames = true; sb.append(NEWLINE); sb.append("\tinterface "); - * sb.append(interfaceModels.removeFirst()); for (final UsedModel usedModel : interfaceModels) { sb.append(", "); sb.append(usedModel); } } } - * sb.append(" {"); sb.append(NEWLINE); if ((extFeatureModel != null) && !isInterface) { for (final IFeatureStructure child : root.getChildren()) { - * writeNewDefined(child, 1); } for (final IConstraint constrapublic static boolean IS_USED_AS_API = false;int : object.getConstraints()) { if - * (((MultiConstraint) constraint).getType() == MultiFeature.TYPE_INTERN) { sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); - * sb.append(";"); sb.append(NEWLINE); } } } else { writeFeatureGroup(root, 1); for (final IConstraint constraint : object.getConstraints()) { - * sb.append("\tconstraint "); sb.append(constraint.getNode().toString(SYMBOLS)); sb.append(";"); sb.append(NEWLINE); } } sb.append("}"); return - * sb.toString(); } private void writeFeatureGroup(IFeatureStructure root, int depth) { if (root.isAnd()) { for (final IFeatureStructure feature : - * root.getChildren()) { writeNewDefined(feature, depth + 1); } } else if (root.isOr()) { writeTab(depth + 1); sb.append("someOf {"); sb.append(NEWLINE); - * for (final IFeatureStructure feature : root.getChildren()) { writeFeature(feature, depth + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); - * } else if (root.isAlternative()) { writeTab(depth + 1); sb.append("oneOf {"); sb.append(NEWLINE); for (final IFeatureStructure f : root.getChildren()) { - * writeFeature(f, depth + 2); } writeTab(depth + 1); sb.append("}"); sb.append(NEWLINE); } } private void writeFeature(IFeatureStructure feature, int - * depth) { writeTab(depth); if (feature.isAbstract()) { sb.append("abstract "); } if (feature.isMandatory() && ((feature.getParent() == null) || - * feature.getParent().isAnd())) { sb.append("mandatory "); } sb.append("feature "); sb.append(feature.getFeature().getName()); final String description = - * feature.getFeature().getProperty().getDescription(); final boolean hasDescription = (description != null) && !description.isEmpty(); if - * ((feature.getChildrenCount() == 0) && !hasDescription) { sb.append(";"); } else { sb.append(" {"); sb.append(NEWLINE); if (hasDescription) { - * writeTab(depth + 1); sb.append("description \""); sb.append(description.replace("\"", "\\\"")); sb.append("\";"); sb.append(NEWLINE); } - * writeFeatureGroup(feature, depth); writeTab(depth); sb.append("}"); } sb.append(NEWLINE); } // TODO fix write for inherited feature models private void - * writeNewDefined(IFeatureStructure child2, int depth) { final IFeature feature = child2.getFeature(); if (feature instanceof MultiFeature) { final - * MultiFeature extFeature = (MultiFeature) feature; if ((extFeature.getType() == MultiFeature.TYPE_INSTANCE) || (extFeature.getType() == - * MultiFeature.TYPE_INTERFACE)) { if (usedVariables.add(extFeature.getExternalModelName())) { writeTab(depth); sb.append(USE); - * sb.append(extFeature.getExternalModelName()); sb.append(";"); sb.append(NEWLINE); } } else if (extFeature.getType() == MultiFeature.TYPE_INTERN) { - * writeFeature(child2, 1); } } for (final IFeatureStructure child : child2.getChildren()) { writeNewDefined(child, depth); } } private void writeTab(int - * times) { for (int i = 0; i < times; i++) { sb.append('\t'); } } - * @Override public ProblemList read(IFeatureModel object, CharSequence source) { final ProblemList problemList = new ProblemList(); factory = - * MultiFeatureModelFactory.getInstance(); extFeatureModel = (MultiFeatureModel) object; if (extFeatureModel != null) { featureModelFile = - * extFeatureModel.getSourceFile().toFile(); } final ByteArrayInputStream inputstr = new - * ByteArrayInputStream(source.toString().getBytes(Charset.availableCharsets().get("UTF-8"))); try { parseInputStream(inputstr); } catch (final - * UnsupportedModelException e) { problemList.add(new Problem(e, e.lineNumber)); } return problemList; } private static class ConstraintNode { private final - * Node computedNode; private final Tree rawNode; public ConstraintNode(Node computedNode, Tree rawNode) { this.computedNode = computedNode; this.rawNode = - * rawNode; } } private static final int[] binaryOperators = { VelvetParser.OP_OR, VelvetParser.OP_AND, VelvetParser.OP_XOR, VelvetParser.OP_IMPLIES, - * VelvetParser.OP_EQUIVALENT }; private static final String[] paths = { "%s.velvet", "%s.xml", "MPL/%s.velvet", "MPL/%s.xml" }; private final - * LinkedList atrributeConstraintNodes = new LinkedList<>(); private final LinkedList parentStack = new LinkedList<>(); private final - * LinkedList constraintNodeList = new LinkedList<>(); private final HashSet usedVariables = new HashSet<>(); // TODO private final - * boolean velvetImport = false; private ModelMarkerHandler modelMarkerHandler; private MultiFeatureModel extFeatureModel; private String - * extFeatureModelName; private boolean localSearch = false; - *//** - * Reads external model with the right FeatureModelReader. - * - * @param file file of feature model - * @return the feature model or null if error occurred - */ + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#isVelvetImport() + */ + @Override + public boolean isVelvetImport() { + return velvetImport; + } + /* - * private IFeatureModel readExternalModelFile(File file) { return FeatureModelManager.load(file.toPath()); } private boolean checkExternalModelFile(Tree - * curNode) { if (localSearch) { if (localSearch(curNode.getText()) == null) { reportWarning(curNode, format("No model for %s could be found.", - * curNode.getText())); return false; } return true; } if (getExternalModelFile(curNode.getText()) == null) { reportWarning(curNode, - * format("No model for %s could be found.", curNode.getText())); return false; } return true; } private boolean checkInterfaceModelFile(Tree curNode) { if - * (localSearch) { if (localSearch(curNode.getText()) == null) { reportWarning(curNode, format("No model for %s could be found.", curNode.getText())); - * return false; } return true; } if (getInterfaceModelFile(curNode.getText()) == null) { reportWarning(curNode, - * format("No interface for %s could be found.", curNode.getText())); return false; } return true; } private void copyChildnodes(final MultiFeatureModel - * targetModel, final IFeatureStructure targetParentNode, final IFeatureStructure sourceParentNode, final String parentModelName, final String - * targetParentName, final int type) { for (final IFeatureStructure sourceChildStructure : sourceParentNode.getChildren()) { final MultiFeature feature; if - * (velvetImport) { feature = (MultiFeature) factory.createFeature(targetModel, sourceChildStructure.getFeature().getName()); } else { final String - * shortName = sourceChildStructure.getFeature().getName().replace(sourceParentNode.getFeature().getName() + ".", ""); feature = (MultiFeature) - * factory.createFeature(targetModel, targetParentName + "." + shortName); } final IFeatureStructure targetChildStructure = feature.getStructure(); - * targetChildStructure.setMandatory(sourceChildStructure.isMandatory()); targetChildStructure.setAbstract(sourceChildStructure.isAbstract()); - * targetChildStructure.setHidden(sourceChildStructure.isHidden()); feature.setExternalModelName(parentModelName); - * targetChildStructure.setAND(sourceChildStructure.isAnd()); targetChildStructure.setMultiple(sourceChildStructure.isMultiple()); if - * (sourceChildStructure.isOr()) { targetChildStructure.setOr(); } targetModel.addFeature(feature); targetParentNode.addChild(targetChildStructure); - * feature.setType(type); if (sourceChildStructure.hasChildren()) { copyChildnodes(targetModel, targetChildStructure, sourceChildStructure, parentModelName, - * feature.getName(), type); } } } private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference - * reference) { boolean positive = weight >= 0; if (rightSide ^ minus) { positive = !positive; } return new WeightedTerm(Math.abs(weight), positive, - * reference); } private static LinkedList getChildren(final Tree root) { final LinkedList children = new LinkedList<>(); final int childCount = - * root.getChildCount(); for (int i = 0; i < childCount; i++) { children.add(root.getChild(i)); } return children; } private static void - * updateConstraintNode(Node curNode, String parentModelname, String rootName, IFeatureModel targetModel) { if (curNode instanceof Literal) { final Literal - * literal = (Literal) curNode; if (literal.var.equals(rootName)) { literal.var = parentModelname; } else { // if fully qualified name IFeature feature = - * targetModel.getFeature(literal.var.toString().replace(rootName, parentModelname)); if (feature == null) { // else feature = - * targetModel.getFeature(parentModelname + "." + literal.var.toString()); } literal.var = feature.getName(); } } else { for (final Node child : - * curNode.getChildren()) { updateConstraintNode(child, parentModelname, rootName, targetModel); } } } protected synchronized void parseInputStream(final - * InputStream inputStream) throws UnsupportedModelException { CharStream charStream = null; try { charStream = CharStreams.fromStream(inputStream); } catch - * (final IOException e) { Logger.logError(e); throw new UnsupportedModelException("Error while reading model!", 0); } final VelvetParser parser = new - * VelvetParser(new CommonTokenStream(new VelvetLexer(charStream))); Tree root = null; try { init(); root = (Tree) parser.velvetModel().getTree(); if (root - * == null) { throw new UnsupportedModelException("Error while parsing model!", 0); } checkTree(root); parseModel(root); parseAttributeConstraints(); } - * catch (RecognitionException | VelvetParser.InternalSyntaxException e) { RecognitionException re; if (e instanceof VelvetParser.InternalSyntaxException) { - * re = ((VelvetParser.InternalSyntaxException) e).getException(); } else { re = (RecognitionException) e; } Logger.logError(re); final String - * internalMessage = parser.getErrorMessage(re, parser.getTokenNames()); final String errorMessage = ILLEGAL_SYNTAX_IN_LINE + re.line + ":" + - * re.charPositionInLine + " (" + internalMessage + ")"; final UnsupportedModelException unsupportedModelException = new - * UnsupportedModelException(errorMessage, re.line); unsupportedModelException.addSuppressed(re); throw unsupportedModelException; } } private MultiFeature - * addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean isAbstract, final boolean isHidden) { final - * MultiFeature newFeature = (MultiFeature) factory.createFeature(extFeatureModel, featureName); newFeature.getStructure().setMandatory(isMandatory); - * newFeature.getStructure().setAbstract(isAbstract); newFeature.getStructure().setHidden(isHidden); final IFeature orgFeature = - * extFeatureModel.getFeature(featureName); if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { return (MultiFeature) orgFeature; } else { - * extFeatureModel.addFeature(newFeature); parent.getStructure().addChild(newFeature.getStructure()); newFeature.setNewDefined(true); return newFeature; } } - * private String checkNode(Node curNode) { if (curNode instanceof Literal) { final Literal literal = (Literal) curNode; final String varString = - * literal.var.toString(); if (extFeatureModel.getFeature(varString) == null) { return literal.var.toString(); } } else { for (final Node child : - * curNode.getChildren()) { final String childRet = checkNode(child); if (childRet != null) { return childRet; } } } return null; } private IFeatureModel - * getExternalFeatureModel(Tree curNode) { final File modelFile = getExternalModelFile(curNode.getText()); if (modelFile == null) { reportWarning(curNode, - * format("No model for %s could be found.", curNode.getText())); return null; } return readModel(modelFile, curNode); } private IFeatureModel - * getExternalFeatureModel(String modelName, Tree curNode) { final File modelFile = getExternalModelFile(modelName); if (modelFile == null) { return null; } - * return readModel(modelFile, curNode); } private IFeatureModel getInterfaceFeatureModel(String modelName, Tree curNode) { final File modelFile = - * getInterfaceModelFile(modelName); if (modelFile == null) { return null; } return readModel(modelFile, curNode); } private IFeatureModel readModel(File - * modelFile, Tree curNode) { IFeatureModel fm = null; if (IS_USED_AS_API) { fm = readExternalModelFileAPI(modelFile); } else { fm = - * readExternalModelFile(modelFile); } if (fm == null) { reportWarning(curNode, format("External model for %s could not be read.", curNode.getText())); - * return null; } return fm; } private IFeatureModel readExternalModelFileAPI(File file) { final IFeatureModel fm = new MultiFeatureModelFactory().create(); - * fm.setSourceFile(file.toPath()); SimpleFileHandler.load(file.toPath(), fm, FMFormatManager.getInstance()); return fm; } - *//** - * Search for the right File to include etc. The following search path is used:
  1. ./NAME.velvet
  2. ./NAME.xml
  3. - *
  4. ./MPL/NAME.velvet
  5. /NAME_AS_PROJECT/model.xml
- * - * @param name the name of file or project - * @return File object if found else null - */ + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getLocalSearch() + */ + @Override + public boolean getLocalSearch() { + return localSearch; + } + /* - * private File getExternalModelFile(String name) { if (!extFeatureModel.getImports().isEmpty() && !IS_USED_AS_API) { for (final String path : - * extFeatureModel.getImports()) { final IProject project = getProject(); if (!path.endsWith(name)) { continue; } if (project != null) { IResource res = - * project.getFile(path + ".xml"); if ((res != null) && res.exists()) { return res.getLocation().toFile(); } res = project.getFile(path + ".velvet"); if - * ((res != null) && res.exists()) { return res.getLocation().toFile(); } } } } if (localSearch || IS_USED_AS_API) { return localSearch(name); } File - * returnFile = null; // local search IProject project = getProject(); if (project != null) { for (int i = 0; i < paths.length; i++) { final IResource res = - * project.findMember(format(paths[i], name)); if (res != null) { returnFile = res.getLocation().toFile(); if (returnFile.equals(featureModelFile)) { - * returnFile = null; } else { break; } } } } // external search if (returnFile == null) { // if could not get current project or could not find file in - * current // project assume the name is the project name project = ResourcesPlugin.getWorkspace().getRoot().getProject(name); if (project.isAccessible()) { - * returnFile = project.getFile("model.xml").getLocation().toFile(); if (returnFile.equals(featureModelFile)) { return null; } } else { - * Logger.logWarning(format("Project %s is not accessible.", name)); } } if ((returnFile == null) || !returnFile.exists() || !returnFile.canRead()) { return - * null; } return returnFile; } private File getInterfaceModelFile(String name) { if (localSearch) { return localSearch(name); } File returnFile = null; - * final IProject project = getProject(); if (project != null) { final IResource res = project.findMember(format("Interfaces/%s.velvet", name)); if (res != - * null) { returnFile = res.getLocation().toFile(); } } return returnFile; } private File localSearch(final String name) { if (featureModelFile != null) { - * final File searchDir = new File(featureModelFile.getParentFile(), "MPL"); if (searchDir != null) { final File[] files = searchDir.listFiles(new - * FilenameFilter() { - * @Override public boolean accept(File dir, String fileName) { final int index = fileName.lastIndexOf('.'); return (index > 0) && fileName.substring(0, - * index).equals(name) && fileName.substring(index + 1).matches("xml|velvet"); } }); if ((files != null) && (files.length > 0)) { return files[0]; } } } - * return null; } - *//** - * Returns the eclipse project of the file with the textual representation of the feature model - * - * @return the project of the file or null if not known - */ + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getIsUsedAsAPI() + */ + @Override + public boolean getIsUsedAsAPI() { + // TODO Auto-generated method stub + return IS_USED_AS_API; + } + /* - * private IProject getProject() { if ((featureModelFile == null) || IS_USED_AS_API) { return null; } final IWorkspace workspace = - * ResourcesPlugin.getWorkspace(); IPath filePath; try { filePath = Path.fromOSString(featureModelFile.getCanonicalPath()); final IFile file = - * workspace.getRoot().getFileForLocation(filePath); if ((null == file) || !file.exists()) { return workspace.getRoot().getFile(filePath).getProject(); } - * return file.getProject(); } catch (final IOException e) { Logger.logError(e); return null; } } - *//** - * Initializes all variables. - *//* - * private void init() { atrributeConstraintNodes.clear(); parentStack.clear(); constraintNodeList.clear(); usedVariables.clear(); - * extFeatureModel.reset(); // TODO Layout // extFeatureModel.getLayout().showHiddenFeatures(true); // - * extFeatureModel.getLayout().verticalLayout(false); if (getProject() != null) { modelMarkerHandler = new - * ModelMarkerHandler(getProject().getFile(featureModelFile.getName())); modelMarkerHandler.deleteAllModelMarkers(); } - * extFeatureModelName = null; extFeatureModel.setInterface(false); // TODO MPL: Hack for local search localSearch = (featureModelFile != null) && - * (featureModelFile.getParentFile() != null) && featureModelFile.getParentFile().getName().equals("velvet"); } private void parseAttribute(final - * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); final String name = - * checkTree(nodeList.poll()).getText(); final Tree valueNode = nodeList.poll(); switch (valueNode.getType()) { case VelvetParser.FLOAT: break; case - * VelvetParser.INT: extFeatureModel.addAttribute(parent.getName(), name, Integer.parseInt(valueNode.getText())); break; case VelvetParser.BOOLEAN: - * extFeatureModel.addAttribute(parent.getName(), name, Boolean.parseBoolean(valueNode.getText())); break; case VelvetParser.STRING: final String - * valueNodeText = valueNode.getText(); extFeatureModel.addAttribute(parent.getName(), name, valueNodeText.substring(1, valueNodeText.length() - - * 1)); break; default: reportSyntaxError(valueNode); } } private void parseAttributeConstraints() throws UnsupportedModelException, - * RecognitionException { while (!atrributeConstraintNodes.isEmpty()) { final LinkedList nodeList = - * getChildren(atrributeConstraintNodes.poll()); final LinkedList weightedTerms = new LinkedList<>(); RelationOperator - * relationOperator = null; boolean minus = false; int degree = 0; while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch - * (curNode.getType()) { case VelvetParser.ID: case VelvetParser.IDPath: final String attributeName = curNode.getText(); final - * Collection> attributes = extFeatureModel.getIntegerAttributes().getAttributes(attributeName); if (attributes == null) { - * throw new UnsupportedModelException(curNode.getLine() + ":" + curNode.getCharPositionInLine() + NO_SUCH_ATTRIBUTE_DEFINED_, curNode.getLine()); } - * for (final FeatureAttribute attr : attributes) { weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, new - * Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); } break; // case VelvetParser.FLOAT: // break; case VelvetParser.INT: - * final int value = Integer.parseInt(curNode.getText()); if ((relationOperator == null) ^ minus) { degree -= value; } else { degree += value; } - * break; case VelvetParser.PLUS: minus = false; break; case VelvetParser.MINUS: minus = true; break; case VelvetParser.ATTR_OP_EQUALS: - * relationOperator = RelationOperator.EQUAL; break; case VelvetParser.ATTR_OP_NOT_EQUALS: relationOperator = RelationOperator.NOT_EQUAL; break; - * case VelvetParser.ATTR_OP_GREATER: relationOperator = RelationOperator.GREATER; break; case VelvetParser.ATTR_OP_GREATER_EQ: relationOperator = - * RelationOperator.GREATER_EQUAL; break; case VelvetParser.ATTR_OP_LESS: relationOperator = RelationOperator.LESS; break; case - * VelvetParser.ATTR_OP_LESS_EQ: relationOperator = RelationOperator.LESS_EQUAL; break; default: reportSyntaxError(curNode); } } final Equation - * equation = new Equation(weightedTerms, relationOperator, degree); extFeatureModel.addAttributeConstraint(equation); } } private void - * parseConcept(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { - * final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: extFeatureModelName = checkTree(curNode).getText(); - * final MultiFeature rootFeature = (MultiFeature) factory.createFeature(extFeatureModel, extFeatureModelName); - * rootFeature.getStructure().setAbstract(true); rootFeature.getStructure().setMandatory(true); extFeatureModel.addFeature(rootFeature); - * extFeatureModel.getStructure().setRoot(rootFeature.getStructure()); parentStack.push(rootFeature); break; case VelvetParser.BASEEXT: useLongNames - * = true; parseInheritance(curNode); break; case VelvetParser.IMPORTINSTANCE: useLongNames = true; parseInstanceImport(curNode); break; case - * VelvetParser.IMPORTINTERFACE: useLongNames = true; parseInterfaceImport(curNode); break; case VelvetParser.DEF: parseDefinitions(curNode); break; - * default: reportSyntaxError(curNode); } } for (final ConstraintNode constraintNode : constraintNodeList) { if (!IS_USED_AS_API) { final String - * nameError = checkNode(constraintNode.computedNode); if (nameError == null) { - * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } else { - * reportWarning(constraintNode.rawNode, format("There is no feature with the name %s.", nameError)); } } else { - * extFeatureModel.addConstraint(factory.createConstraint(extFeatureModel, constraintNode.computedNode)); } } } private void parseConstraint(final - * Tree root, final IFeature parent) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) - * { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.ID: // name = curNode.getText(); break; case - * VelvetParser.CONSTR: Node newNode = parseConstraint_rec(curNode); if (useLongNames) { newNode = new Implies(new Literal(parent.getName()), - * newNode); } constraintNodeList.add(new ConstraintNode(newNode, curNode)); break; case VelvetParser.ACONSTR: - * atrributeConstraintNodes.add(curNode); break; default: reportSyntaxError(curNode); } } } private Node parseConstraint_rec(final Tree root) throws - * RecognitionException { final LinkedList nodeList = getChildren(root); final LinkedList nodes = new LinkedList<>(); final - * LinkedList operators = new LinkedList<>(); final LinkedList unaryOp = new LinkedList<>(); Node n = null; while - * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.UNARYOP: - * unaryOp.push(curNode.getChild(0).getType()); break; case VelvetParser.CONSTR: n = parseConstraint_rec(curNode); break; case VelvetParser.OPERAND: - * n = new Literal(curNode.getChild(0).getText()); break; default: operators.add(curNode.getType()); } if (n != null) { while (!unaryOp.isEmpty()) { - * switch (unaryOp.pop()) { case VelvetParser.OP_NOT: n = new Not(n); } } nodes.add(n); n = null; } } if (!operators.isEmpty()) { for (final int - * operator : binaryOperators) { final ListIterator nodesIt = nodes.listIterator(); for (final ListIterator opIt = - * operators.listIterator(); opIt.hasNext();) { final Node operand1 = nodesIt.next(); if (opIt.next() == operator) { opIt.remove(); - * nodesIt.remove(); final Node operand2 = nodesIt.next(); switch (operator) { case VelvetParser.OP_AND: nodesIt.set(new And(operand1, operand2)); - * break; case VelvetParser.OP_OR: nodesIt.set(new Or(operand1, operand2)); break; case VelvetParser.OP_XOR: nodesIt.set(new Choose(1, operand1, - * operand2)); break; case VelvetParser.OP_IMPLIES: nodesIt.set(new Implies(operand1, operand2)); break; case VelvetParser.OP_EQUIVALENT: - * nodesIt.set(new Equals(operand1, operand2)); break; } nodesIt.previous(); } } } } if (nodes.isEmpty()) { return null; } return nodes.getFirst(); - * } private void parseDefinitions(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); final - * IFeature parentFeature = parentStack.pop(); // parentFeature.getStructure().setAnd(); while (!nodeList.isEmpty()) { final Tree curNode = - * nodeList.poll(); switch (curNode.getType()) { // Feature case VelvetParser.FEATURE: parseFeature(curNode, parentFeature); break; // Feature-Group - * case VelvetParser.GROUP: parseFeatureGroup(curNode, parentFeature); break; // Constraint case VelvetParser.CONSTRAINT: parseConstraint(curNode, - * parentFeature); break; // Use case VelvetParser.USE: parseUse(curNode, parentFeature); break; // Attribute case VelvetParser.ATTR: - * parseAttribute(curNode, parentFeature); break; case VelvetParser.DESCRIPTION: parseDescription(curNode, parentFeature); break; case - * VelvetParser.EMPTY: break; default: reportSyntaxError(curNode); } } } private void parseDescription(Tree root, IFeature parent) throws - * RecognitionException { final LinkedList nodeList = getChildren(root); final Tree valueNode = nodeList.poll(); switch (valueNode.getType()) - * { case VelvetParser.STRING: final String valueNodeText = valueNode.getText(); parent.getProperty().setDescription(valueNodeText.substring(1, - * valueNodeText.length() - 1).replace("\\\"", "\"")); break; default: reportSyntaxError(valueNode); } } // XXX Quickfix for issue #383, - * useLongNames should only be active for MPL models private void parseFeature(final Tree root, IFeature parent) throws RecognitionException { final - * LinkedList childList = getChildren(root); final String featureName; if (extFeatureModel.isInterface()) { featureName = - * checkTree(childList.poll()).getText(); } else { final String childName = checkTree(childList.poll()).getText(); if (useLongNames && - * !childName.startsWith(parent.getName())) { featureName = parent.getName() + "." + childName; } else { featureName = childName; } } boolean - * isMandatory = false, isAbstract = false, moreDefinitions = false; Tree childNode = null; while (!childList.isEmpty() && !moreDefinitions) { - * childNode = childList.poll(); switch (childNode.getType()) { case VelvetParser.MANDATORY: isMandatory = true; break; case VelvetParser.ABSTRACT: - * isAbstract = true; break; case VelvetParser.DEF: moreDefinitions = true; break; default: reportSyntaxError(childNode); } } final MultiFeature - * newFeature = addFeature(parent, featureName, isMandatory, isAbstract, false); if (moreDefinitions) { parentStack.push(newFeature); - * parseDefinitions(childNode); } } private void parseFeatureGroup(final Tree root, final IFeature parent) throws RecognitionException { final - * LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { - * case VelvetParser.SOMEOF: parent.getStructure().setOr(); break; case VelvetParser.ONEOF: parent.getStructure().setAlternative(); break; case - * VelvetParser.FEATURE: parseFeature(curNode, parent); break; default: reportSyntaxError(curNode); } } } private void parseInheritance(final Tree - * root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while (!nodeList.isEmpty()) { final Tree curNode = - * nodeList.poll(); final String parentModelName = checkTree(curNode).getText(); final IFeatureModel fm = getExternalFeatureModel(curNode); if (fm - * == null) { return; } if (!extFeatureModel.addInheritance(parentModelName, parentModelName, null)) { reportWarning(curNode, THE_PARENT_MODEL + - * parentModelName + IS_ALREADY_USED_); return; } addExternalFeatures(fm, parentModelName, extFeatureModel.getStructure().getRoot(), - * MultiFeature.TYPE_INHERITED); } } private void addExternalFeatures(IFeatureModel sourceModel, String sourceModelName, IFeatureStructure - * targetParentFeature, int type) { if (sourceModel instanceof MultiFeatureModel) { for (final UsedModel usedModel : ((MultiFeatureModel) - * sourceModel).getExternalModels().values()) { extFeatureModel.addExternalModel(new UsedModel(usedModel, sourceModelName)); } } final UsedModel - * usedModel = extFeatureModel.getExternalModel(sourceModelName); if (usedModel != null) { - * usedModel.setPrefix(targetParentFeature.getFeature().getName() + "." + sourceModelName); } final IFeatureStructure instanceRoot = - * sourceModel.getStructure().getRoot(); String connectorName = ""; if (type == MultiFeature.TYPE_INHERITED) { connectorName = - * targetParentFeature.getFeature().getName(); } else { connectorName = (targetParentFeature.isRoot() && - * targetParentFeature.getFeature().getName().equals(sourceModelName)) ? targetParentFeature.getFeature().getName() : - * targetParentFeature.getFeature().getName() + "." + sourceModelName; } final MultiFeature connector = addFeature(targetParentFeature.getFeature(), - * connectorName, true, true, instanceRoot.isHidden()); connector.setType(type); connector.setExternalModelName(sourceModelName); if - * (instanceRoot.isAlternative()) { connector.getStructure().setAlternative(); } else if (instanceRoot.isOr()) { connector.getStructure().setOr(); } - * copyChildnodes(extFeatureModel, connector.getStructure(), instanceRoot, sourceModelName, connectorName, type); for (final IConstraint constraint - * : sourceModel.getConstraints()) { final Node constraintNode = constraint.getNode(); updateConstraintNode(constraintNode, connectorName, - * instanceRoot.getFeature().getName(), extFeatureModel); final MultiConstraint newConstraint = (MultiConstraint) - * factory.createConstraint(extFeatureModel, constraintNode); newConstraint.setType(type); extFeatureModel.addConstraint(newConstraint); } } private - * void parseInterfaceImport(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while - * (!nodeList.isEmpty()) { final Tree idNode = checkTree(nodeList.poll()); final String interfaceName = idNode.getText(); final Tree nameNode = - * checkTree(nodeList.poll()); final String varName = nameNode.getText(); if (checkInterfaceModelFile(idNode)) { if - * (!extFeatureModel.addInterface(interfaceName, varName, null)) { reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); } } } } - * private void parseInstanceImport(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while - * (!nodeList.isEmpty()) { final Tree idNode = checkTree(nodeList.poll()); final String interfaceName = idNode.getText(); final Tree nameNode = - * checkTree(nodeList.poll()); final String varName = nameNode.getText(); if (checkExternalModelFile(idNode)) { if - * (!extFeatureModel.addInstance(interfaceName, varName, null)) { reportWarning(idNode, THE_VARIABLE_NAME + varName + IS_ALREADY_IN_USE_); } } } } - * private void parseModel(final Tree root) throws RecognitionException { final LinkedList nodeList = getChildren(root); while - * (!nodeList.isEmpty()) { final Tree curNode = nodeList.poll(); switch (curNode.getType()) { case VelvetParser.IMPORT: useLongNames = true; - * parseImport(curNode); break; case VelvetParser.CONCEPT: parseConcept(curNode); break; case VelvetParser.CINTERFACE: - * extFeatureModel.setInterface(true); parseConcept(curNode); break; case VelvetParser.EOF: if (curNode.getTokenStartIndex() > -1) { break; } - * default: reportSyntaxError(curNode); } } if (!IS_USED_AS_API) { final IFeatureModelFactory mappingModelFactory = - * DefaultFeatureModelFactory.getInstance(); final IFeatureModel mappingModel = mappingModelFactory.create(); final IFeatureStructure rootFeature = - * mappingModelFactory.createFeature(mappingModel, "MPL").getStructure(); rootFeature.setAnd(); rootFeature.setAbstract(true); - * rootFeature.setMandatory(true); final LinkedList possibleProjects = new LinkedList<>(); final IProject[] projects = - * ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { final IProject project = projects[i]; if - * (project.isAccessible()) { possibleProjects.add(project.getName()); } } for (final Entry parameter : - * extFeatureModel.getExternalModels().entrySet()) { if (parameter.getValue().getType() == MultiFeature.TYPE_INTERFACE) { final IFeatureStructure - * parameterFeature = mappingModelFactory.createFeature(mappingModel, parameter.getKey()).getStructure(); parameterFeature.setOr(); - * parameterFeature.setAbstract(true); parameterFeature.setMandatory(true); rootFeature.addChild(parameterFeature); for (final String projectName : - * possibleProjects) { final IFeatureStructure projectFeature = mappingModelFactory.createFeature(mappingModel, - * parameterFeature.getFeature().getName() + "." + projectName).getStructure(); projectFeature.setAbstract(false); - * projectFeature.setMandatory(false); parameterFeature.addChild(projectFeature); } } } mappingModel.getStructure().setRoot(rootFeature); - * extFeatureModel.setMappingModel(mappingModel); } } private void parseImport(Tree curNode) throws RecognitionException { final LinkedList - * nodeList = getChildren(curNode); while (!nodeList.isEmpty()) { final Tree node = nodeList.poll(); final String text = node.getText(); - * extFeatureModel.addImport(text); } } private void parseUse(Tree root, IFeature parent) throws RecognitionException { final LinkedList - * childList = getChildren(root); final Tree useNameNode = checkTree(childList.poll()); final String varName = useNameNode.getText(); if - * (!usedVariables.add(varName)) { reportWarning(useNameNode, format("The Variable with the name %s was already used in this model.", varName)); - * return; } final UsedModel usedModel = extFeatureModel.getExternalModel(varName); if (usedModel == null) { reportWarning(useNameNode, - * format("No variable with the name %s found.", varName)); return; } switch (usedModel.getType()) { case MultiFeature.TYPE_INTERFACE: final - * IFeatureModel interfaceModel = getInterfaceFeatureModel(usedModel.getModelName(), useNameNode); if (interfaceModel == null) { return; } - * addExternalFeatures(interfaceModel, varName, parent.getStructure(), MultiFeature.TYPE_INTERFACE); break; case MultiFeature.TYPE_INSTANCE: final - * IFeatureModel instanceModel = getExternalFeatureModel(usedModel.getModelName(), useNameNode); if (instanceModel == null) { return; } - * addExternalFeatures(instanceModel, varName, parent.getStructure(), MultiFeature.TYPE_INSTANCE); break; default: reportWarning(useNameNode, - * format("The variable with the name %s is no interface or instance.", varName)); } } private void reportWarning(Tree curNode, String message) { if - * (modelMarkerHandler != null) { modelMarkerHandler.createModelMarker(message, org.eclipse.core.resources.IMarker.SEVERITY_WARNING, - * curNode.getLine()); } Logger.logWarning(message + " (at line " + curNode.getLine() + ((featureModelFile != null) ? IN_FILE + - * featureModelFile.getName() : "") + ": \"" + curNode.getText() + "\")"); } private Tree checkTree(Tree root) throws RecognitionException { if - * (root instanceof CommonErrorNode) { throwException(((CommonErrorNode) root).trappedException, root); } return root; } private void - * reportSyntaxError(Tree curNode) throws RecognitionException { checkTree(curNode); final RecognitionException ex = new RecognitionException(); - * ex.line = 1; ex.charPositionInLine = 1; throwException(ex, curNode); } private void throwException(RecognitionException e, Tree curNode) throws - * RecognitionException { if (modelMarkerHandler != null) { final String text = ""; if (curNode != null) { curNode.getText(); } final String message - * = ILLEGAL_SYNTAX_IN_LINE + e.line + ":" + e.charPositionInLine + ". " + text; modelMarkerHandler.createModelMarker(message, - * org.eclipse.core.resources.IMarker.SEVERITY_ERROR, e.line); } throw e; } - * @Override public String getSuffix() { return FILE_EXTENSION; } - * @Override public VelvetFeatureModelFormat getInstance() { return new VelvetFeatureModelFormat(this); } - * @Override public String getId() { return ID; } - * @Override public String getName() { return "Velvet"; } - * @Override public boolean initExtension() { if (super.initExtension()) { - * FMFactoryManager.getInstance().getDefaultFactoryWorkspace().assignID(VelvetFeatureModelFormat.ID, MultiFeatureModelFactory.ID); } return false; } - */ + * (non-Javadoc) + * @see de.ovgu.featureide.fm.core.io.velvet.IVelvetFeatureModelFormat#getPaths() + */ + @Override + public String[] getPaths() { + return paths; + } } diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java index 5574516ac6..37bbe342df 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetListener.java @@ -221,15 +221,15 @@ public interface VelvetListener extends ParseTreeListener { */ void exitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx); /** - * Enter a parse tree produced by {@link VelvetParser#attribConstraint}. + * Enter a parse tree produced by {@link VelvetParser#attribNumExpr}. * @param ctx the parse tree */ - void enterAttribConstraint(VelvetParser.AttribConstraintContext ctx); + void enterAttribNumExpr(VelvetParser.AttribNumExprContext ctx); /** - * Exit a parse tree produced by {@link VelvetParser#attribConstraint}. + * Exit a parse tree produced by {@link VelvetParser#attribNumExpr}. * @param ctx the parse tree */ - void exitAttribConstraint(VelvetParser.AttribConstraintContext ctx); + void exitAttribNumExpr(VelvetParser.AttribNumExprContext ctx); /** * Enter a parse tree produced by {@link VelvetParser#attribOperator}. * @param ctx the parse tree diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java index f1cd765a53..8c1e26272d 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetParser.java @@ -37,7 +37,7 @@ public class VelvetParser extends Parser { RULE_use = 11, RULE_feature = 12, RULE_featureGroup = 13, RULE_groupType = 14, RULE_description = 15, RULE_constraint = 16, RULE_constraintDefinition = 17, RULE_constraintOperand = 18, RULE_attribute = 19, RULE_attributeConstraint = 20, - RULE_attribConstraint = 21, RULE_attribOperator = 22, RULE_attribNumInstance = 23, + RULE_attribNumExpr = 21, RULE_attribOperator = 22, RULE_attribNumInstance = 23, RULE_intAttribute = 24, RULE_floatAttribute = 25, RULE_stringAttribute = 26, RULE_boolAttribute = 27, RULE_unaryOp = 28, RULE_binaryOp = 29, RULE_attribRelation = 30; private static String[] makeRuleNames() { @@ -46,7 +46,7 @@ private static String[] makeRuleNames() { "interfaceImports", "name", "definitions", "definition", "nonFeatureDefinition", "use", "feature", "featureGroup", "groupType", "description", "constraint", "constraintDefinition", "constraintOperand", "attribute", "attributeConstraint", - "attribConstraint", "attribOperator", "attribNumInstance", "intAttribute", + "attribNumExpr", "attribOperator", "attribNumInstance", "intAttribute", "floatAttribute", "stringAttribute", "boolAttribute", "unaryOp", "binaryOp", "attribRelation" }; @@ -1696,8 +1696,14 @@ public final AttributeContext attribute() throws RecognitionException { @SuppressWarnings("CheckReturnValue") public static class AttributeConstraintContext extends ParserRuleContext { - public AttribConstraintContext attribConstraint() { - return getRuleContext(AttribConstraintContext.class,0); + public List attribNumExpr() { + return getRuleContexts(AttribNumExprContext.class); + } + public AttribNumExprContext attribNumExpr(int i) { + return getRuleContext(AttribNumExprContext.class,i); + } + public AttribRelationContext attribRelation() { + return getRuleContext(AttribRelationContext.class,0); } public AttributeConstraintContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); @@ -1725,7 +1731,11 @@ public final AttributeConstraintContext attributeConstraint() throws Recognition enterOuterAlt(_localctx, 1); { setState(244); - attribConstraint(); + attribNumExpr(); + setState(245); + attribRelation(); + setState(246); + attribNumExpr(); } } catch (RecognitionException re) { @@ -1740,83 +1750,60 @@ public final AttributeConstraintContext attributeConstraint() throws Recognition } @SuppressWarnings("CheckReturnValue") - public static class AttribConstraintContext extends ParserRuleContext { + public static class AttribNumExprContext extends ParserRuleContext { public List attribNumInstance() { return getRuleContexts(AttribNumInstanceContext.class); } public AttribNumInstanceContext attribNumInstance(int i) { return getRuleContext(AttribNumInstanceContext.class,i); } - public AttribRelationContext attribRelation() { - return getRuleContext(AttribRelationContext.class,0); - } public List attribOperator() { return getRuleContexts(AttribOperatorContext.class); } public AttribOperatorContext attribOperator(int i) { return getRuleContext(AttribOperatorContext.class,i); } - public AttribConstraintContext(ParserRuleContext parent, int invokingState) { + public AttribNumExprContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); } - @Override public int getRuleIndex() { return RULE_attribConstraint; } + @Override public int getRuleIndex() { return RULE_attribNumExpr; } @Override public void enterRule(ParseTreeListener listener) { - if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribConstraint(this); + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).enterAttribNumExpr(this); } @Override public void exitRule(ParseTreeListener listener) { - if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribConstraint(this); + if ( listener instanceof VelvetListener ) ((VelvetListener)listener).exitAttribNumExpr(this); } @Override public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribConstraint(this); + if ( visitor instanceof VelvetVisitor ) return ((VelvetVisitor)visitor).visitAttribNumExpr(this); else return visitor.visitChildren(this); } } - public final AttribConstraintContext attribConstraint() throws RecognitionException { - AttribConstraintContext _localctx = new AttribConstraintContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_attribConstraint); + public final AttribNumExprContext attribNumExpr() throws RecognitionException { + AttribNumExprContext _localctx = new AttribNumExprContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_attribNumExpr); int _la; try { enterOuterAlt(_localctx, 1); { - setState(246); - attribNumInstance(); - setState(252); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==PLUS || _la==MINUS) { - { - { - setState(247); - attribOperator(); - setState(248); - attribNumInstance(); - } - } - setState(254); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(255); - attribRelation(); - setState(256); + setState(248); attribNumInstance(); - setState(262); + setState(254); _errHandler.sync(this); _la = _input.LA(1); while (_la==PLUS || _la==MINUS) { { { - setState(257); + setState(249); attribOperator(); - setState(258); + setState(250); attribNumInstance(); } } - setState(264); + setState(256); _errHandler.sync(this); _la = _input.LA(1); } @@ -1863,7 +1850,7 @@ public final AttribOperatorContext attribOperator() throws RecognitionException try { enterOuterAlt(_localctx, 1); { - setState(265); + setState(257); _la = _input.LA(1); if ( !(_la==PLUS || _la==MINUS) ) { _errHandler.recoverInline(this); @@ -1915,13 +1902,13 @@ public final AttribNumInstanceContext attribNumInstance() throws RecognitionExce AttribNumInstanceContext _localctx = new AttribNumInstanceContext(_ctx, getState()); enterRule(_localctx, 46, RULE_attribNumInstance); try { - setState(269); + setState(261); _errHandler.sync(this); switch (_input.LA(1)) { case INT: enterOuterAlt(_localctx, 1); { - setState(267); + setState(259); match(INT); } break; @@ -1929,7 +1916,7 @@ public final AttribNumInstanceContext attribNumInstance() throws RecognitionExce case IDPath: enterOuterAlt(_localctx, 2); { - setState(268); + setState(260); name(); } break; @@ -1982,18 +1969,18 @@ public final IntAttributeContext intAttribute() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(271); + setState(263); match(VAR_INT); - setState(272); + setState(264); name(); - setState(275); + setState(267); _errHandler.sync(this); _la = _input.LA(1); if (_la==EQ) { { - setState(273); + setState(265); match(EQ); - setState(274); + setState(266); match(INT); } } @@ -2045,18 +2032,18 @@ public final FloatAttributeContext floatAttribute() throws RecognitionException try { enterOuterAlt(_localctx, 1); { - setState(277); + setState(269); match(VAR_FLOAT); - setState(278); + setState(270); name(); - setState(281); + setState(273); _errHandler.sync(this); _la = _input.LA(1); if (_la==EQ) { { - setState(279); + setState(271); match(EQ); - setState(280); + setState(272); match(FLOAT); } } @@ -2108,18 +2095,18 @@ public final StringAttributeContext stringAttribute() throws RecognitionExceptio try { enterOuterAlt(_localctx, 1); { - setState(283); + setState(275); match(VAR_STRING); - setState(284); + setState(276); name(); - setState(287); + setState(279); _errHandler.sync(this); _la = _input.LA(1); if (_la==EQ) { { - setState(285); + setState(277); match(EQ); - setState(286); + setState(278); match(STRING); } } @@ -2171,18 +2158,18 @@ public final BoolAttributeContext boolAttribute() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(289); + setState(281); match(VAR_BOOL); - setState(290); + setState(282); name(); - setState(293); + setState(285); _errHandler.sync(this); _la = _input.LA(1); if (_la==EQ) { { - setState(291); + setState(283); match(EQ); - setState(292); + setState(284); match(BOOLEAN); } } @@ -2228,7 +2215,7 @@ public final UnaryOpContext unaryOp() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(295); + setState(287); match(OP_NOT); } } @@ -2276,7 +2263,7 @@ public final BinaryOpContext binaryOp() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(297); + setState(289); _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 16642998272L) != 0)) ) { _errHandler.recoverInline(this); @@ -2330,7 +2317,7 @@ public final AttribRelationContext attribRelation() throws RecognitionException try { enterOuterAlt(_localctx, 1); { - setState(299); + setState(291); _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 841813590016L) != 0)) ) { _errHandler.recoverInline(this); @@ -2354,7 +2341,7 @@ public final AttribRelationContext attribRelation() throws RecognitionException } public static final String _serializedATN = - "\u0004\u00019\u012e\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0004\u00019\u0126\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ @@ -2391,160 +2378,154 @@ public final AttribRelationContext attribRelation() throws RecognitionException "\u0012\u00e4\t\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001"+ "\u0012\u0003\u0012\u00eb\b\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001"+ "\u0013\u0003\u0013\u00f1\b\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001"+ - "\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0005\u0015\u00fb"+ - "\b\u0015\n\u0015\f\u0015\u00fe\t\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ - "\u0001\u0015\u0001\u0015\u0005\u0015\u0105\b\u0015\n\u0015\f\u0015\u0108"+ - "\t\u0015\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0003\u0017\u010e"+ - "\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u0114"+ - "\b\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019\u011a"+ - "\b\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u0120"+ - "\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u0126"+ - "\b\u001b\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001e\u0001"+ - "\u001e\u0001\u001e\u0000\u0000\u001f\u0000\u0002\u0004\u0006\b\n\f\u000e"+ - "\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<\u0000"+ - "\u0005\u0001\u000023\u0001\u0000\u0004\u0005\u0001\u0000\u001a\u001b\u0001"+ - "\u0000\u001d!\u0002\u0000\"\"&\'\u0138\u0000?\u0001\u0000\u0000\u0000"+ - "\u0002K\u0001\u0000\u0000\u0000\u0004O\u0001\u0000\u0000\u0000\u0006b"+ - "\u0001\u0000\u0000\u0000\bj\u0001\u0000\u0000\u0000\nr\u0001\u0000\u0000"+ - "\u0000\f}\u0001\u0000\u0000\u0000\u000e\u0088\u0001\u0000\u0000\u0000"+ - "\u0010\u008a\u0001\u0000\u0000\u0000\u0012\u0091\u0001\u0000\u0000\u0000"+ - "\u0014\u00a9\u0001\u0000\u0000\u0000\u0016\u00ab\u0001\u0000\u0000\u0000"+ - "\u0018\u00b5\u0001\u0000\u0000\u0000\u001a\u00bd\u0001\u0000\u0000\u0000"+ - "\u001c\u00c6\u0001\u0000\u0000\u0000\u001e\u00c8\u0001\u0000\u0000\u0000"+ - " \u00cc\u0001\u0000\u0000\u0000\"\u00d6\u0001\u0000\u0000\u0000$\u00e2"+ - "\u0001\u0000\u0000\u0000&\u00f0\u0001\u0000\u0000\u0000(\u00f4\u0001\u0000"+ - "\u0000\u0000*\u00f6\u0001\u0000\u0000\u0000,\u0109\u0001\u0000\u0000\u0000"+ - ".\u010d\u0001\u0000\u0000\u00000\u010f\u0001\u0000\u0000\u00002\u0115"+ - "\u0001\u0000\u0000\u00004\u011b\u0001\u0000\u0000\u00006\u0121\u0001\u0000"+ - "\u0000\u00008\u0127\u0001\u0000\u0000\u0000:\u0129\u0001\u0000\u0000\u0000"+ - "<\u012b\u0001\u0000\u0000\u0000>@\u0003\u0002\u0001\u0000?>\u0001\u0000"+ - "\u0000\u0000?@\u0001\u0000\u0000\u0000@C\u0001\u0000\u0000\u0000AD\u0003"+ - "\u0004\u0002\u0000BD\u0003\u0006\u0003\u0000CA\u0001\u0000\u0000\u0000"+ - "CB\u0001\u0000\u0000\u0000DE\u0001\u0000\u0000\u0000EF\u0005\u0000\u0000"+ - "\u0001F\u0001\u0001\u0000\u0000\u0000GH\u0005\u0001\u0000\u0000HI\u0003"+ - "\u000e\u0007\u0000IJ\u0005\u0012\u0000\u0000JL\u0001\u0000\u0000\u0000"+ - "KG\u0001\u0000\u0000\u0000LM\u0001\u0000\u0000\u0000MK\u0001\u0000\u0000"+ - "\u0000MN\u0001\u0000\u0000\u0000N\u0003\u0001\u0000\u0000\u0000OP\u0005"+ - "\u0006\u0000\u0000PS\u00052\u0000\u0000QR\u0005\u0019\u0000\u0000RT\u0003"+ - "\b\u0004\u0000SQ\u0001\u0000\u0000\u0000ST\u0001\u0000\u0000\u0000T]\u0001"+ - "\u0000\u0000\u0000UV\u0003\n\u0005\u0000VW\u0003\f\u0006\u0000W^\u0001"+ - "\u0000\u0000\u0000XY\u0003\f\u0006\u0000YZ\u0003\n\u0005\u0000Z^\u0001"+ - "\u0000\u0000\u0000[^\u0003\f\u0006\u0000\\^\u0003\n\u0005\u0000]U\u0001"+ - "\u0000\u0000\u0000]X\u0001\u0000\u0000\u0000][\u0001\u0000\u0000\u0000"+ - "]\\\u0001\u0000\u0000\u0000]^\u0001\u0000\u0000\u0000^`\u0001\u0000\u0000"+ - "\u0000_a\u0003\u0010\b\u0000`_\u0001\u0000\u0000\u0000`a\u0001\u0000\u0000"+ - "\u0000a\u0005\u0001\u0000\u0000\u0000bc\u0005\u0007\u0000\u0000cf\u0005"+ - "2\u0000\u0000de\u0005\u0019\u0000\u0000eg\u0003\b\u0004\u0000fd\u0001"+ - "\u0000\u0000\u0000fg\u0001\u0000\u0000\u0000gh\u0001\u0000\u0000\u0000"+ - "hi\u0003\u0010\b\u0000i\u0007\u0001\u0000\u0000\u0000jo\u00052\u0000\u0000"+ - "kl\u0005\u0018\u0000\u0000ln\u00052\u0000\u0000mk\u0001\u0000\u0000\u0000"+ - "nq\u0001\u0000\u0000\u0000om\u0001\u0000\u0000\u0000op\u0001\u0000\u0000"+ - "\u0000p\t\u0001\u0000\u0000\u0000qo\u0001\u0000\u0000\u0000rs\u0005\u000b"+ - "\u0000\u0000st\u00052\u0000\u0000tz\u0003\u000e\u0007\u0000uv\u0005\u0018"+ - "\u0000\u0000vw\u00052\u0000\u0000wy\u0003\u000e\u0007\u0000xu\u0001\u0000"+ - "\u0000\u0000y|\u0001\u0000\u0000\u0000zx\u0001\u0000\u0000\u0000z{\u0001"+ - "\u0000\u0000\u0000{\u000b\u0001\u0000\u0000\u0000|z\u0001\u0000\u0000"+ - "\u0000}~\u0005\f\u0000\u0000~\u007f\u00052\u0000\u0000\u007f\u0085\u0003"+ - "\u000e\u0007\u0000\u0080\u0081\u0005\u0018\u0000\u0000\u0081\u0082\u0005"+ - "2\u0000\u0000\u0082\u0084\u0003\u000e\u0007\u0000\u0083\u0080\u0001\u0000"+ - "\u0000\u0000\u0084\u0087\u0001\u0000\u0000\u0000\u0085\u0083\u0001\u0000"+ - "\u0000\u0000\u0085\u0086\u0001\u0000\u0000\u0000\u0086\r\u0001\u0000\u0000"+ - "\u0000\u0087\u0085\u0001\u0000\u0000\u0000\u0088\u0089\u0007\u0000\u0000"+ - "\u0000\u0089\u000f\u0001\u0000\u0000\u0000\u008a\u008b\u0005\u0013\u0000"+ - "\u0000\u008b\u008c\u0003\u0012\t\u0000\u008c\u008d\u0005\u0014\u0000\u0000"+ - "\u008d\u0011\u0001\u0000\u0000\u0000\u008e\u0090\u0003\u0014\n\u0000\u008f"+ - "\u008e\u0001\u0000\u0000\u0000\u0090\u0093\u0001\u0000\u0000\u0000\u0091"+ - "\u008f\u0001\u0000\u0000\u0000\u0091\u0092\u0001\u0000\u0000\u0000\u0092"+ - "\u00a3\u0001\u0000\u0000\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0094"+ - "\u0098\u0003\u001a\r\u0000\u0095\u0097\u0003\u0014\n\u0000\u0096\u0095"+ - "\u0001\u0000\u0000\u0000\u0097\u009a\u0001\u0000\u0000\u0000\u0098\u0096"+ - "\u0001\u0000\u0000\u0000\u0098\u0099\u0001\u0000\u0000\u0000\u0099\u00a4"+ - "\u0001\u0000\u0000\u0000\u009a\u0098\u0001\u0000\u0000\u0000\u009b\u00a0"+ - "\u0003\u0018\f\u0000\u009c\u009f\u0003\u0018\f\u0000\u009d\u009f\u0003"+ - "\u0014\n\u0000\u009e\u009c\u0001\u0000\u0000\u0000\u009e\u009d\u0001\u0000"+ - "\u0000\u0000\u009f\u00a2\u0001\u0000\u0000\u0000\u00a0\u009e\u0001\u0000"+ - "\u0000\u0000\u00a0\u00a1\u0001\u0000\u0000\u0000\u00a1\u00a4\u0001\u0000"+ - "\u0000\u0000\u00a2\u00a0\u0001\u0000\u0000\u0000\u00a3\u0094\u0001\u0000"+ - "\u0000\u0000\u00a3\u009b\u0001\u0000\u0000\u0000\u00a3\u00a4\u0001\u0000"+ - "\u0000\u0000\u00a4\u0013\u0001\u0000\u0000\u0000\u00a5\u00aa\u0003 \u0010"+ - "\u0000\u00a6\u00aa\u0003\u0016\u000b\u0000\u00a7\u00aa\u0003&\u0013\u0000"+ - "\u00a8\u00aa\u0003\u001e\u000f\u0000\u00a9\u00a5\u0001\u0000\u0000\u0000"+ - "\u00a9\u00a6\u0001\u0000\u0000\u0000\u00a9\u00a7\u0001\u0000\u0000\u0000"+ - "\u00a9\u00a8\u0001\u0000\u0000\u0000\u00aa\u0015\u0001\u0000\u0000\u0000"+ - "\u00ab\u00ac\u0005\n\u0000\u0000\u00ac\u00ad\u0003\u000e\u0007\u0000\u00ad"+ - "\u00ae\u0005\u0012\u0000\u0000\u00ae\u0017\u0001\u0000\u0000\u0000\u00af"+ - "\u00b0\u0005\u0002\u0000\u0000\u00b0\u00b6\u0005\u0003\u0000\u0000\u00b1"+ - "\u00b2\u0005\u0003\u0000\u0000\u00b2\u00b6\u0005\u0002\u0000\u0000\u00b3"+ - "\u00b6\u0005\u0002\u0000\u0000\u00b4\u00b6\u0005\u0003\u0000\u0000\u00b5"+ - "\u00af\u0001\u0000\u0000\u0000\u00b5\u00b1\u0001\u0000\u0000\u0000\u00b5"+ - "\u00b3\u0001\u0000\u0000\u0000\u00b5\u00b4\u0001\u0000\u0000\u0000\u00b5"+ - "\u00b6\u0001\u0000\u0000\u0000\u00b6\u00b7\u0001\u0000\u0000\u0000\u00b7"+ - "\u00b8\u0005\t\u0000\u0000\u00b8\u00bb\u0003\u000e\u0007\u0000\u00b9\u00bc"+ - "\u0003\u0010\b\u0000\u00ba\u00bc\u0005\u0012\u0000\u0000\u00bb\u00b9\u0001"+ - "\u0000\u0000\u0000\u00bb\u00ba\u0001\u0000\u0000\u0000\u00bc\u0019\u0001"+ - "\u0000\u0000\u0000\u00bd\u00be\u0003\u001c\u000e\u0000\u00be\u00c0\u0005"+ - "\u0013\u0000\u0000\u00bf\u00c1\u0003\u0018\f\u0000\u00c0\u00bf\u0001\u0000"+ - "\u0000\u0000\u00c1\u00c2\u0001\u0000\u0000\u0000\u00c2\u00c0\u0001\u0000"+ - "\u0000\u0000\u00c2\u00c3\u0001\u0000\u0000\u0000\u00c3\u00c4\u0001\u0000"+ - "\u0000\u0000\u00c4\u00c5\u0005\u0014\u0000\u0000\u00c5\u001b\u0001\u0000"+ - "\u0000\u0000\u00c6\u00c7\u0007\u0001\u0000\u0000\u00c7\u001d\u0001\u0000"+ - "\u0000\u0000\u00c8\u00c9\u0005\r\u0000\u0000\u00c9\u00ca\u00056\u0000"+ - "\u0000\u00ca\u00cb\u0005\u0012\u0000\u0000\u00cb\u001f\u0001\u0000\u0000"+ - "\u0000\u00cc\u00cd\u0005\b\u0000\u0000\u00cd\u00ce\u00052\u0000\u0000"+ - "\u00ce\u00cf\u0005\u0017\u0000\u0000\u00cf\u00d2\u0001\u0000\u0000\u0000"+ - "\u00d0\u00d3\u0003\"\u0011\u0000\u00d1\u00d3\u0003(\u0014\u0000\u00d2"+ - "\u00d0\u0001\u0000\u0000\u0000\u00d2\u00d1\u0001\u0000\u0000\u0000\u00d3"+ - "\u00d4\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005\u0012\u0000\u0000\u00d5"+ - "!\u0001\u0000\u0000\u0000\u00d6\u00dc\u0003$\u0012\u0000\u00d7\u00d8\u0003"+ - ":\u001d\u0000\u00d8\u00d9\u0003$\u0012\u0000\u00d9\u00db\u0001\u0000\u0000"+ - "\u0000\u00da\u00d7\u0001\u0000\u0000\u0000\u00db\u00de\u0001\u0000\u0000"+ - "\u0000\u00dc\u00da\u0001\u0000\u0000\u0000\u00dc\u00dd\u0001\u0000\u0000"+ - "\u0000\u00dd#\u0001\u0000\u0000\u0000\u00de\u00dc\u0001\u0000\u0000\u0000"+ - "\u00df\u00e1\u00038\u001c\u0000\u00e0\u00df\u0001\u0000\u0000\u0000\u00e1"+ - "\u00e4\u0001\u0000\u0000\u0000\u00e2\u00e0\u0001\u0000\u0000\u0000\u00e2"+ - "\u00e3\u0001\u0000\u0000\u0000\u00e3\u00ea\u0001\u0000\u0000\u0000\u00e4"+ - "\u00e2\u0001\u0000\u0000\u0000\u00e5\u00e6\u0005\u0015\u0000\u0000\u00e6"+ - "\u00e7\u0003\"\u0011\u0000\u00e7\u00e8\u0005\u0016\u0000\u0000\u00e8\u00eb"+ - "\u0001\u0000\u0000\u0000\u00e9\u00eb\u0003\u000e\u0007\u0000\u00ea\u00e5"+ - "\u0001\u0000\u0000\u0000\u00ea\u00e9\u0001\u0000\u0000\u0000\u00eb%\u0001"+ - "\u0000\u0000\u0000\u00ec\u00f1\u00030\u0018\u0000\u00ed\u00f1\u00032\u0019"+ - "\u0000\u00ee\u00f1\u00034\u001a\u0000\u00ef\u00f1\u00036\u001b\u0000\u00f0"+ - "\u00ec\u0001\u0000\u0000\u0000\u00f0\u00ed\u0001\u0000\u0000\u0000\u00f0"+ - "\u00ee\u0001\u0000\u0000\u0000\u00f0\u00ef\u0001\u0000\u0000\u0000\u00f1"+ - "\u00f2\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005\u0012\u0000\u0000\u00f3"+ - "\'\u0001\u0000\u0000\u0000\u00f4\u00f5\u0003*\u0015\u0000\u00f5)\u0001"+ - "\u0000\u0000\u0000\u00f6\u00fc\u0003.\u0017\u0000\u00f7\u00f8\u0003,\u0016"+ - "\u0000\u00f8\u00f9\u0003.\u0017\u0000\u00f9\u00fb\u0001\u0000\u0000\u0000"+ - "\u00fa\u00f7\u0001\u0000\u0000\u0000\u00fb\u00fe\u0001\u0000\u0000\u0000"+ - "\u00fc\u00fa\u0001\u0000\u0000\u0000\u00fc\u00fd\u0001\u0000\u0000\u0000"+ - "\u00fd\u00ff\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000"+ - "\u00ff\u0100\u0003<\u001e\u0000\u0100\u0106\u0003.\u0017\u0000\u0101\u0102"+ - "\u0003,\u0016\u0000\u0102\u0103\u0003.\u0017\u0000\u0103\u0105\u0001\u0000"+ - "\u0000\u0000\u0104\u0101\u0001\u0000\u0000\u0000\u0105\u0108\u0001\u0000"+ - "\u0000\u0000\u0106\u0104\u0001\u0000\u0000\u0000\u0106\u0107\u0001\u0000"+ - "\u0000\u0000\u0107+\u0001\u0000\u0000\u0000\u0108\u0106\u0001\u0000\u0000"+ - "\u0000\u0109\u010a\u0007\u0002\u0000\u0000\u010a-\u0001\u0000\u0000\u0000"+ - "\u010b\u010e\u00054\u0000\u0000\u010c\u010e\u0003\u000e\u0007\u0000\u010d"+ - "\u010b\u0001\u0000\u0000\u0000\u010d\u010c\u0001\u0000\u0000\u0000\u010e"+ - "/\u0001\u0000\u0000\u0000\u010f\u0110\u0005\u000e\u0000\u0000\u0110\u0113"+ - "\u0003\u000e\u0007\u0000\u0111\u0112\u0005\u0017\u0000\u0000\u0112\u0114"+ - "\u00054\u0000\u0000\u0113\u0111\u0001\u0000\u0000\u0000\u0113\u0114\u0001"+ - "\u0000\u0000\u0000\u01141\u0001\u0000\u0000\u0000\u0115\u0116\u0005\u000f"+ - "\u0000\u0000\u0116\u0119\u0003\u000e\u0007\u0000\u0117\u0118\u0005\u0017"+ - "\u0000\u0000\u0118\u011a\u00055\u0000\u0000\u0119\u0117\u0001\u0000\u0000"+ - "\u0000\u0119\u011a\u0001\u0000\u0000\u0000\u011a3\u0001\u0000\u0000\u0000"+ - "\u011b\u011c\u0005\u0010\u0000\u0000\u011c\u011f\u0003\u000e\u0007\u0000"+ - "\u011d\u011e\u0005\u0017\u0000\u0000\u011e\u0120\u00056\u0000\u0000\u011f"+ - "\u011d\u0001\u0000\u0000\u0000\u011f\u0120\u0001\u0000\u0000\u0000\u0120"+ - "5\u0001\u0000\u0000\u0000\u0121\u0122\u0005\u0011\u0000\u0000\u0122\u0125"+ - "\u0003\u000e\u0007\u0000\u0123\u0124\u0005\u0017\u0000\u0000\u0124\u0126"+ - "\u00051\u0000\u0000\u0125\u0123\u0001\u0000\u0000\u0000\u0125\u0126\u0001"+ - "\u0000\u0000\u0000\u01267\u0001\u0000\u0000\u0000\u0127\u0128\u0005\u001c"+ - "\u0000\u0000\u01289\u0001\u0000\u0000\u0000\u0129\u012a\u0007\u0003\u0000"+ - "\u0000\u012a;\u0001\u0000\u0000\u0000\u012b\u012c\u0007\u0004\u0000\u0000"+ - "\u012c=\u0001\u0000\u0000\u0000\u001f?CMS]`foz\u0085\u0091\u0098\u009e"+ - "\u00a0\u00a3\u00a9\u00b5\u00bb\u00c2\u00d2\u00dc\u00e2\u00ea\u00f0\u00fc"+ - "\u0106\u010d\u0113\u0119\u011f\u0125"; + "\u0014\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001"+ + "\u0015\u0005\u0015\u00fd\b\u0015\n\u0015\f\u0015\u0100\t\u0015\u0001\u0016"+ + "\u0001\u0016\u0001\u0017\u0001\u0017\u0003\u0017\u0106\b\u0017\u0001\u0018"+ + "\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u010c\b\u0018\u0001\u0019"+ + "\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019\u0112\b\u0019\u0001\u001a"+ + "\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u0118\b\u001a\u0001\u001b"+ + "\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u011e\b\u001b\u0001\u001c"+ + "\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e"+ + "\u0000\u0000\u001f\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014"+ + "\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<\u0000\u0005\u0001\u0000"+ + "23\u0001\u0000\u0004\u0005\u0001\u0000\u001a\u001b\u0001\u0000\u001d!"+ + "\u0002\u0000\"\"&\'\u012f\u0000?\u0001\u0000\u0000\u0000\u0002K\u0001"+ + "\u0000\u0000\u0000\u0004O\u0001\u0000\u0000\u0000\u0006b\u0001\u0000\u0000"+ + "\u0000\bj\u0001\u0000\u0000\u0000\nr\u0001\u0000\u0000\u0000\f}\u0001"+ + "\u0000\u0000\u0000\u000e\u0088\u0001\u0000\u0000\u0000\u0010\u008a\u0001"+ + "\u0000\u0000\u0000\u0012\u0091\u0001\u0000\u0000\u0000\u0014\u00a9\u0001"+ + "\u0000\u0000\u0000\u0016\u00ab\u0001\u0000\u0000\u0000\u0018\u00b5\u0001"+ + "\u0000\u0000\u0000\u001a\u00bd\u0001\u0000\u0000\u0000\u001c\u00c6\u0001"+ + "\u0000\u0000\u0000\u001e\u00c8\u0001\u0000\u0000\u0000 \u00cc\u0001\u0000"+ + "\u0000\u0000\"\u00d6\u0001\u0000\u0000\u0000$\u00e2\u0001\u0000\u0000"+ + "\u0000&\u00f0\u0001\u0000\u0000\u0000(\u00f4\u0001\u0000\u0000\u0000*"+ + "\u00f8\u0001\u0000\u0000\u0000,\u0101\u0001\u0000\u0000\u0000.\u0105\u0001"+ + "\u0000\u0000\u00000\u0107\u0001\u0000\u0000\u00002\u010d\u0001\u0000\u0000"+ + "\u00004\u0113\u0001\u0000\u0000\u00006\u0119\u0001\u0000\u0000\u00008"+ + "\u011f\u0001\u0000\u0000\u0000:\u0121\u0001\u0000\u0000\u0000<\u0123\u0001"+ + "\u0000\u0000\u0000>@\u0003\u0002\u0001\u0000?>\u0001\u0000\u0000\u0000"+ + "?@\u0001\u0000\u0000\u0000@C\u0001\u0000\u0000\u0000AD\u0003\u0004\u0002"+ + "\u0000BD\u0003\u0006\u0003\u0000CA\u0001\u0000\u0000\u0000CB\u0001\u0000"+ + "\u0000\u0000DE\u0001\u0000\u0000\u0000EF\u0005\u0000\u0000\u0001F\u0001"+ + "\u0001\u0000\u0000\u0000GH\u0005\u0001\u0000\u0000HI\u0003\u000e\u0007"+ + "\u0000IJ\u0005\u0012\u0000\u0000JL\u0001\u0000\u0000\u0000KG\u0001\u0000"+ + "\u0000\u0000LM\u0001\u0000\u0000\u0000MK\u0001\u0000\u0000\u0000MN\u0001"+ + "\u0000\u0000\u0000N\u0003\u0001\u0000\u0000\u0000OP\u0005\u0006\u0000"+ + "\u0000PS\u00052\u0000\u0000QR\u0005\u0019\u0000\u0000RT\u0003\b\u0004"+ + "\u0000SQ\u0001\u0000\u0000\u0000ST\u0001\u0000\u0000\u0000T]\u0001\u0000"+ + "\u0000\u0000UV\u0003\n\u0005\u0000VW\u0003\f\u0006\u0000W^\u0001\u0000"+ + "\u0000\u0000XY\u0003\f\u0006\u0000YZ\u0003\n\u0005\u0000Z^\u0001\u0000"+ + "\u0000\u0000[^\u0003\f\u0006\u0000\\^\u0003\n\u0005\u0000]U\u0001\u0000"+ + "\u0000\u0000]X\u0001\u0000\u0000\u0000][\u0001\u0000\u0000\u0000]\\\u0001"+ + "\u0000\u0000\u0000]^\u0001\u0000\u0000\u0000^`\u0001\u0000\u0000\u0000"+ + "_a\u0003\u0010\b\u0000`_\u0001\u0000\u0000\u0000`a\u0001\u0000\u0000\u0000"+ + "a\u0005\u0001\u0000\u0000\u0000bc\u0005\u0007\u0000\u0000cf\u00052\u0000"+ + "\u0000de\u0005\u0019\u0000\u0000eg\u0003\b\u0004\u0000fd\u0001\u0000\u0000"+ + "\u0000fg\u0001\u0000\u0000\u0000gh\u0001\u0000\u0000\u0000hi\u0003\u0010"+ + "\b\u0000i\u0007\u0001\u0000\u0000\u0000jo\u00052\u0000\u0000kl\u0005\u0018"+ + "\u0000\u0000ln\u00052\u0000\u0000mk\u0001\u0000\u0000\u0000nq\u0001\u0000"+ + "\u0000\u0000om\u0001\u0000\u0000\u0000op\u0001\u0000\u0000\u0000p\t\u0001"+ + "\u0000\u0000\u0000qo\u0001\u0000\u0000\u0000rs\u0005\u000b\u0000\u0000"+ + "st\u00052\u0000\u0000tz\u0003\u000e\u0007\u0000uv\u0005\u0018\u0000\u0000"+ + "vw\u00052\u0000\u0000wy\u0003\u000e\u0007\u0000xu\u0001\u0000\u0000\u0000"+ + "y|\u0001\u0000\u0000\u0000zx\u0001\u0000\u0000\u0000z{\u0001\u0000\u0000"+ + "\u0000{\u000b\u0001\u0000\u0000\u0000|z\u0001\u0000\u0000\u0000}~\u0005"+ + "\f\u0000\u0000~\u007f\u00052\u0000\u0000\u007f\u0085\u0003\u000e\u0007"+ + "\u0000\u0080\u0081\u0005\u0018\u0000\u0000\u0081\u0082\u00052\u0000\u0000"+ + "\u0082\u0084\u0003\u000e\u0007\u0000\u0083\u0080\u0001\u0000\u0000\u0000"+ + "\u0084\u0087\u0001\u0000\u0000\u0000\u0085\u0083\u0001\u0000\u0000\u0000"+ + "\u0085\u0086\u0001\u0000\u0000\u0000\u0086\r\u0001\u0000\u0000\u0000\u0087"+ + "\u0085\u0001\u0000\u0000\u0000\u0088\u0089\u0007\u0000\u0000\u0000\u0089"+ + "\u000f\u0001\u0000\u0000\u0000\u008a\u008b\u0005\u0013\u0000\u0000\u008b"+ + "\u008c\u0003\u0012\t\u0000\u008c\u008d\u0005\u0014\u0000\u0000\u008d\u0011"+ + "\u0001\u0000\u0000\u0000\u008e\u0090\u0003\u0014\n\u0000\u008f\u008e\u0001"+ + "\u0000\u0000\u0000\u0090\u0093\u0001\u0000\u0000\u0000\u0091\u008f\u0001"+ + "\u0000\u0000\u0000\u0091\u0092\u0001\u0000\u0000\u0000\u0092\u00a3\u0001"+ + "\u0000\u0000\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0094\u0098\u0003"+ + "\u001a\r\u0000\u0095\u0097\u0003\u0014\n\u0000\u0096\u0095\u0001\u0000"+ + "\u0000\u0000\u0097\u009a\u0001\u0000\u0000\u0000\u0098\u0096\u0001\u0000"+ + "\u0000\u0000\u0098\u0099\u0001\u0000\u0000\u0000\u0099\u00a4\u0001\u0000"+ + "\u0000\u0000\u009a\u0098\u0001\u0000\u0000\u0000\u009b\u00a0\u0003\u0018"+ + "\f\u0000\u009c\u009f\u0003\u0018\f\u0000\u009d\u009f\u0003\u0014\n\u0000"+ + "\u009e\u009c\u0001\u0000\u0000\u0000\u009e\u009d\u0001\u0000\u0000\u0000"+ + "\u009f\u00a2\u0001\u0000\u0000\u0000\u00a0\u009e\u0001\u0000\u0000\u0000"+ + "\u00a0\u00a1\u0001\u0000\u0000\u0000\u00a1\u00a4\u0001\u0000\u0000\u0000"+ + "\u00a2\u00a0\u0001\u0000\u0000\u0000\u00a3\u0094\u0001\u0000\u0000\u0000"+ + "\u00a3\u009b\u0001\u0000\u0000\u0000\u00a3\u00a4\u0001\u0000\u0000\u0000"+ + "\u00a4\u0013\u0001\u0000\u0000\u0000\u00a5\u00aa\u0003 \u0010\u0000\u00a6"+ + "\u00aa\u0003\u0016\u000b\u0000\u00a7\u00aa\u0003&\u0013\u0000\u00a8\u00aa"+ + "\u0003\u001e\u000f\u0000\u00a9\u00a5\u0001\u0000\u0000\u0000\u00a9\u00a6"+ + "\u0001\u0000\u0000\u0000\u00a9\u00a7\u0001\u0000\u0000\u0000\u00a9\u00a8"+ + "\u0001\u0000\u0000\u0000\u00aa\u0015\u0001\u0000\u0000\u0000\u00ab\u00ac"+ + "\u0005\n\u0000\u0000\u00ac\u00ad\u0003\u000e\u0007\u0000\u00ad\u00ae\u0005"+ + "\u0012\u0000\u0000\u00ae\u0017\u0001\u0000\u0000\u0000\u00af\u00b0\u0005"+ + "\u0002\u0000\u0000\u00b0\u00b6\u0005\u0003\u0000\u0000\u00b1\u00b2\u0005"+ + "\u0003\u0000\u0000\u00b2\u00b6\u0005\u0002\u0000\u0000\u00b3\u00b6\u0005"+ + "\u0002\u0000\u0000\u00b4\u00b6\u0005\u0003\u0000\u0000\u00b5\u00af\u0001"+ + "\u0000\u0000\u0000\u00b5\u00b1\u0001\u0000\u0000\u0000\u00b5\u00b3\u0001"+ + "\u0000\u0000\u0000\u00b5\u00b4\u0001\u0000\u0000\u0000\u00b5\u00b6\u0001"+ + "\u0000\u0000\u0000\u00b6\u00b7\u0001\u0000\u0000\u0000\u00b7\u00b8\u0005"+ + "\t\u0000\u0000\u00b8\u00bb\u0003\u000e\u0007\u0000\u00b9\u00bc\u0003\u0010"+ + "\b\u0000\u00ba\u00bc\u0005\u0012\u0000\u0000\u00bb\u00b9\u0001\u0000\u0000"+ + "\u0000\u00bb\u00ba\u0001\u0000\u0000\u0000\u00bc\u0019\u0001\u0000\u0000"+ + "\u0000\u00bd\u00be\u0003\u001c\u000e\u0000\u00be\u00c0\u0005\u0013\u0000"+ + "\u0000\u00bf\u00c1\u0003\u0018\f\u0000\u00c0\u00bf\u0001\u0000\u0000\u0000"+ + "\u00c1\u00c2\u0001\u0000\u0000\u0000\u00c2\u00c0\u0001\u0000\u0000\u0000"+ + "\u00c2\u00c3\u0001\u0000\u0000\u0000\u00c3\u00c4\u0001\u0000\u0000\u0000"+ + "\u00c4\u00c5\u0005\u0014\u0000\u0000\u00c5\u001b\u0001\u0000\u0000\u0000"+ + "\u00c6\u00c7\u0007\u0001\u0000\u0000\u00c7\u001d\u0001\u0000\u0000\u0000"+ + "\u00c8\u00c9\u0005\r\u0000\u0000\u00c9\u00ca\u00056\u0000\u0000\u00ca"+ + "\u00cb\u0005\u0012\u0000\u0000\u00cb\u001f\u0001\u0000\u0000\u0000\u00cc"+ + "\u00cd\u0005\b\u0000\u0000\u00cd\u00ce\u00052\u0000\u0000\u00ce\u00cf"+ + "\u0005\u0017\u0000\u0000\u00cf\u00d2\u0001\u0000\u0000\u0000\u00d0\u00d3"+ + "\u0003\"\u0011\u0000\u00d1\u00d3\u0003(\u0014\u0000\u00d2\u00d0\u0001"+ + "\u0000\u0000\u0000\u00d2\u00d1\u0001\u0000\u0000\u0000\u00d3\u00d4\u0001"+ + "\u0000\u0000\u0000\u00d4\u00d5\u0005\u0012\u0000\u0000\u00d5!\u0001\u0000"+ + "\u0000\u0000\u00d6\u00dc\u0003$\u0012\u0000\u00d7\u00d8\u0003:\u001d\u0000"+ + "\u00d8\u00d9\u0003$\u0012\u0000\u00d9\u00db\u0001\u0000\u0000\u0000\u00da"+ + "\u00d7\u0001\u0000\u0000\u0000\u00db\u00de\u0001\u0000\u0000\u0000\u00dc"+ + "\u00da\u0001\u0000\u0000\u0000\u00dc\u00dd\u0001\u0000\u0000\u0000\u00dd"+ + "#\u0001\u0000\u0000\u0000\u00de\u00dc\u0001\u0000\u0000\u0000\u00df\u00e1"+ + "\u00038\u001c\u0000\u00e0\u00df\u0001\u0000\u0000\u0000\u00e1\u00e4\u0001"+ + "\u0000\u0000\u0000\u00e2\u00e0\u0001\u0000\u0000\u0000\u00e2\u00e3\u0001"+ + "\u0000\u0000\u0000\u00e3\u00ea\u0001\u0000\u0000\u0000\u00e4\u00e2\u0001"+ + "\u0000\u0000\u0000\u00e5\u00e6\u0005\u0015\u0000\u0000\u00e6\u00e7\u0003"+ + "\"\u0011\u0000\u00e7\u00e8\u0005\u0016\u0000\u0000\u00e8\u00eb\u0001\u0000"+ + "\u0000\u0000\u00e9\u00eb\u0003\u000e\u0007\u0000\u00ea\u00e5\u0001\u0000"+ + "\u0000\u0000\u00ea\u00e9\u0001\u0000\u0000\u0000\u00eb%\u0001\u0000\u0000"+ + "\u0000\u00ec\u00f1\u00030\u0018\u0000\u00ed\u00f1\u00032\u0019\u0000\u00ee"+ + "\u00f1\u00034\u001a\u0000\u00ef\u00f1\u00036\u001b\u0000\u00f0\u00ec\u0001"+ + "\u0000\u0000\u0000\u00f0\u00ed\u0001\u0000\u0000\u0000\u00f0\u00ee\u0001"+ + "\u0000\u0000\u0000\u00f0\u00ef\u0001\u0000\u0000\u0000\u00f1\u00f2\u0001"+ + "\u0000\u0000\u0000\u00f2\u00f3\u0005\u0012\u0000\u0000\u00f3\'\u0001\u0000"+ + "\u0000\u0000\u00f4\u00f5\u0003*\u0015\u0000\u00f5\u00f6\u0003<\u001e\u0000"+ + "\u00f6\u00f7\u0003*\u0015\u0000\u00f7)\u0001\u0000\u0000\u0000\u00f8\u00fe"+ + "\u0003.\u0017\u0000\u00f9\u00fa\u0003,\u0016\u0000\u00fa\u00fb\u0003."+ + "\u0017\u0000\u00fb\u00fd\u0001\u0000\u0000\u0000\u00fc\u00f9\u0001\u0000"+ + "\u0000\u0000\u00fd\u0100\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000"+ + "\u0000\u0000\u00fe\u00ff\u0001\u0000\u0000\u0000\u00ff+\u0001\u0000\u0000"+ + "\u0000\u0100\u00fe\u0001\u0000\u0000\u0000\u0101\u0102\u0007\u0002\u0000"+ + "\u0000\u0102-\u0001\u0000\u0000\u0000\u0103\u0106\u00054\u0000\u0000\u0104"+ + "\u0106\u0003\u000e\u0007\u0000\u0105\u0103\u0001\u0000\u0000\u0000\u0105"+ + "\u0104\u0001\u0000\u0000\u0000\u0106/\u0001\u0000\u0000\u0000\u0107\u0108"+ + "\u0005\u000e\u0000\u0000\u0108\u010b\u0003\u000e\u0007\u0000\u0109\u010a"+ + "\u0005\u0017\u0000\u0000\u010a\u010c\u00054\u0000\u0000\u010b\u0109\u0001"+ + "\u0000\u0000\u0000\u010b\u010c\u0001\u0000\u0000\u0000\u010c1\u0001\u0000"+ + "\u0000\u0000\u010d\u010e\u0005\u000f\u0000\u0000\u010e\u0111\u0003\u000e"+ + "\u0007\u0000\u010f\u0110\u0005\u0017\u0000\u0000\u0110\u0112\u00055\u0000"+ + "\u0000\u0111\u010f\u0001\u0000\u0000\u0000\u0111\u0112\u0001\u0000\u0000"+ + "\u0000\u01123\u0001\u0000\u0000\u0000\u0113\u0114\u0005\u0010\u0000\u0000"+ + "\u0114\u0117\u0003\u000e\u0007\u0000\u0115\u0116\u0005\u0017\u0000\u0000"+ + "\u0116\u0118\u00056\u0000\u0000\u0117\u0115\u0001\u0000\u0000\u0000\u0117"+ + "\u0118\u0001\u0000\u0000\u0000\u01185\u0001\u0000\u0000\u0000\u0119\u011a"+ + "\u0005\u0011\u0000\u0000\u011a\u011d\u0003\u000e\u0007\u0000\u011b\u011c"+ + "\u0005\u0017\u0000\u0000\u011c\u011e\u00051\u0000\u0000\u011d\u011b\u0001"+ + "\u0000\u0000\u0000\u011d\u011e\u0001\u0000\u0000\u0000\u011e7\u0001\u0000"+ + "\u0000\u0000\u011f\u0120\u0005\u001c\u0000\u0000\u01209\u0001\u0000\u0000"+ + "\u0000\u0121\u0122\u0007\u0003\u0000\u0000\u0122;\u0001\u0000\u0000\u0000"+ + "\u0123\u0124\u0007\u0004\u0000\u0000\u0124=\u0001\u0000\u0000\u0000\u001e"+ + "?CMS]`foz\u0085\u0091\u0098\u009e\u00a0\u00a3\u00a9\u00b5\u00bb\u00c2"+ + "\u00d2\u00dc\u00e2\u00ea\u00f0\u00fe\u0105\u010b\u0111\u0117\u011d"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java index b6562fff25..1b53004923 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitor.java @@ -140,11 +140,11 @@ public interface VelvetVisitor extends ParseTreeVisitor { */ T visitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx); /** - * Visit a parse tree produced by {@link VelvetParser#attribConstraint}. + * Visit a parse tree produced by {@link VelvetParser#attribNumExpr}. * @param ctx the parse tree * @return the visitor result */ - T visitAttribConstraint(VelvetParser.AttribConstraintContext ctx); + T visitAttribNumExpr(VelvetParser.AttribNumExprContext ctx); /** * Visit a parse tree produced by {@link VelvetParser#attribOperator}. * @param ctx the parse tree diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java index e524228f11..4a0b1cdc74 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/velvet/VelvetVisitorImpl.java @@ -20,23 +20,898 @@ */ package de.ovgu.featureide.fm.core.io.velvet; -import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.ConceptContext; +import java.io.File; +import java.io.FilenameFilter; +import java.util.Collection; +import java.util.LinkedList; +import java.util.Map.Entry; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.tree.ParseTree; +import org.antlr.v4.runtime.tree.TerminalNode; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; +import org.prop4j.And; +import org.prop4j.Choose; +import org.prop4j.Equals; +import org.prop4j.Implies; +import org.prop4j.Literal; +import org.prop4j.Node; +import org.prop4j.Not; +import org.prop4j.Or; + +import de.ovgu.featureide.fm.core.Logger; +import de.ovgu.featureide.fm.core.base.IConstraint; +import de.ovgu.featureide.fm.core.base.IFeature; +import de.ovgu.featureide.fm.core.base.IFeatureModel; +import de.ovgu.featureide.fm.core.base.IFeatureModelFactory; +import de.ovgu.featureide.fm.core.base.IFeatureStructure; +import de.ovgu.featureide.fm.core.base.impl.DefaultFeatureModelFactory; +import de.ovgu.featureide.fm.core.base.impl.FMFormatManager; +import de.ovgu.featureide.fm.core.base.impl.MultiConstraint; +import de.ovgu.featureide.fm.core.base.impl.MultiFeature; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel.UsedModel; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModelFactory; +import de.ovgu.featureide.fm.core.constraint.Equation; +import de.ovgu.featureide.fm.core.constraint.FeatureAttribute; +import de.ovgu.featureide.fm.core.constraint.Reference; +import de.ovgu.featureide.fm.core.constraint.ReferenceType; +import de.ovgu.featureide.fm.core.constraint.RelationOperator; +import de.ovgu.featureide.fm.core.constraint.WeightedTerm; +import de.ovgu.featureide.fm.core.io.manager.FeatureModelManager; +import de.ovgu.featureide.fm.core.io.manager.SimpleFileHandler; +import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.AttribNumExprContext; +import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.FeatureContext; +import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.NonFeatureDefinitionContext; + +//import de.ovgu.featureide.fm.core.io.velvet.VelvetParser.ConceptContext; /** * TODO description * * @author mgrave + * @author Oleksandr Kudriavchenko */ public class VelvetVisitorImpl extends VelvetBaseVisitor { - /* - * (non-Javadoc) - * @see de.ovgu.featureide.fm.core.io.velvet.VelvetBaseVisitor#visitConcept(de.ovgu.featureide.fm.core.io.velvet.VelvetParser.ConceptContext) + private final IVelvetFeatureModelFormat data; + // private final SimpleVelvetFeatureModelFormat data; + private final MultiFeatureModelFactory factory; + private Node RHS; + private Node LHS; + private RelationOperator relationOperator = null; + private IFeature currentParentFeature = null; + private LinkedList weightedTerms; + int degree = 0; + private String equationID = null; + private boolean useLongNames; + + /** + * @param velvetFeatureModelFormat */ + public VelvetVisitorImpl(IVelvetFeatureModelFormat data) { + + factory = MultiFeatureModelFactory.getInstance(); + useLongNames = false; + if (data instanceof VelvetFeatureModelFormat) { + this.data = (VelvetFeatureModelFormat) data; + } else if (data instanceof SimpleVelvetFeatureModelFormat) { + this.data = (SimpleVelvetFeatureModelFormat) data; + } else { + this.data = null; + return; + } + + } + + @Override + public Void visitVelvetModel(VelvetParser.VelvetModelContext ctx) { + + if (ctx.imp() != null) { + useLongNames = true; + visitImp(ctx.imp()); + } + if (ctx.concept() != null) { + visitConcept(ctx.concept()); + + } else if (ctx.cinterface() != null) { + data.getExtFeatureModel().setInterface(true); + visitCinterface(ctx.cinterface()); + } + if (!data.getIsUsedAsAPI()) { + final IFeatureModelFactory mappingModelFactory = DefaultFeatureModelFactory.getInstance(); + final IFeatureModel mappingModel = mappingModelFactory.create(); + final IFeatureStructure rootFeature = mappingModelFactory.createFeature(mappingModel, "MPL").getStructure(); + rootFeature.setAnd(); + rootFeature.setAbstract(true); + rootFeature.setMandatory(true); + + final LinkedList possibleProjects = new LinkedList<>(); + final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); + for (int i = 0; i < projects.length; i++) { + final IProject project = projects[i]; + if (project.isAccessible()) { + possibleProjects.add(project.getName()); + } + } + + for (final Entry parameter : data.getExtFeatureModel().getExternalModels().entrySet()) { + if (parameter.getValue().getType() == MultiFeature.TYPE_INTERFACE) { + final IFeatureStructure parameterFeature = mappingModelFactory.createFeature(mappingModel, parameter.getKey()).getStructure(); + parameterFeature.setOr(); + parameterFeature.setAbstract(true); + parameterFeature.setMandatory(true); + rootFeature.addChild(parameterFeature); + + for (final String projectName : possibleProjects) { + final IFeatureStructure projectFeature = + mappingModelFactory.createFeature(mappingModel, parameterFeature.getFeature().getName() + "." + projectName).getStructure(); + projectFeature.setAbstract(false); + projectFeature.setMandatory(false); + parameterFeature.addChild(projectFeature); + } + } + } + mappingModel.getStructure().setRoot(rootFeature); + data.getExtFeatureModel().setMappingModel(mappingModel); + } + return null; + } + + @Override + public Void visitConcept(VelvetParser.ConceptContext ctx) { + + if (ctx.ID() != null) { + data.setExtFeatureModelName(ctx.ID().getText()); + final MultiFeature rootFeature = (MultiFeature) factory.createFeature(data.getExtFeatureModel(), data.getExtFeatureModelName()); + rootFeature.getStructure().setAbstract(true); + rootFeature.getStructure().setMandatory(true); + data.getExtFeatureModel().addFeature(rootFeature); + data.getExtFeatureModel().getStructure().setRoot(rootFeature.getStructure()); + currentParentFeature = rootFeature; + } + + if (ctx.conceptBaseExt() != null) { + useLongNames = true; + visitConceptBaseExt(ctx.conceptBaseExt()); + + } + if (ctx.interfaceImports() != null) { + useLongNames = true; + visitInterfaceImports(ctx.interfaceImports()); + } + if (ctx.instanceImports() != null) { + useLongNames = true; + visitInstanceImports(ctx.instanceImports()); + } + if (ctx.definitions() != null) { + visitDefinitions(ctx.definitions()); + } + return null; + } + + @Override + public Void visitImp(VelvetParser.ImpContext ctx) { + for (final ParseTree imp : ctx.name()) { + data.getExtFeatureModel().addImport(imp.getText()); + } + return null; + } + + @Override + public Void visitCinterface(VelvetParser.CinterfaceContext ctx) { + if (ctx.ID() != null) { + data.setExtFeatureModelName(ctx.ID().getText()); + final MultiFeature rootFeature = (MultiFeature) factory.createFeature(data.getExtFeatureModel(), data.getExtFeatureModelName()); + rootFeature.getStructure().setAbstract(true); + rootFeature.getStructure().setMandatory(true); + data.getExtFeatureModel().addFeature(rootFeature); + data.getExtFeatureModel().getStructure().setRoot(rootFeature.getStructure()); + currentParentFeature = rootFeature; + } + if (ctx.conceptBaseExt() != null) { + visitConceptBaseExt(ctx.conceptBaseExt()); + } + if (ctx.definitions() != null) { + visitDefinitions(ctx.definitions()); + } + return null; + } + + @Override + public Void visitConceptBaseExt(VelvetParser.ConceptBaseExtContext ctx) { + for (final TerminalNode id : ctx.ID()) { + final String parentModelName = id.getText(); + final IFeatureModel fm = getExternalFeatureModel(parentModelName); + if (fm == null) { + return null; + } + if (!data.getExtFeatureModel().addInheritance(parentModelName, parentModelName, null)) { + reportWarning("THE_PARENT_MODEL" + parentModelName + "IS_ALREADY_USED_"); + return null; + } + addExternalFeatures(fm, parentModelName, data.getExtFeatureModel().getStructure().getRoot(), MultiFeature.TYPE_INHERITED); + } + return null; + } + + @Override + public Void visitInstanceImports(VelvetParser.InstanceImportsContext ctx) { + int i = 0; + for (final TerminalNode id : ctx.ID()) { + final String interfaceName = id.getText(); + final String varName = ctx.name(i).getText(); + i++; + if (checkExternalModelFile(interfaceName)) { + if (!data.getExtFeatureModel().addInstance(interfaceName, varName, null)) { + reportWarning("THE_VARIABLE_NAME " + varName + " IS_ALREADY_IN_USE_"); + } + } + } + return null; + } + + @Override + public Void visitInterfaceImports(VelvetParser.InterfaceImportsContext ctx) { + int i = 0; + for (final TerminalNode id : ctx.ID()) { + final String interfaceName = id.getText(); + final String varName = ctx.name(i).getText(); + i++; + if (checkExternalModelFile(interfaceName)) { + if (!data.getExtFeatureModel().addInterface(interfaceName, varName, null)) { + reportWarning("THE_VARIABLE_NAME " + varName + " IS_ALREADY_IN_USE_"); + } + } + } + return null; + } + + private boolean checkExternalModelFile(String curNode) { + if (data.getLocalSearch()) { + if (localSearch(curNode) == null) { + reportWarning(String.format("No model for %s could be found.", curNode)); + return false; + } + return true; + } + if (getExternalModelFile(curNode) == null) { + reportWarning(String.format("No model for %s could be found.", curNode)); + return false; + } + return true; + } + + @Override + public Void visitDefinitions(VelvetParser.DefinitionsContext ctx) { + if (ctx.definition() != null) { + visitDefinition(ctx.definition()); + } + return null; + } + + @Override + public Void visitDefinition(VelvetParser.DefinitionContext ctx) { + + final IFeature parent = currentParentFeature; + for (final FeatureContext feature : ctx.feature()) { + currentParentFeature = parent; + visitFeature(feature); + } + + if (ctx.featureGroup() != null) { + currentParentFeature = parent; + visitFeatureGroup(ctx.featureGroup()); + } + + for (final NonFeatureDefinitionContext nonFeatureDef : ctx.nonFeatureDefinition()) { + currentParentFeature = parent; + visitNonFeatureDefinition(nonFeatureDef); + } + + currentParentFeature = parent; + + return null; + } + @Override - public Void visitConcept(ConceptContext ctx) { - // TODO Auto-generated method stub - return super.visitConcept(ctx); + public Void visitNonFeatureDefinition(VelvetParser.NonFeatureDefinitionContext ctx) { + + if (ctx.constraint() != null) { + visitConstraint(ctx.constraint()); + } else if (ctx.attribute() != null) { + visitAttribute(ctx.attribute()); + } else if (ctx.description() != null) { + visitDescription(ctx.description()); + } else if (ctx.use() != null) { + visitUse(ctx.use()); + } + + return null; + } + + private IFeatureModel getInterfaceFeatureModel(String curNode) { + final File modelFile = getInterfaceModelFile(curNode); + if (modelFile == null) { + return null; + } + return readModel(modelFile, curNode); + } + + private IFeatureModel getExternalFeatureModel(String curNode) { + final File modelFile = getExternalModelFile(curNode); + if (modelFile == null) { + reportWarning(String.format("No model for %s could be found.", curNode)); + return null; + } + return readModel(modelFile, curNode); + } + + private IFeatureModel readModel(File modelFile, String curNode) { + IFeatureModel fm = null; + if (data.getIsUsedAsAPI()) { + fm = readExternalModelFileAPI(modelFile); + } else { + fm = readExternalModelFile(modelFile); + } + if (fm == null) { + reportWarning(String.format("External model for %s could not be read.", curNode)); + return null; + } + return fm; + } + + private IFeatureModel readExternalModelFile(File file) { + return FeatureModelManager.load(file.toPath()); + } + + private IFeatureModel readExternalModelFileAPI(File file) { + final IFeatureModel fm = new MultiFeatureModelFactory().create(); + fm.setSourceFile(file.toPath()); + SimpleFileHandler.load(file.toPath(), fm, FMFormatManager.getInstance()); + return fm; + } + + private File getExternalModelFile(String name) { + if (!data.getExtFeatureModel().getImports().isEmpty() && !data.getIsUsedAsAPI()) { + for (final String path : data.getExtFeatureModel().getImports()) { + final IProject project = data.getProject(); + if (!path.endsWith(name)) { + continue; + } + if (project != null) { + IResource res = project.getFile(path + ".xml"); + if ((res != null) && res.exists()) { + return res.getLocation().toFile(); + } + res = project.getFile(path + ".velvet"); + if ((res != null) && res.exists()) { + return res.getLocation().toFile(); + } + } + } + } + + if (data.getLocalSearch() || data.getIsUsedAsAPI()) { + return localSearch(name); + } + File returnFile = null; + + // local search + IProject project = data.getProject(); + if (project != null) { + for (int i = 0; i < data.getPaths().length; i++) { + final IResource res = project.findMember(String.format(data.getPaths()[i], name)); + if (res != null) { + returnFile = res.getLocation().toFile(); + if (returnFile.equals(data.getFeatureModelFile())) { + returnFile = null; + } else { + break; + } + } + } + } + + // external search + if (returnFile == null) { + // if could not get current project or could not find file in current + // project assume the name is the project name + project = ResourcesPlugin.getWorkspace().getRoot().getProject(name); + if (project.isAccessible()) { + returnFile = project.getFile("model.xml").getLocation().toFile(); + if (returnFile.equals(data.getFeatureModelFile())) { + return null; + } + } else { + Logger.logWarning(String.format("Project %s is not accessible.", name)); + } + } + if ((returnFile == null) || !returnFile.exists() || !returnFile.canRead()) { + return null; + } + return returnFile; + } + + private File getInterfaceModelFile(String name) { + if (data.getLocalSearch()) { + return localSearch(name); + } + File returnFile = null; + final IProject project = data.getProject(); + if (project != null) { + final IResource res = project.findMember(String.format("Interfaces/%s.velvet", name)); + if (res != null) { + returnFile = res.getLocation().toFile(); + } + } + return returnFile; + } + + private File localSearch(final String name) { + if (data.getFeatureModelFile() != null) { + final File searchDir = new File(data.getFeatureModelFile().getParentFile(), "MPL"); + if (searchDir != null) { + final File[] files = searchDir.listFiles(new FilenameFilter() { + + @Override + public boolean accept(File dir, String fileName) { + final int index = fileName.lastIndexOf('.'); + return (index > 0) && fileName.substring(0, index).equals(name) && fileName.substring(index + 1).matches("xml|velvet"); + } + }); + if ((files != null) && (files.length > 0)) { + return files[0]; + } + } + } + return null; + } + + @Override + public Void visitUse(VelvetParser.UseContext ctx) { + + final String varName = ctx.name().getText(); + final IFeature parent = currentParentFeature; + final UsedModel usedModel = data.getExtFeatureModel().getExternalModel(varName); + if (usedModel == null) { + reportWarning(String.format("No variable with the name %s found.", varName)); + return null; + } + switch (usedModel.getType()) { + case MultiFeature.TYPE_INTERFACE: + final IFeatureModel interfaceModel = getInterfaceFeatureModel(usedModel.getModelName()); + if (interfaceModel == null) { + return null; + } + addExternalFeatures(interfaceModel, varName, parent.getStructure(), MultiFeature.TYPE_INTERFACE); + break; + case MultiFeature.TYPE_INSTANCE: + final IFeatureModel instanceModel = getExternalFeatureModel(usedModel.getModelName()); + if (instanceModel == null) { + return null; + } + addExternalFeatures(instanceModel, varName, parent.getStructure(), MultiFeature.TYPE_INSTANCE); + break; + default: // + reportWarning(String.format("The variable with the name %s is no interface or instance.", varName)); + } + + return null; + } + + private void addExternalFeatures(IFeatureModel sourceModel, String sourceModelName, IFeatureStructure targetParentFeature, int type) { + if (sourceModel instanceof MultiFeatureModel) { + for (final UsedModel usedModel : ((MultiFeatureModel) sourceModel).getExternalModels().values()) { + data.getExtFeatureModel().addExternalModel(new UsedModel(usedModel, sourceModelName)); + } + } + final UsedModel usedModel = data.getExtFeatureModel().getExternalModel(sourceModelName); + if (usedModel != null) { + usedModel.setPrefix(targetParentFeature.getFeature().getName() + "." + sourceModelName); + } + final IFeatureStructure instanceRoot = sourceModel.getStructure().getRoot(); + String connectorName = ""; + if (type == MultiFeature.TYPE_INHERITED) { + connectorName = targetParentFeature.getFeature().getName(); + } else { + connectorName = (targetParentFeature.isRoot() && targetParentFeature.getFeature().getName().equals(sourceModelName)) + ? targetParentFeature.getFeature().getName() : targetParentFeature.getFeature().getName() + "." + sourceModelName; + } + final MultiFeature connector = addFeature(targetParentFeature.getFeature(), connectorName, true, true, instanceRoot.isHidden()); + connector.setType(type); + connector.setExternalModelName(sourceModelName); + if (instanceRoot.isAlternative()) { + connector.getStructure().setAlternative(); + } else if (instanceRoot.isOr()) { + connector.getStructure().setOr(); + } + + copyChildnodes(data.getExtFeatureModel(), connector.getStructure(), instanceRoot, sourceModelName, connectorName, type); + + for (final IConstraint constraint : sourceModel.getConstraints()) { + final Node constraintParent_ID_Value = constraint.getNode(); + + final int IDValue_Index = constraintParent_ID_Value.getChildren().length - 1; + final Node constraintID_Value = constraintParent_ID_Value.getChildren()[IDValue_Index]; + final int Value_Index = constraintID_Value.getChildren().length - 1; + final Node constraintValue = constraintID_Value.getChildren()[Value_Index]; + + // Update parent's name + updateConstraintNode(constraintParent_ID_Value.getChildren()[0], connectorName, instanceRoot.getFeature().getName(), data.getExtFeatureModel()); + // Update constraint's Value (node itself) + updateConstraintNode(constraintValue, connectorName, instanceRoot.getFeature().getName(), data.getExtFeatureModel()); + + final MultiConstraint newConstraint = (MultiConstraint) factory.createConstraint(data.getExtFeatureModel(), constraintParent_ID_Value); + newConstraint.setType(type); + data.getExtFeatureModel().addConstraint(newConstraint); + } + } + + private static void updateConstraintNode(Node curNode, String parentModelname, String rootName, IFeatureModel targetModel) { + if (curNode instanceof Literal) { + final Literal literal = (Literal) curNode; + if (literal.var.equals(rootName)) { + literal.var = parentModelname; + } else { + // if fully qualified name + IFeature feature = targetModel.getFeature(literal.var.toString().replace(rootName, parentModelname)); + if (feature == null) { + // else + feature = targetModel.getFeature(parentModelname + "." + literal.var.toString()); + } + literal.var = feature.getName(); + } + } else { + for (final Node child : curNode.getChildren()) { + updateConstraintNode(child, parentModelname, rootName, targetModel); + } + } + } + + private void copyChildnodes(final MultiFeatureModel targetModel, final IFeatureStructure targetParentNode, final IFeatureStructure sourceParentNode, + final String parentModelName, final String targetParentName, final int type) { + for (final IFeatureStructure sourceChildStructure : sourceParentNode.getChildren()) { + final MultiFeature feature; + if (data.isVelvetImport()) { + feature = (MultiFeature) factory.createFeature(targetModel, sourceChildStructure.getFeature().getName()); + } else { + final String shortName = sourceChildStructure.getFeature().getName().replace(sourceParentNode.getFeature().getName() + ".", ""); + feature = (MultiFeature) factory.createFeature(targetModel, targetParentName + "." + shortName); + } + final IFeatureStructure targetChildStructure = feature.getStructure(); + targetChildStructure.setMandatory(sourceChildStructure.isMandatory()); + targetChildStructure.setAbstract(sourceChildStructure.isAbstract()); + targetChildStructure.setHidden(sourceChildStructure.isHidden()); + feature.setExternalModelName(parentModelName); + targetChildStructure.setAND(sourceChildStructure.isAnd()); + targetChildStructure.setMultiple(sourceChildStructure.isMultiple()); + if (sourceChildStructure.isOr()) { + targetChildStructure.setOr(); + } + + targetModel.addFeature(feature); + targetParentNode.addChild(targetChildStructure); + feature.setType(type); + + if (sourceChildStructure.hasChildren()) { + copyChildnodes(targetModel, targetChildStructure, sourceChildStructure, parentModelName, feature.getName(), type); + } + } + } + + /** + * @param string + */ + private void reportWarning(String message) { + Logger.logWarning(message + ((data.getFeatureModelFile() != null) ? "IN_FILE" + data.getFeatureModelFile() : "")); + } + + @Override + public Void visitFeature(VelvetParser.FeatureContext ctx) { + String featureName = ctx.name().getText(); + final boolean isMandatory = ctx.MANDATORY() != null; + final boolean isAbstract = ctx.ABSTRACT() != null; + if (!data.getExtFeatureModel().isInterface()) { + + if (data.isVelvetImport() || currentParentFeature.getStructure().isRoot() + || (!useLongNames && featureName.startsWith(currentParentFeature.getName()))) { + featureName = ctx.name().getText(); + } else { + featureName = currentParentFeature.getName() + "." + featureName; + } + } + final MultiFeature newFeature = addFeature(currentParentFeature, featureName, isMandatory, isAbstract, false); + if (ctx.definitions() != null) { + currentParentFeature = newFeature; + visitDefinitions(ctx.definitions()); + } + return null; + } + + private MultiFeature addFeature(final IFeature parent, final String featureName, final boolean isMandatory, final boolean isAbstract, + final boolean isHidden) { + final MultiFeature newFeature = (MultiFeature) factory.createFeature(data.getExtFeatureModel(), featureName); + newFeature.getStructure().setMandatory(isMandatory); + newFeature.getStructure().setAbstract(isAbstract); + newFeature.getStructure().setHidden(isHidden); + final IFeature orgFeature = data.getExtFeatureModel().getFeature(featureName); + if ((orgFeature != null) && (orgFeature instanceof MultiFeature)) { + return (MultiFeature) orgFeature; + } else { + data.getExtFeatureModel().addFeature(newFeature); + parent.getStructure().addChild(newFeature.getStructure()); + newFeature.setNewDefined(true); + return newFeature; + } + } + + @Override + public Void visitFeatureGroup(VelvetParser.FeatureGroupContext ctx) { + if (ctx.groupType() != null) { + visitGroupType(ctx.groupType()); + } + for (final FeatureContext feature : ctx.feature()) { + visitFeature(feature); + } + return null; + } + + @Override + public Void visitGroupType(VelvetParser.GroupTypeContext ctx) { + if (ctx.SOMEOF() != null) { + currentParentFeature.getStructure().setOr(); + } else if (ctx.ONEOF() != null) { + currentParentFeature.getStructure().setAlternative(); + } else { + currentParentFeature.getStructure().setAnd(); + } + return null; + } + + @Override + public Void visitConstraint(VelvetParser.ConstraintContext ctx) { + if (ctx.constraintDefinition() != null) { + visitConstraintDefinition(ctx.constraintDefinition()); + if (ctx.ID() != null) { + RHS = new Equals(new Literal(ctx.ID().getText()), RHS); + } + RHS = new Implies(new Literal(currentParentFeature.getName()), RHS); + data.getExtFeatureModel().addConstraint(factory.createConstraint(data.getExtFeatureModel(), RHS)); + RHS = null; + } else if (ctx.attributeConstraint() != null) { + equationID = null; + if (ctx.ID() != null) { + equationID = ctx.ID().getText(); + } + visitAttributeConstraint(ctx.attributeConstraint()); + } + return null; + } + + private static WeightedTerm createTerm(final int weight, final boolean rightSide, final boolean minus, final Reference reference) { + boolean positive = weight >= 0; + if (rightSide ^ minus) { + positive = !positive; + } + return new WeightedTerm(Math.abs(weight), positive, reference); + } + + @Override + public Void visitConstraintDefinition(VelvetParser.ConstraintDefinitionContext ctx) { + + // RHS = null; + int operator = 0; + for (int i = 0;; i++) { + if (ctx.constraintOperand(i) == null) { + break; + } + if (LHS == null) { + visitConstraintOperand(ctx.constraintOperand(i));// LHS = result + } + switch (operator) { + case VelvetParser.OP_AND: + LHS = new And(RHS, LHS); + break; + case VelvetParser.OP_OR: + LHS = new Or(RHS, LHS); + break; + case VelvetParser.OP_XOR: + LHS = new Choose(1, RHS, LHS); + break; + case VelvetParser.OP_IMPLIES: + LHS = new Implies(RHS, LHS); + break; + case VelvetParser.OP_EQUIVALENT: + LHS = new Equals(RHS, LHS); + break; + default: + break; + } + if (ctx.binaryOp(i) != null) { + operator = ctx.binaryOp(i).getStart().getType(); + } + RHS = LHS; + LHS = null; + } + return null; + + } + + @Override + public Void visitConstraintOperand(VelvetParser.ConstraintOperandContext ctx) { + // put result in lhs + final Node tempRHS = RHS; + if (ctx.constraintDefinition() != null) { + RHS = null;// clean RHS, so it doesnt mess with visitConstraintDefinition + visitConstraintDefinition(ctx.constraintDefinition()); + LHS = RHS; + RHS = tempRHS;// restoring previous RHS + } else if (ctx.name() != null) { + LHS = new Literal(ctx.name().getText()); + } + if (ctx.unaryOp(0) != null) {// only "not" is currently present in the grammar + LHS = new Not(LHS); + } + return null; + } + + @Override + public Void visitAttribute(VelvetParser.AttributeContext ctx) { + + String name; + if (ctx.floatAttribute() != null) { + // pass + } else if (ctx.intAttribute() != null) { + name = ctx.intAttribute().name().getText(); + data.getExtFeatureModel().addAttribute(currentParentFeature.getName(), name, Integer.parseInt(ctx.intAttribute().INT().getText())); + } else if (ctx.boolAttribute() != null) { + name = ctx.boolAttribute().name().getText(); + data.getExtFeatureModel().addAttribute(currentParentFeature.getName(), name, Boolean.parseBoolean(ctx.boolAttribute().BOOLEAN().getText())); + } else if (ctx.stringAttribute() != null) { + name = ctx.stringAttribute().name().getText(); + data.getExtFeatureModel().addAttribute(currentParentFeature.getName(), name, ctx.stringAttribute().STRING().getText()); + } else { + reportSyntaxError(ctx); + } + return null; + + } + + private void reportSyntaxError(ParserRuleContext context) throws RecognitionException { + // maybe it should be in SimpleVelvetModelFormat + final RecognitionException ex = new RecognitionException(null, null, context); + throw ex; + } + + @Override + public Void visitAttributeConstraint(VelvetParser.AttributeConstraintContext ctx) { + weightedTerms = new LinkedList<>(); + weightedTerms.clear(); + degree = 0; + relationOperator = null; + if (!ctx.attribNumExpr().isEmpty()) { + final AttribNumExprContext one = ctx.attribNumExpr().getFirst(); + final AttribNumExprContext two = ctx.attribNumExpr().getLast(); + visitAttribNumExpr(one); + if (ctx.attribRelation() != null) { + visitAttribRelation(ctx.attribRelation()); + } + visitAttribNumExpr(two); + + } + final Equation equation = new Equation(weightedTerms, relationOperator, degree); + data.getExtFeatureModel().addAttributeConstraint(equation); + return null; + } + + @Override + public Void visitAttribNumExpr(VelvetParser.AttribNumExprContext ctx) { + boolean minus = false; + int i = 0; + do { + if ((ctx.attribOperator(i - 1) != null) && (i > 0)) { + if (ctx.attribOperator(i - 1).PLUS() != null) { + minus = false; + } else if (ctx.attribOperator(i - 1).MINUS() != null) { + minus = true; + } + } + if (ctx.attribNumInstance(i).INT() != null) { + final int value = Integer.parseInt(ctx.attribNumInstance(i).INT().getText()); + if ((relationOperator == null) ^ minus) { + degree -= value; + } else { + degree += value; + } + weightedTerms.add(createTerm(value, relationOperator != null, minus, + new Reference(currentParentFeature.getName(), ReferenceType.FEATURE, "attributeName"))); + } else if (ctx.attribNumInstance(i).name() != null) { + final String attributeName = ctx.attribNumInstance(i).name().getText(); + final Collection> attributes = data.getExtFeatureModel().getIntegerAttributes().getAttributes(attributeName); + + if (attributes == null) { + // throw new UnsupportedModelException(ctx.getStart().getLine() + ":" + "NO_SUCH_ATTRIBUTE_DEFINED", ctx.getStart().getLine()); + return null; + } + for (final FeatureAttribute attr : attributes) { + weightedTerms.add(createTerm(attr.getValue(), relationOperator != null, minus, + new Reference(attr.getFeatureName(), ReferenceType.FEATURE, attributeName))); + } + } + i++; + } while (i <= ctx.attribOperator().size()); + + return null; + } + + @Override + public Void visitDescription(VelvetParser.DescriptionContext ctx) { + return null; + } + + @Override + public Void visitAttribOperator(VelvetParser.AttribOperatorContext ctx) { + return null; + } + + @Override + public Void visitAttribNumInstance(VelvetParser.AttribNumInstanceContext ctx) { + return null; + } + + @Override + public Void visitName(VelvetParser.NameContext ctx) { + return null; + } + + @Override + public Void visitIntAttribute(VelvetParser.IntAttributeContext ctx) { + return null; + } + + @Override + public Void visitFloatAttribute(VelvetParser.FloatAttributeContext ctx) { + return null; + } + + @Override + public Void visitStringAttribute(VelvetParser.StringAttributeContext ctx) { + return null; + } + + @Override + public Void visitBoolAttribute(VelvetParser.BoolAttributeContext ctx) { + return null; + } + + @Override + public Void visitUnaryOp(VelvetParser.UnaryOpContext ctx) { + return null; + } + + @Override + public Void visitBinaryOp(VelvetParser.BinaryOpContext ctx) { + + return null; + } + + @Override + public Void visitAttribRelation(VelvetParser.AttribRelationContext ctx) { + if (ctx.ATTR_OP_EQUALS() != null) { + relationOperator = RelationOperator.EQUAL; + + } else if (ctx.ATTR_OP_GREATER_EQ() != null) { + relationOperator = RelationOperator.GREATER_EQUAL; + + } else if (ctx.ATTR_OP_LESS_EQ() != null) { + relationOperator = RelationOperator.LESS_EQUAL; + + } + return null; } } From e9722c90b69b7d3e99a8c44038a6fc69d29150ac Mon Sep 17 00:00:00 2001 From: Ak129205 Date: Fri, 22 Aug 2025 13:22:44 +0200 Subject: [PATCH 21/21] Update to include external models --- .../de/ovgu/featureide/fm/core/io/IPersistentFormat.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/IPersistentFormat.java b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/IPersistentFormat.java index 52d67a01e5..3e27a9ea28 100644 --- a/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/IPersistentFormat.java +++ b/plugins/de.ovgu.featureide.fm.core/src/de/ovgu/featureide/fm/core/io/IPersistentFormat.java @@ -23,6 +23,7 @@ import java.nio.file.Path; import de.ovgu.featureide.fm.core.IExtension; +import de.ovgu.featureide.fm.core.base.impl.MultiFeatureModel; /** * Interface for reading and writing data from and to arbitrary objects. @@ -57,6 +58,11 @@ public interface IPersistentFormat extends IExtension { * @see #supportsRead() */ default ProblemList read(T object, CharSequence source, Path path) { + if (object instanceof MultiFeatureModel) { + final MultiFeatureModel extFeatureModel = (MultiFeatureModel) object; + extFeatureModel.setSourceFile(path); + object = (T) extFeatureModel; + } return read(object, source); }

%;RHB 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�q7l(`&K1J1fq4tX#)u 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 literal 0 HcmV?d00001 diff --git a/plugins/de.ovgu.featureide.fm.core/lib/antlr-3.4.jar b/plugins/de.ovgu.featureide.fm.core/lib/antlr-3.4.jar deleted file mode 100644 index bf0ad012800d3e26aa2a953d264746cf4f376591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1803981 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 z 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