Parser

Initial Markings

Parsed into PnmlExpr expressions in a Place. Place/Transition Petri net and Continuous net markings are treated as <numberconstant>. Allows same machanism to be used for all flavors of nets after parsing.

Marking is a ground term and is used to give a Petri net marking vector an initial value.

Unclaimed Labels

XML tags that are not 'claimed' are recursively parsed into a DictType by Parser.unparsed_tag.

See AnyElement, Parser.anyelement, PnmlLabel

AnyElement

Main use case if for ToolInfo content. The standard allows any well-formed XML. Only the intended tool needs to understand the content.

TODO Implement a ToolInfo for PNML.jl extensions.

PnmlLabel

Applies label semantics to a DictType. Used for not-yet-implemented labels. Many of the labels used for high-level many-sorted algebra have not been implemented.

See rate_value for a use case.

Structure of High-level Annotation

Schematic of annotation label:

  • text
  • structure
    • Term
      • subterm
        • Term (its alternating subterm Term all the way down)
  • toolspecific
  • graphics