Packages

  • package root
    Definition Classes
    root
  • package info
    Definition Classes
    root
  • package kwarc
    Definition Classes
    info
  • package mmt
    Definition Classes
    kwarc
  • package api

    This is the main package of the MMT API.

    This is the main package of the MMT API.

    It holds subpackages for all data structures, data containers, and the central algorithms and services.

    Classes directly defined in the package

    Some minor classes that are used throughout MMT are defined in this package, in particular:

    • MMT URIs in the class Path and Namespace
    • processing and content errors in the class Error

    The package also contains root classes for certain types that are subclassed throughout the package. Most importantly:

    • StructuralElement: structure-level (= named) parts in the data structures for the MMT language: documents, theories, constants, ...
    • MMTTask: tasks for a single object: parsing, checking, ...
    • Rule: object-level part of the MMT language that is written in Scala

    Subpackages

    Data structures for the MMT language

    The data structures for the MMT languages are defined in 4 packages corresponding to the 4 levels: - documents: Documents and all other NarrativeElements - modules: Modules (= the toplevel declarations), in particular Theorys and Views - symbols: all Declarations inside modules, in particular Constants - objects: all anonymous Objects (e.g., formulas, functions, etc.), in particular Contexts and Terms

    The former 3 levels are jointly called 'structural' levels. All elements subclass StructuralElement, have an MMT URI, and carry an MMT URI referring to their parent in the MMT abstract syntax tree.

    Structural elements are extensible (via DerivedModules and DerivedDeclarations), and the package patterns defines declaration patterns as a built-in extension.

    All structural elements are mutable and implement the ContainerElement interface for changing their children. Objects, by contrast, are represented as immutable inductive types.(except for carrying metadata.Metadata and objects.ClientProperties). The boundary between structural elements and objects is mediated by ComponentContainers: these are mutable, owned by structural elements, and maintain objects.

    A few auxiliary data structures shifted to separate packages: - opaque: external (i.e., informal, computation) content - informal: partially outdated informal data structures - metadata: metadata annotations to all structural elements or objects

    The MMT main class and its internal state

    The package frontend contains the class Controller, which owns all state relevant for running MMT. Typically, each application creates a single instance of this class. The package also defines several other essential classes, most importantly MMT's extension (=plug-in, add-on) interfaces via the Extension class.

    The package libraries maintains the instances of MMT language data structures, in particular the Library class. Controller owns a Library, which stores all structural elements that have been loaded into memory.

    User interfaces

    The package frontend also contains the main executable classes, in particular the Shell class.

    The package gui collects all classes for building graphical user interfaces. This includes auxiliary classes for use in IDE plugins.

    The package web collects all classes for the HTTP interface of MMT.

    Physical storage of the MMT language files

    The package archives defines MMT Archives (= projects) as well as classes for building and working with archives. The latter include in particular the BuildManager and BuildTarget. Build targets include Importers and [Exporter]]s that translate between MMT and other formats.

    The package backend defines classes for maintaining archives and translating between the MMT URIs of structural elements and their physical storage locations.

    The central algorithms for processing MMT content

    The processing model of MMT consists of several major algorithms. - parser: read strings into MMT data structures - checking: check and refine MMT data structures - uom: pure computation on MMT data structures - proving: theorem proving on MMT data structures (in very early state)) - execution: imperative computation (in very, very early state) - presentation: rendering MMT data structures in user-facing formats (including HTML+presentation MathML)

    All algorithms are defined in Extensions coupled with default implementations. Moreover, all algorithms are split into two separate levels, one for structural elements and objects. See LeveledExtension.

    The package notations maintains the common code for parsing and presentation.

    The package valuebases maintains mathematical databases as a part of MMT.

    Other algorithms on the MMT data structures

    The package ontology contains a relational, semantic web-style ontology and query engine for it.

    The package moc contains change management.

    The package refactoring contains refactoring principles.

    General purpose utility functions

    The package utils defines general purpose APIs for files, URIs, HTML building, etc.

    Definition Classes
    mmt
  • package archives

    This package holds all classes related to MMT Archives (= project).

    This package holds all classes related to MMT Archives (= project).

    The BuildManager allows defining BuildTargets to run on archives, including in particular Importers and Exporters.

    Most archives are stored in hub of git repositories such as and MathHub or GitHub. Such hubs are represented by the class LMHHub, which allows for cloning, etc. archives.

    The list of currently open archives (from which MMT will load content if needed) is maintained by the backend.Backend.

    Definition Classes
    api
  • abstract class Importer extends TraversingBuildTarget with GeneralImporter

    a traversing build target for importing an archive in some source syntax

    a traversing build target for importing an archive in some source syntax

    This should only be needed when OMDoc is received from a third party. OMDoc produced by Compilers is indexed automatically.

    Definition Classes
    archives
  • LocalError
  • asInterpreter

object asInterpreter extends Interpreter

an Interpreter that calls this importer to interpret a parsing stream

This Interpreter is only applicable if it can determine an archive that the parsing stream is created from. In that case, it will import the file, i.e., change the state of the archive.

Source
Index.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. asInterpreter
  2. Interpreter
  3. Importer
  4. GeneralImporter
  5. TraversingBuildTarget
  6. BuildTarget
  7. FormatBasedExtension
  8. Extension
  9. Logger
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class LocalError(s: String) extends ExtensionError with Product with Serializable

    a custom error class for this extension

    a custom error class for this extension

    Definition Classes
    Extension

Value Members

  1. object asInterpreter extends Interpreter

    an Interpreter that calls this importer to interpret a parsing stream

    an Interpreter that calls this importer to interpret a parsing stream

    This Interpreter is only applicable if it can determine an archive that the parsing stream is created from. In that case, it will import the file, i.e., change the state of the archive.

    Definition Classes
    Importer
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##(): Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def apply(pu: ParsingUnit)(implicit errorCont: ErrorHandler): Nothing

    object interpretation

    object interpretation

    Definition Classes
    asInterpreterInterpreter
  6. def apply(ps: ParsingStream)(implicit errorCont: ErrorHandler): StructuralElement

    structure interpretation

    structure interpretation

    Definition Classes
    asInterpreterInterpreter
  7. def apply(modifier: BuildTargetModifier, arch: Archive, in: FilePath): Unit

    the main function to run the build target

    the main function to run the build target

    en empty in filepath addresses the whole archive

    modifier

    chooses build, clean, or update

    arch

    the archive to build on

    in

    the folder inside the archive's inDim folder to which building is restricted

    Definition Classes
    BuildTarget
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def build(a: Archive, up: Update, in: FilePath, errorCont: Option[ErrorHandler]): Unit

    entry point for recursive building

    entry point for recursive building

    Definition Classes
    TraversingBuildTarget
  10. def build(a: Archive, up: Update, in: FilePath): Unit

    delegates to build

    delegates to build

    Definition Classes
    TraversingBuildTargetBuildTarget
  11. def buildDir(bd: BuildTask, builtChildren: List[BuildTask], level: Level.Level): BuildResult

    similar to buildFile but called on every directory (after all its children have been processed)

    similar to buildFile but called on every directory (after all its children have been processed)

    This does nothing by default and can be overridden if needed.

    bd

    information about input/output file etc

    builtChildren

    tasks for building the children

    level

    error/force level to perform action depending on user input

    Definition Classes
    ImporterTraversingBuildTarget
  12. def buildFile(bf: BuildTask): BuildResult

    the main abstract method for building one file

    the main abstract method for building one file

    bf

    information about input/output file etc

    Definition Classes
    ImporterTraversingBuildTarget
  13. def buildTaskToParsingStream(bf: BuildTask): (DPath, ParsingStream)

    converts the interface of Importer to the one of Parser

    converts the interface of Importer to the one of Parser

    Attributes
    protected
    Definition Classes
    Interpreter
  14. def catchErrors[A](msg: String, recoverWith: ⇒ A)(code: ⇒ A): A

    like its partner but with return value

    like its partner but with return value

    Attributes
    protected
    Definition Classes
    Extension
  15. def catchErrors(msg: String)(code: ⇒ Unit): Unit

    convenience method for wrapping code in error handler that throws LocalError

    convenience method for wrapping code in error handler that throws LocalError

    Attributes
    protected
    Definition Classes
    Extension
  16. def clean(a: Archive, in: FilePath = EmptyPath): Unit

    recursively delete output files in parallel (!)

    recursively delete output files in parallel (!)

    Definition Classes
    TraversingBuildTargetBuildTarget
  17. def cleanDir(a: Archive, curr: Current): Unit

    additional method that implementations may provide: cleans one directory

    additional method that implementations may provide: cleans one directory

    does nothing by default

    a

    the containing archive

    curr

    the outDim directory to be deleted

    Definition Classes
    ImporterTraversingBuildTarget
  18. def cleanFile(a: Archive, curr: Current): Unit

    additionally deletes content and relational

    additionally deletes content and relational

    a

    the containing archive

    curr

    the inDim whose output is to be deleted

    Definition Classes
    ImporterTraversingBuildTarget
  19. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. val controller: Controller

    the controller that this extension is added to; only valid after creation of the extension, i.e., will return null if used in a non-lazy val-field

    the controller that this extension is added to; only valid after creation of the extension, i.e., will return null if used in a non-lazy val-field

    Attributes
    protected
    Definition Classes
    Extension
  21. lazy val defaultPrefix: String
    Definition Classes
    Extension
  22. def delete(f: File): Unit

    auxiliary method for deleting a file

    auxiliary method for deleting a file

    Attributes
    protected
    Definition Classes
    BuildTarget
  23. def destroy: Unit

    extension-specific cleanup (override as needed, empty by default)

    extension-specific cleanup (override as needed, empty by default)

    Extensions may create persistent data structures and threads, but they must clean up after themselves in this method

    Definition Classes
    Extension
  24. def destroyWhenRemainingTasksFinished: Unit

    convenience for calling waitUntilRemainingTasksFinished and then destroy

    convenience for calling waitUntilRemainingTasksFinished and then destroy

    Definition Classes
    Extension
  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  27. def estimateResult(bf: BuildTask): BuildSuccess

    estimate the BuildResult without building, e.g., to predict dependencies

    estimate the BuildResult without building, e.g., to predict dependencies

    Definition Classes
    TraversingBuildTarget
  28. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  29. val folderName: String

    the name that is used for the special file representing the containing folder (without extension), empty by default

    the name that is used for the special file representing the containing folder (without extension), empty by default

    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  30. def format: String

    the input format (e.g., the file extension) to which this interpreter is applicable

    the input format (e.g., the file extension) to which this interpreter is applicable

    Definition Classes
    asInterpreterInterpreter
  31. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  32. def getErrorFile(a: Archive, inPath: FilePath): File
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  33. def getFolderErrorFile(a: Archive, inPath: FilePath): File
    Definition Classes
    TraversingBuildTarget
  34. def getFolderOutFile(a: Archive, inPath: FilePath): File
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  35. def getFromFirstArgOrEnvvar(args: List[String], name: String, default: String = ""): String
    Attributes
    protected
    Definition Classes
    Extension
  36. def getOutFile(a: Archive, inPath: FilePath): File
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  37. def getOutPath(a: Archive, outFile: File): FilePath
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  38. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  39. def importDocument(bf: BuildTask, index: (Document) ⇒ Unit): BuildResult

    creates a ParsingStream for the input file and interprets it

    creates a ParsingStream for the input file and interprets it

    index

    a continuation function to be called on every generated document

    Definition Classes
    InterpreterImporter
  40. def inDim: ArchiveDimension

    source by default, may be overridden

    source by default, may be overridden

    Definition Classes
    ImporterTraversingBuildTarget
  41. def inExts: List[String]

    the file extensions to which this may be applicable

    the file extensions to which this may be applicable

    Definition Classes
    InterpreterImporter
  42. def includeDir(name: String): Boolean

    true by default; override to skip auxiliary directories

    true by default; override to skip auxiliary directories

    name

    the name of the directory (no path)

    Definition Classes
    TraversingBuildTarget
  43. def includeFile(s: String): Boolean

    there is no inExt, instead we test to check which files should be used; this is often a test for the file extension

    there is no inExt, instead we test to check which files should be used; this is often a test for the file extension

    This must be such that all auxiliary files are skipped. see defaultFileExtension if you need an inExt (for meta targets)

    Definition Classes
    ImporterTraversingBuildTarget
  44. def initOther(e: Extension): Unit

    any extension can initialize other extensions if those are not meant to be added to the ExtensionManager

    any extension can initialize other extensions if those are not meant to be added to the ExtensionManager

    Attributes
    protected
    Definition Classes
    Extension
  45. def isApplicable(s: String): Boolean

    returns

    true if this extension is applicable

    Definition Classes
    InterpreterBuildTargetFormatBasedExtension
  46. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  47. val key: String

    a string identifying this build target, used for parsing commands, logging, error messages

    a string identifying this build target, used for parsing commands, logging, error messages

    Definition Classes
    InterpreterGeneralImporterBuildTarget
  48. def log(e: Error): Unit

    logs an error - always logged

    logs an error - always logged

    Attributes
    protected
    Definition Classes
    Logger
  49. def log(s: ⇒ String, subgroup: Option[String] = None): Unit

    logs a message with this logger's logprefix

    logs a message with this logger's logprefix

    Attributes
    protected
    Definition Classes
    Logger
  50. def logError(s: ⇒ String): Unit

    log as an error message

    log as an error message

    Attributes
    protected
    Definition Classes
    Logger
  51. def logGroup[A](a: ⇒ A): A

    wraps around a group to create nested logging

    wraps around a group to create nested logging

    Attributes
    protected
    Definition Classes
    Logger
  52. def logPrefix: String

    defaults to the key

    defaults to the key

    Definition Classes
    BuildTargetExtensionLogger
  53. def logResult(s: String): Unit

    auxiliary method for logging results

    auxiliary method for logging results

    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  54. def logTemp(s: ⇒ String): Unit

    temporary logging - always logged

    temporary logging - always logged

    Attributes
    protected
    Definition Classes
    Logger
  55. def makeBuildTask(a: Archive, inPath: FilePath, children: List[BuildTask] = Nil): BuildTask

    makes a build task for a single file (ignoring built children) or directory

    makes a build task for a single file (ignoring built children) or directory

    Definition Classes
    TraversingBuildTarget
  56. def makeErrorThrower(msg: String): ErrorHandler

    an ErrorHandler that wraps an error in a LocalError and throws it

    an ErrorHandler that wraps an error in a LocalError and throws it

    Attributes
    protected
    Definition Classes
    Extension
  57. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  58. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  59. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  60. val outDim: ArchiveDimension

    narration, produces also content and relational

    narration, produces also content and relational

    Definition Classes
    ImporterTraversingBuildTarget
  61. val outExt: String

    omdoc

    omdoc

    Definition Classes
    ImporterTraversingBuildTarget
  62. def parallel: Boolean

    if true, multiple files/folders are built in parallel

    if true, multiple files/folders are built in parallel

    Definition Classes
    TraversingBuildTarget
  63. def producesFrom(outPath: FilePath): Option[FilePath]

    if this target produces additional files (e.g., the aux files of LaTeX), this method should map them to the respective main file

    if this target produces additional files (e.g., the aux files of LaTeX), this method should map them to the respective main file

    outPath

    the output path (relative to archive)

    returns

    the input path (relative to inDim)

    Definition Classes
    TraversingBuildTarget
  64. val report: Report
    Attributes
    protected
    Definition Classes
    ExtensionLogger
  65. def runBuildTask(bt: BuildTask, level: Level.Level): BuildResult

    wraps around buildFile and buildDir (which do the actual building) to add error handling, logging, etc.

    wraps around buildFile and buildDir (which do the actual building) to add error handling, logging, etc.

    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
  66. def runBuildTaskIfNeeded(deps: Set[Dependency], bt: BuildTask, up: Update): BuildResult

    the entry point for build managers: runs a build task unless (depending on the modifier) nothing has changed

    the entry point for build managers: runs a build task unless (depending on the modifier) nothing has changed

    Definition Classes
    TraversingBuildTarget
  67. def simplifier: Simplifier
    Definition Classes
    Interpreter
  68. def start(args: List[String]): Unit

    extension-specific initialization (override as needed, empty by default)

    extension-specific initialization (override as needed, empty by default)

    Definition Classes
    Extension
  69. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  70. def toString(): String
    Definition Classes
    BuildTarget → AnyRef → Any
  71. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  74. def waitUntilRemainingTasksFinished: Unit

    extensions that process tasks in separate threads should override this and wait until those threads are done

    extensions that process tasks in separate threads should override this and wait until those threads are done

    Definition Classes
    Extension
  75. def writeToNot(mod: Module, file: File): Unit

    extract the notations of a knowledge item and write them to a file

    extract the notations of a knowledge item and write them to a file

    Attributes
    protected
    Definition Classes
    GeneralImporter
  76. def writeToRel(se: StructuralElement, file: File): Unit

    extract the relational information about a knowledge item and write it to a file

    extract the relational information about a knowledge item and write it to a file

    Attributes
    protected
    Definition Classes
    GeneralImporter

Deprecated Value Members

  1. def buildDepsFirst(a: Archive, up: Update, in: FilePath = EmptyPath): Unit

    build estimated dependencies first

    build estimated dependencies first

    this can be used by the trivial build manager to build targets (like latexml) in dependency order provided that estimated dependencies are correct.

    For a queue build manager this code is obsolete

    Definition Classes
    TraversingBuildTargetBuildTarget
    Annotations
    @MMT_TODO( message = "needs review" )
    Deprecated

    needs review

  2. def getDepsMap(args: Set[Dependency]): Map[Dependency, Set[Dependency]]
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
    Annotations
    @MMT_TODO( message = "needs review" )
    Deprecated

    needs review

  3. def getFilesRec(a: Archive, in: FilePath): Set[Dependency]
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
    Annotations
    @MMT_TODO( message = "needs review" )
    Deprecated

    needs review

  4. def getTestOutFile(a: Archive, inPath: FilePath): File
    Attributes
    protected
    Definition Classes
    TraversingBuildTarget
    Annotations
    @MMT_TODO( message = "needs review" )
    Deprecated

    needs review

Inherited from Interpreter

Inherited from Importer

Inherited from GeneralImporter

Inherited from TraversingBuildTarget

Inherited from BuildTarget

Inherited from FormatBasedExtension

Inherited from Extension

Inherited from Logger

Inherited from AnyRef

Inherited from Any

Ungrouped