MontiCore - Getting Started
IntelliJ
For getting started with MontiCore using IntelliJ do the following:
Setting up IntelliJ IDEA
- Download and install IntelliJ IDEA (or use your existing installation)
- Hint for Students: You get the Ultimate version of IntelliJ for free
- Open IntelliJ IDEA
Importing the Example
- Clone the github project or download the zip for the Automata Example here.
- Select
- File
- Open
- Select the folder holding the pom.xml
Running MontiCore
From the Maven Projects Menu on the right select
- Automata
- Lifecycle
- install (double click)
MontiCore will be launched and the following steps will be executed:
- The specified grammar will be parsed and processed by MontiCore.
- Java source files for the corresponding DSL infrastructure will be generated into the default output directory ‹../target/generated-sources/monticore/sourcecode›. This infrastructure consists of:
- /automata/_ast containing the abstract syntax representation of the automata DSL.
- /automata/_cocos containing infrastructure for context conditions of the automata DSL.
- /automata/_od containing infrastructure for printing object diagrams of the automata DSL.
- /automata/_parser containing the generated parsers which are based on ANTLR.
- /automata/_symboltable containing infrastructure for the symbol table of the automata DSL.
- /automata/_visitor containing infrastructure for visitors of the automata DSL.
- /reports/Automata containing reports created during the processing of the automata grammar.
- The output directory will also contain a log file of the executed generation process ‹monticore.YYYY-MM-DD-HHmmss.log›.
Troubleshooting
- If an error occurs and you cannot solve the problem you may take a look into the MontiCore log file located in the respectively specified output directory (e.g. ‹out/monticore.YYYY-MM-DD-HHmmss.log› by default). It contains more verbose and developer-oriented, technical output than the CLI output.
- Please report any unknown issues to bugreport@monticore.de. Please include the processed grammar, model, and the log file.