Skip to content

Commit b040e16

Browse files
committed
Added: contributors, simplified grammar
1 parent 11bd42b commit b040e16

1 file changed

Lines changed: 79 additions & 1 deletion

File tree

README.md

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,62 @@ The following feature model in UVL syntax enriches the previous version with new
7777
</code>
7878
</pre>
7979

80+
## Grammar
81+
Below you can find a simplified grammar for UVL in [ANTLR](https://www.antlr.org/) notation. This simplified version is supposed to provide a quick overview on the structure of an UVL model but leaves out many details. A full version of this grammar can be found [here](https://github.com/Universal-Variability-Language/uvl-parser2.0/blob/main/src/main/antlr4/de/vill/UVL.g4).
82+
83+
<pre>
84+
<code>
85+
featureModel: namespace? NEWLINE? includes? NEWLINE? imports? NEWLINE? features? NEWLINE? constraints? EOF;
86+
87+
includes: 'include' NEWLINE INDENT includeLine* DEDENT;
88+
includeLine: LANGUAGELEVEL NEWLINE;
89+
90+
namespace: 'namespace' reference;
91+
92+
imports: 'imports' NEWLINE INDENT importLine* DEDENT;
93+
importLine: ns=reference ('as' alias=reference)? NEWLINE;
94+
95+
features: 'features' NEWLINE INDENT feature DEDENT;
96+
97+
group
98+
: ORGROUP groupSpec # OrGroup
99+
| ALTERNATIVE groupSpec # AlternativeGroup
100+
| OPTIONAL groupSpec # OptionalGroup
101+
| MANDATORY groupSpec # MandatoryGroup
102+
| CARDINALITY groupSpec # CardinalityGroup
103+
;
104+
105+
groupSpec: NEWLINE INDENT feature+ DEDENT;
106+
107+
feature: reference featureCardinality? attributes? NEWLINE (INDENT group+ DEDENT)?;
108+
109+
featureCardinality: 'cardinality' CARDINALITY;
110+
111+
attributes: OPEN_BRACE (attribute (COMMA attribute)*)? CLOSE_BRACE;
112+
113+
attribute
114+
: valueAttribute
115+
| constraintAttribute;
116+
117+
valueAttribute: key value?;
118+
119+
key: id;
120+
value: BOOLEAN | FLOAT | INTEGER | string | attributes | vector;
121+
vector: OPEN_BRACK (value (COMMA value)*)? CLOSE_BRACK;
122+
123+
constraint
124+
: equation # EquationConstraint
125+
| reference # LiteralConstraint
126+
| OPEN_PAREN constraint CLOSE_PAREN # ParenthesisConstraint
127+
| NOT constraint # NotConstraint
128+
| constraint AND constraint # AndConstraint
129+
| constraint OR constraint # OrConstraint
130+
| constraint IMPLICATION constraint # ImplicationConstraint
131+
| constraint EQUIVALENCE constraint # EquivalenceConstraint
132+
;
133+
</code>
134+
</pre>
135+
80136
# Software
81137
Any tool support for UVL or tool integrating UVL missing? We are happy to embed your [suggestion](https://github.com/Universal-Variability-Language/Universal-Variability-Language.github.io/issues).
82138

@@ -112,4 +168,26 @@ Here, we only present a small selection of papers. Any interesting work on UVL m
112168
* Thorsten Berger and Philippe Collet. 2019. Usage Scenarios for a Common Feature Modeling Language. MODEVAR@SPLC '19. <https://doi.org/10.1145/3307630.3342403>
113169
* Thomas Thüm, Christoph Seidl, and Ina Schaefer. 2019. On Language Levels for Feature Modeling Notations. MODEVAR@SPLC '19 <https://doi.org/10.1145/3307630.3342404>
114170

115-
171+
172+
# Contributors
173+
Think you should be on this list as a past and/or future contributor? Don't hesitate to [contact](mailto:chico.sundermann@uni-ulm.de) us.
174+
175+
### Core Team
176+
177+
* University of Seville
178+
* [David Benavides](http://www.lsi.us.es/~dbc/en/)
179+
* [José A. Galindo](http://personales.us.es/jagalindo/)
180+
* Johannes Kepler University Linz
181+
* [Rick Rabiser](https://rickrabiser.github.io/rick/)
182+
* [Kevin Feichtinger](https://www.jku.at/lit-cyber-physical-systems-lab/ueber-uns/team/di-kevin-feichtinger-bsc/)
183+
* University of Ulm
184+
* [Thomas Thüm](https://www.uni-ulm.de/in/sp/team/thuem/)
185+
* [Chico Sundermann](https://www.uni-ulm.de/in/sp/team/chico-sundermann/)
186+
187+
### Further and Former Contributors
188+
* Dominik Engelhardt (TU Braunschweig)
189+
* Dario Romano (JKU Linz)
190+
* Stefan Vill (University of Ulm)
191+
* Jacob Loth (University of Ulm)
192+
* Prankur Agarwal (JKU Linz)
193+

0 commit comments

Comments
 (0)