Packages

c

edu.cmu.cs.ls.keymaerax.parser

DLArchiveParser

class DLArchiveParser extends ArchiveParser

Parse a differential dynamic logic archive file string to a list of archive entries. Splits a KeYmaera X archive into its parts and forwards to respective problem/tactic parsers. An archive contains at least one entry combining a model in the .kyx format and possibly a (partial) proof tactic.

Format example:

ArchiveEntry "Entry 1".
  Description "optional description text".
  ProgramVariables ... End.
  Definitions ... End.
  Problem ... End.
  Tactic "Proof 1" ... End.
  Tactic "Proof 2" ... End.
End.

ArchiveEntry "Entry 2". ... End.
See also

Wiki

KeYmaeraXArchiveParser

Linear Supertypes
ArchiveParser, (String) ⇒ List[ParsedArchiveEntry], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DLArchiveParser
  2. ArchiveParser
  3. Function1
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DLArchiveParser(tacticParser: DLTacticParser)

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. def allDeclarations[_](implicit arg0: P[Any]): P[Declaration]

    Functions and ProgramVariables block in any order

  5. def andThen[A](g: (List[ParsedArchiveEntry]) ⇒ A): (String) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  6. final def apply(input: String): List[ParsedArchiveEntry]
    Definition Classes
    ArchiveParser → Function1
  7. def archiveEntries[_](implicit arg0: P[Any]): P[List[ParsedArchiveEntry]]

    Parse a list of archive entries

  8. def archiveEntry[_](shared: Option[Declaration])(implicit arg0: P[Any]): P[ParsedArchiveEntry]

    Parses a single archive entry

  9. def archiveEntryNoSource[_](shared: Option[Declaration])(implicit arg0: P[Any]): P[ParsedArchiveEntry]

    Parse a single archive entry without source.

  10. val archiveParser: (String) ⇒ List[ParsedArchiveEntry]
  11. def archiveStart[_](implicit arg0: P[Any]): P[String]
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. def baseVariable[_](implicit arg0: P[Any]): P[BaseVariable]
  14. def blank[_](implicit arg0: P[Any]): P[Unit]

    Explicit nonempty whitespace terminal from expParser.

  15. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  16. def compose[A](g: (A) ⇒ String): (A) ⇒ List[ParsedArchiveEntry]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  17. def declOrDef[_](curDecls: Declaration)(implicit arg0: P[Any]): P[List[(Name, Signature)]]

    implicit Real name1(Real arg1, Real arg2), name2(Real arg1, Real arg2) '= {initConds; ode}; ODE function definition or sort name(sort1 arg1, sorg2 arg2); declaration or sort name(sort1 arg1, sorg2 arg2) = term; function definition or Bool name(sort1 arg1, sorg2 arg2) <-> formula; predicate definition or HP name ::= program; program definition.

  18. def declPart[_](ty: Sort)(implicit arg0: P[Any]): P[(Name, Signature)]

    name(sort1 arg1, sorg2 arg2) declaration part.

    name(sort1 arg1, sorg2 arg2) declaration part. Input sort is the (codomain) sort

  19. def declPartList[_](implicit arg0: P[Any]): P[List[(Name, Signature)]]

    sort nameA(sort1A arg1A, sorg2A arg2A), nameB(sort1B arg1B) list declaration part.

  20. def definitions[_](curDecls: Declaration)(implicit arg0: P[Any]): P[Declaration]

    Definitions declOrDef End. parsed.

  21. def doParse(input: String, parseTactics: Boolean): List[ParsedArchiveEntry]

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Attributes
    protected
    Definition Classes
    DLArchiveParserArchiveParser
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. def exprParser: Parser

    The expression parser used in this archive parser.

    The expression parser used in this archive parser.

    Definition Classes
    DLArchiveParserArchiveParser
  25. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def formula[_](implicit arg0: P[Any]): P[Formula]

    formula: Parses a dL formula from expParser.

  27. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def getEntry(name: String, content: String, parseTactics: Boolean = true): Option[ParsedArchiveEntry]

    Reads a specific entry from the archive.

    Reads a specific entry from the archive.

    Definition Classes
    ArchiveParser
  29. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  30. def ident[_](implicit arg0: P[Any]): P[(String, Option[Int])]

    parse an identifier from expParser

  31. def implicitDef[_](curDecls: Declaration)(implicit arg0: P[Any]): P[List[(Name, Signature)]]

    implicit ...

    implicit ...

    implicit Real sin(Real t), cos(Real t) '= {sin:=0; cos:=1; t:=0; {t'=1, sin'=cos, cos'=-sin}};

    implicit Real xsq(Real t) '= {{xsq:=0; t:=0;}; {xsq'=2t,t'=1}};

    implicit Real abs(Real x) = y <-> x < 0 & y = -x | x >= 0 & y = x;

    Note that implicitly defined functions can be given directly via the f<<interp>>(...) syntax, but the syntax here avoids the need for writing out interpretations with dot terms, and introduces a substitution for the uninterpreted function at the elaboration phase.

  32. def implicitDefODE[_](curDecls: Declaration)(implicit arg0: P[Any]): P[List[(Name, Signature)]]
  33. def isExercise(model: String): Boolean

    Indicates whether or not the model represents an exercise.

    Indicates whether or not the model represents an exercise.

    Definition Classes
    ArchiveParser
  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. def label[_](implicit arg0: P[Any]): P[String]

    parse a label

  36. def metaInfo[_](implicit arg0: P[Any]): P[Map[String, String]]

    meta information

  37. def metaInfoKey[_](implicit arg0: P[Any]): P[String]
  38. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  40. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  41. def number[_](implicit arg0: P[Any]): P[Number]

    parse a number literal from expParser

  42. def odeprogram[_](implicit arg0: P[Any]): P[ODESystem]

    odeprogram: Parses an ode system from expParser.

  43. final def parse(input: String, parseTactics: Boolean): List[ParsedArchiveEntry]
    Definition Classes
    ArchiveParser
  44. final def parse(input: String): List[ParsedArchiveEntry]
    Definition Classes
    ArchiveParser
  45. def parseAsExpandedFormula(input: String): Formula

    Returns the first entry in input as a formula with all definitions fully expanded.

    Returns the first entry in input as a formula with all definitions fully expanded.

    Definition Classes
    ArchiveParser
  46. def parseAsFormula(input: String): Formula

    Tries parsing as a problem first.

    Tries parsing as a problem first. If it fails due to a missing Problem block, tries parsing as a plain formula.

    Definition Classes
    DLArchiveParserArchiveParser
  47. def parseAsFormula(in: InputStream): Formula

    Returns the first entry in in as formula.

    Returns the first entry in in as formula.

    Definition Classes
    ArchiveParser
  48. def parseFromFile(file: String): List[ParsedArchiveEntry]

    Parses an archive from the source at path file.

    Parses an archive from the source at path file. Use file#entry to refer to a specific entry in the file.

    Definition Classes
    ArchiveParser
  49. def parseProblem(input: String, parseTactics: Boolean = true): ParsedArchiveEntry

    Parses a single entry.

    Parses a single entry.

    Definition Classes
    ArchiveParser
  50. def problem[_](implicit arg0: P[Any]): P[(Formula, String)]

    Problem formula End. parsed.

  51. def problemOrFormula[_](implicit arg0: P[Any]): P[Formula]

    Convenience: Parse a single problem or a single formula

  52. def progDef[_](implicit arg0: P[Any]): P[(Name, Signature)]

    HP name ::= {program}; | HG name ::= {program}; program definition.

  53. def program[_](implicit arg0: P[Any]): P[Program]

    program: Parses a dL program from expParser.

  54. def programVariables[_](curDecls: Declaration)(implicit arg0: P[Any]): P[Declaration]

    ProgramVariables Real x; Real y,z; End. parsed.

  55. def sharedDefinitions[_](implicit arg0: P[Any]): P[Declaration]

    SharedDefinitions declOrDef End. parsed.

  56. def sort[_](implicit arg0: P[Any]): P[Sort]
  57. def string[_](implicit arg0: P[Any]): P[String]
  58. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  59. def tactic[_](defs: Declaration)(implicit arg0: P[Any]): P[BelleExpr]
  60. def tacticParser: TacticParser

    The tactic parser used in this archive parser.

    The tactic parser used in this archive parser.

    Definition Classes
    DLArchiveParserArchiveParser
  61. def tacticProof[_](defs: Declaration)(implicit arg0: P[Any]): P[(Option[String], (BelleExpr, String))]
  62. def term[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]

    term: Parses a dL term from expParser.

  63. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  64. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  65. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from ArchiveParser

Inherited from (String) ⇒ List[ParsedArchiveEntry]

Inherited from AnyRef

Inherited from Any

Ungrouped