After setting up MMT, the jars in the
deploy folder can be run normally via Java.
The canonical way to do that is to run
java -jar MMT/deploy/mmt.jar
For convenience, the folder
MMT/deploy contains shell scripts for Windows and Unix that are directly executable.
However, to casually sample MMT, you should not execute MMT directly at all. Instead, you should setup jedit and play with MMT example files.
MMT can be used in 3 different modes
Depending on the command line arguments, MMT chooses whether it switches to interactive or server mode. In particular, without any arguments, it switches to interactive mode.
Whenever MMT is run, it looks for a startup script in the location
MMT also tries to load a configuration from
deploy/mmtrc or from your OS-specific home directory.
The latter is created during setup.
This is particularly useful for registering extensions and archives that depend on machine-specific external paths.
An example startup is provided in the file
Because MMT is language and application-independent, running MMT by itself does not do anything - MMT must be customized by defining a language and building an application on top of the MMT tool. The MMT system suite includes various language definitions and applications to use. See the respective pages for instructions on loading individual languages and running individual applications.
Developers may also want to run MMT in different ways.
deploy folder contains
mmt.jar, which is simply the union of the individual jars in the
When developing specific parts of MMT, it is usually sufficient to rebuild only the individual jar that was changed.
deploy folder contains shell scripts that automate running from these smaller jars:
mmt(for Unix) and
mmt.bat(for Windows): executes MMT commands and/or opens an MMT shell,
mmt -helpdisplays the available options
run-file.bat: a convenience script for Windows that can be associated with MMT shell scripts.
Users may wish to add the deploy folder to the PATH enviroment variable.
When working in an IDE, you usually want to run MMT directly from classes rather than building a jar file.
For that, use the main class
info.kwarc.mmt.api.frontend.Run in the project
If you need to use additional projects, you can build those into classes as well or use the individual jars mentioned above.