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 presentation

    The algorithm for presenting MMT content (data structures to user-facing formats).

    The algorithm for presenting MMT content (data structures to user-facing formats). See api for an overview of the algorithms.

    The main interfaces are - Presenter: the main interface for parser (combining a structure and an object parser) - StructurePresenter: presenting structural elements - ObjectPresenter: presenting objects

    The main implementations are (in each case for structural elements and objects) - for OMDoc XML: OMDocPresenter resp. OpenMathPresenter - for plain strings (using the toString methods): TextPresenter resp. ObjectTextPresenter - for nice human-oriented strings: MMTStructurePresenter resp. NotationBasedParser - for HTML: HTMLPresenter resp. MathMLPresenter

    Definition Classes
    api
  • ConsoleWriter
  • FileWriter
  • FlatMMTSyntaxPresenter
  • HTMLAttributes
  • HTMLPresenter
  • HTMLRenderingHandler
  • MMTDocExporter
  • MMTSyntaxPresenter
  • MathMLPresenter
  • NotationBasedPresenter
  • OMDocPresenter
  • ObjectPresenter
  • ObjectTextPresenter
  • OpenMathPresenter
  • PresentationContext
  • Presenter
  • RenderingHandler
  • RenderingResult
  • StringBuilder
  • StructurePresenter
  • TextPresenter
  • VarData
t

info.kwarc.mmt.api.presentation

StructurePresenter

trait StructurePresenter extends BuildTarget with Exporter

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StructurePresenter
  2. Exporter
  3. BuildTarget
  4. FormatBasedExtension
  5. Extension
  6. Logger
  7. AnyRef
  8. 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

Abstract Value Members

  1. abstract def apply(e: StructuralElement, standalone: Boolean = false)(implicit rh: RenderingHandler): Unit

    e

    the element to present

    standalone

    if true, include appropriate header and footer

    rh

    output stream

  2. abstract def 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
    BuildTarget

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val _rh: RenderingHandler

    must be set by deriving classes to direct output, not necessary if outputTo is used

    must be set by deriving classes to direct output, not necessary if outputTo is used

    Attributes
    protected
    Definition Classes
    Exporter
  5. 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
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def asString(e: StructuralElement): String
  8. def build(a: Archive, up: Update, in: FilePath): Unit

    build or update this target in a given archive

    build or update this target in a given archive

    Definition Classes
    ExporterBuildTarget
  9. 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
    BuildTarget
  10. def canHandle(p: Path): Boolean

    override this method if your exporter cannot export arbitrary content

    override this method if your exporter cannot export arbitrary content

    p

    the MMT URI of a content element to be exported

    Definition Classes
    Exporter
  11. 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
  12. 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
  13. def clean(a: Archive, in: FilePath): Unit

    clean this target in a given archive

    clean this target in a given archive

    Definition Classes
    ExporterBuildTarget
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  15. 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
  16. lazy val defaultPrefix: String
    Definition Classes
    Extension
  17. def delete(f: File): Unit

    auxiliary method for deleting a file

    auxiliary method for deleting a file

    Attributes
    protected
    Definition Classes
    BuildTarget
  18. 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
  19. def destroyWhenRemainingTasksFinished: Unit

    convenience for calling waitUntilRemainingTasksFinished and then destroy

    convenience for calling waitUntilRemainingTasksFinished and then destroy

    Definition Classes
    Extension
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  22. def exportDerivedModule(dm: DerivedModule, bf: BuildTask): Unit

    applied to each derived module, does nothing by default

    applied to each derived module, does nothing by default

    Definition Classes
    StructurePresenterExporter
  23. def exportDocument(doc: Document, bf: BuildTask): Unit

    applied to each document (i.e., narration-folders and .omdoc files)

    applied to each document (i.e., narration-folders and .omdoc files)

    Definition Classes
    StructurePresenterExporter
  24. def exportNamespace(dpath: DPath, bd: BuildTask, namespaces: List[BuildTask], modules: List[BuildTask]): Unit

    does nothing

    does nothing

    dpath

    the namespace

    namespaces

    the sub-namespace in this namespace

    modules

    the modules in this namespace

    Definition Classes
    StructurePresenterExporter
  25. def exportTheory(thy: Theory, bf: BuildTask): Unit

    applied to each theory

    applied to each theory

    Definition Classes
    StructurePresenterExporter
  26. def exportView(view: View, bf: BuildTask): Unit

    applied to each view

    applied to each view

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

    the file name for files representing folders, defaults to "", override as needed

    the file name for files representing folders, defaults to "", override as needed

    Attributes
    protected
    Definition Classes
    Exporter
  29. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  30. def getFromFirstArgOrEnvvar(args: List[String], name: String, default: String = ""): String
    Attributes
    protected
    Definition Classes
    Extension
  31. def getOutFileForModule(p: MPath): Option[File]

    returns the output file that this exporter uses for some module

    returns the output file that this exporter uses for some module

    Attributes
    protected
    Definition Classes
    Exporter
  32. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  33. def init(controller: Controller): Unit

    MMT initialization (idempotent)

    MMT initialization (idempotent)

    Definition Classes
    ExporterExtension
  34. 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
  35. def isApplicable(format: String): Boolean

    format

    the format/key/other identifier, for which an extension is needed

    returns

    true if this extension is applicable

    Definition Classes
    BuildTargetFormatBasedExtension
  36. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  37. def log(e: Error): Unit

    logs an error - always logged

    logs an error - always logged

    Attributes
    protected
    Definition Classes
    Logger
  38. 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
  39. def logError(s: ⇒ String): Unit

    log as an error message

    log as an error message

    Attributes
    protected
    Definition Classes
    Logger
  40. 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
  41. def logPrefix: String

    defaults to the key

    defaults to the key

    Definition Classes
    BuildTargetExtensionLogger
  42. def logTemp(s: ⇒ String): Unit

    temporary logging - always logged

    temporary logging - always logged

    Attributes
    protected
    Definition Classes
    Logger
  43. 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
  44. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  45. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  46. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  47. def outDim: Dim

    the dimension for storing generated files, defaults to export/key, override as needed

    the dimension for storing generated files, defaults to export/key, override as needed

    Attributes
    protected
    Definition Classes
    Exporter
  48. def outExt: String

    the file extension used for generated files, defaults to key, override as needed

    the file extension used for generated files, defaults to key, override as needed

    Attributes
    protected
    Definition Classes
    Exporter
  49. def outputTo(out: File)(body: ⇒ Unit): Unit

    sends output to a certain file, file is created new and deleted if empty afterwards

    sends output to a certain file, file is created new and deleted if empty afterwards

    out

    the output file to be used while executing body

    body

    any code that produces output

    Attributes
    protected
    Definition Classes
    Exporter
  50. def producesFrom(out: FilePath): Option[FilePath]
    Definition Classes
    Exporter
  51. val report: Report
    Attributes
    protected
    Definition Classes
    ExtensionLogger
  52. def rh: RenderingHandler

    gives access to the RenderingHandler for sending output

    gives access to the RenderingHandler for sending output

    Attributes
    protected
    Definition Classes
    Exporter
  53. 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
    ExporterExtension
  54. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  55. def toString(): String
    Definition Classes
    BuildTarget → AnyRef → Any
  56. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  59. 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

Inherited from Exporter

Inherited from BuildTarget

Inherited from FormatBasedExtension

Inherited from Extension

Inherited from Logger

Inherited from AnyRef

Inherited from Any

Ungrouped