Tagging.md 3.47 KB
Newer Older
Bernhard Rumpe's avatar
Bernhard Rumpe committed
1
2
<!-- (c) https://github.com/MontiCore/monticore -->

Simon Varga's avatar
Simon Varga committed
3
4
# Tagging
The *Tagging* language consist of 3 grammars:
Simon Varga's avatar
Simon Varga committed
5
6
- **Tagging**: basic infrastructure and classes to provide tagging
 functionality 
Simon Varga's avatar
Simon Varga committed
7
8
9
- **TagSchema**: definition of the available tags
- **TagValue**: defines possible value types for the tags

Simon Varga's avatar
Simon Varga committed
10
11
The purpose of tagging is the enrichment of other language models with
 additional information without having to put them in the same model.
Simon Varga's avatar
Simon Varga committed
12
13

# Tagging
Simon Varga's avatar
Simon Varga committed
14
15
The main pupose of this language infrastructure for the whole tagging
 functionality.
Simon Varga's avatar
Simon Varga committed
16

Simon Varga's avatar
Simon Varga committed
17
The grammar file is [`de.monticore.lang.Tagging`][TaggingGrammar].
Simon Varga's avatar
Simon Varga committed
18
19
20

## Handwritten Extensions
## SymbolTable
Simon Varga's avatar
Simon Varga committed
21
22
23
24
- An additional
 [`de.monticore.lang._symboltable.TaggingResolver`][TaggingResolver] is
 provided to be able to connect the symbol tables of the tagging language and
 the respective other language
Simon Varga's avatar
Simon Varga committed
25
26
27

## Functionality
### Generator
Simon Varga's avatar
Simon Varga committed
28
29
30
A generator infrastructure is provided in
 [`de.monticore.lang.tagging.generator`][generator] and can be used with the
 provided [`de.monticore.lang.tagging.groovy`][groovy] script.
Simon Varga's avatar
Simon Varga committed
31
32
33
34

# TagSchema
The TagSchema defines available TagTypes.

Simon Varga's avatar
Simon Varga committed
35
The grammar file is [`de.monticore.lang.TagSchema`][TagSchema].
Simon Varga's avatar
Simon Varga committed
36
37
38

## Handwritten Extensions
## AST
Simon Varga's avatar
Simon Varga committed
39
40
41
42
- There are simplifications for
 [`de.monticore.lang.tagging.tagschema._ast.ASTComplexTagType`][ASTComplexTagType]
 and
 [`de.monticore.lang.tagging.tagschema._ast.ASTEnumeratedTagType`][ASTEnumeratedTagType]
Simon Varga's avatar
Simon Varga committed
43
44
45
46
47


# TagValue
The TagValue defines available types for the values of the tags.

Simon Varga's avatar
Simon Varga committed
48
49
50
51
52
53
54
55
56
57
The grammar file is [`de.monticore.lang.TagValue`][TagValue].

[TaggingGrammar]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/Tagging.mc4
[TaggingResolver]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/java/de/monticore/lang/tagging/_symboltable/TaggingResolver.java
[generator]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/tree/master/src%2Fmain%2Fjava%2Fde%2Fmonticore%2Flang%2Ftagging%2Fgenerator
[groovy]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/resources/de/monticore/lang/tagging.groovy
[TagSchema]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/TagSchema.mc4
[ASTComplexTagType]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/java/de/monticore/lang/tagschema/_ast/ASTComplexTagType.java
[ASTEnumeratedTagType]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/java/de/monticore/lang/tagschema/_ast/ASTEnumeratedTagType.java
[TagValue]: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/TagValue.mc4
Bernhard Rumpe's avatar
BR-sy    
Bernhard Rumpe committed
58
59
60
61
62
63


## Further Information

* [Project root: MontiCore @github](https://github.com/MontiCore/monticore)
* [MontiCore documentation](http://www.monticore.de/)
Bernhard Rumpe's avatar
BR-sy    
Bernhard Rumpe committed
64
65
66
* [**List of languages**](https://github.com/MontiCore/monticore/blob/dev/docs/Languages.md)
* [**MontiCore Core Grammar Library**](https://github.com/MontiCore/monticore/blob/dev/monticore-grammar/src/main/grammars/de/monticore/Grammars.md)
* [Best Practices](https://github.com/MontiCore/monticore/blob/dev/docs/BestPractices.md)
Bernhard Rumpe's avatar
BR-sy    
Bernhard Rumpe committed
67
68
69
* [Publications about MBSE and MontiCore](https://www.se-rwth.de/publications/)
* [Licence definition](https://github.com/MontiCore/monticore/blob/master/00.org/Licenses/LICENSE-MONTICORE-3-LEVEL.md)