Commit b158307c authored by Simon Varga's avatar Simon Varga
Browse files

add language explanation file

parent d6cd04b0
Pipeline #257312 passed with stage
in 1 minute and 34 seconds
# Tagging
The *Tagging* language consist of 3 grammars:
- **Tagging**: basic infrastructure and classes to provide tagging functionality
- **TagSchema**: definition of the available tags
- **TagValue**: defines possible value types for the tags
The purpose of tagging is the enrichment of other language models with additional information without having to put them in the same model.
# Tagging
The main pupose of this language infrastructure for the whole tagging functionality.
The grammar file is [`de.monticore.lang.Tagging`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/Tagging.mc4).
## Handwritten Extensions
## SymbolTable
- An additional [`de.monticore.lang._symboltable.TaggingResolver`](/_symboltable/TaggingResolver.java) is provided to be able to connect the symbol tables of the tagging language and the respective other language
## Functionality
### Generator
A generator infrastructure is provided in [`de.monticore.lang.tagging.generator`](/tagging/transformation) and can be used with the provided [`de.monticore.lang.tagging.groovy`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/resources/de/monticore/lang/tagging.groovy) script
# TagSchema
The TagSchema defines available TagTypes.
The grammar file is [`de.monticore.lang.TagSchema`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/TagSchema.mc4).
## Handwritten Extensions
## AST
- There are simplifications for [`de.monticore.lang.tagging.tagschema._ast.ASTComplexTagType`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/java/de/monticore/lang/tagschema/_ast/ASTComplexTagType.java) and [`de.monticore.lang.tagging.tagschema._ast.ASTEnumeratedTagType`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/java/de/monticore/lang/tagschema/_ast/ASTEnumeratedTagType.java)
# TagValue
The TagValue defines available types for the values of the tags.
The grammar file is [`de.monticore.lang.TagValue`](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/Tagging/-/blob/master/src/main/grammars/de/monticore/lang/TagValue.mc4).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment