Packages

object DLParser extends DLParser

Differential Dynamic Logic parser reads input strings in the concrete syntax of differential dynamic logic of KeYmaera X.

Example:
  1. Parsing formulas from strings is straightforward using edu.cmu.cs.ls.keymaerax.parser.KeYmaeraXParser.apply:

    val parser = DLParser
    val fml0 = parser("x!=5")
    val fml1 = parser("x>0 -> [x:=x+1;]x>1")
    val fml2 = parser("x>=0 -> [{x'=2}]x>=0")
    // parse only formulas
    val fml3 = parser.formulaParser("x>=0 -> [{x'=2}]x>=0")
    // parse only programs/games
    val prog1 = parser.programParser("x:=x+1;{x'=2}")
    // parse only terms
    val term1 = parser.termParser("x^2+2*x+1")
See also

KeYmaeraXParser

Linear Supertypes
DLParser, Parser, (String) ⇒ Expression, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DLParser
  2. DLParser
  3. Parser
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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 ambiguousBaseF[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  5. def andThen[A](g: (Expression) ⇒ A): (String) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  6. def annotation[_](implicit arg0: P[Any]): P[Seq[Formula]]

    Parses an annotation

    Parses an annotation

    Definition Classes
    DLParser
  7. def annotationListener: (Program, Formula) ⇒ Unit

    Returns the annotation listener.

    Returns the annotation listener.

    Definition Classes
    DLParserParser
  8. def apply(input: String): Expression

    Parse the input string in the concrete syntax as a differential dynamic logic expression

    Parse the input string in the concrete syntax as a differential dynamic logic expression

    input

    the string to parse as a dL formula, dL term, or dL program.

    Definition Classes
    DLParserParser → Function1
    Exceptions thrown

    ParseException if input is not a well-formed expression of differential dynamic logic or differential game logic.

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def assign[_](implicit arg0: P[Any]): P[AtomicProgram]
    Definition Classes
    DLParser
  11. def atomicDP[_](implicit arg0: P[Any]): P[AtomicDifferentialProgram]
    Definition Classes
    DLParser
  12. def backImplication[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  13. def baseF[_](implicit arg0: P[Any]): P[Formula]

    Base formulas

    Base formulas

    Definition Classes
    DLParser
  14. def baseP[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  15. def baseTerm[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]
    Definition Classes
    DLParser
  16. def baseVariable[_](implicit arg0: P[Any]): P[BaseVariable]
    Definition Classes
    DLParser
  17. def biimplication[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  18. def blank[_](implicit arg0: P[Any]): P[Unit]

    Explicit nonempty whitespace terminal.

    Explicit nonempty whitespace terminal.

    Definition Classes
    DLParser
  19. def braceP[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  20. def choice[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  21. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  22. def comparator[_](implicit arg0: P[Any]): P[Unit]
    Definition Classes
    DLParser
  23. def comparison[_](implicit arg0: P[Any]): P[Formula]

    Parses a comparison, given the left-hand term

    Parses a comparison, given the left-hand term

    Definition Classes
    DLParser
  24. def compose[A](g: (A) ⇒ String): (A) ⇒ Expression
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  25. def conjunct[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  26. def diff[_](left: Term)(implicit arg0: P[Any]): P[Term]

    Parses term'

    Parses term'

    Definition Classes
    DLParser
  27. def diffExercise[_](implicit arg0: P[Any]): P[DifferentialProgramConst]
    Definition Classes
    DLParser
  28. def diffProduct[_](implicit arg0: P[Any]): P[DifferentialProgram]
    Definition Classes
    DLParser
  29. def diffProgram[_](implicit arg0: P[Any]): P[DifferentialProgram]

    diffProgram: Parses a dL differential program.

    diffProgram: Parses a dL differential program.

    Definition Classes
    DLParser
  30. def diffProgramSymbol[_](implicit arg0: P[Any]): P[DifferentialProgramConst]
    Definition Classes
    DLParser
  31. def diffVariable[_](implicit arg0: P[Any]): P[DifferentialSymbol]
    Definition Classes
    DLParser
  32. val differentialProgramParser: (String) ⇒ DifferentialProgram

    Parse the input string in the concrete syntax as a differential dynamic logic differential program

    Parse the input string in the concrete syntax as a differential dynamic logic differential program

    Definition Classes
    DLParserParser
  33. def disjunct[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  34. def dot[_](implicit arg0: P[Any]): P[DotTerm]

    . or ._2: dot parsing

    . or ._2: dot parsing

    Definition Classes
    DLParser
  35. def dual[_](implicit arg0: P[Any]): P[Program]

    Parses dual notation: baseP or baseP^@

    Parses dual notation: baseP or baseP^@

    Definition Classes
    DLParser
  36. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  38. val exprParser: (String) ⇒ Expression

    Parse the input string in the concrete syntax as a differential dynamic logic expression

    Parse the input string in the concrete syntax as a differential dynamic logic expression

    Definition Classes
    DLParser
  39. def expression[_](implicit arg0: P[Any]): P[Expression]
    Definition Classes
    DLParser
  40. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  41. def formula[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  42. val formulaParser: (String) ⇒ Formula

    Parse the input string in the concrete syntax as a differential dynamic logic formula

    Parse the input string in the concrete syntax as a differential dynamic logic formula

    Definition Classes
    DLParserParser
  43. def fullDifferentialProgram[_](implicit arg0: P[Any]): P[DifferentialProgram]
    Definition Classes
    DLParser
  44. def fullExpression[_](implicit arg0: P[Any]): P[Expression]
    Definition Classes
    DLParser
  45. def fullFormula[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  46. def fullProgram[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  47. def fullSequent[_](implicit arg0: P[Any]): P[Sequent]
    Definition Classes
    DLParser
  48. def fullSequentList[_](implicit arg0: P[Any]): P[List[Sequent]]
    Definition Classes
    DLParser
  49. def fullTerm[_](implicit arg0: P[Any]): P[Term]
    Definition Classes
    DLParser
  50. def function[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[FuncOf]
    Definition Classes
    DLParser
  51. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  52. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  53. def ident[_](implicit arg0: P[Any]): P[(String, Option[Int])]

    parse an identifier.

    parse an identifier.

    returns

    the name and its index (if any).

    Definition Classes
    DLParser
    Note

    Index is normalized so that x_00 cannot be mentioned and confused with x_0.

    ,

    Keywords are not allowed as identifiers.

  54. def ifthen[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  55. def implication[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  56. def integer[_](implicit arg0: P[Any]): P[Int]

    "-532": Parse an integer literal, unnormalized.

    "-532": Parse an integer literal, unnormalized.

    Definition Classes
    DLParser
  57. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  58. def keywords: Set[String]

    matches keywords.

    matches keywords. An identifier cannot be a keyword.

    Definition Classes
    DLParser
  59. def multiplicand[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]
    Definition Classes
    DLParser
  60. def natural[_](implicit arg0: P[Any]): P[Int]

    "532": Parse a (nonnegative) natural number literal, unnormalized.

    "532": Parse a (nonnegative) natural number literal, unnormalized.

    Definition Classes
    DLParser
  61. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  62. def negNumberLiteral[_](implicit arg0: P[Any]): P[Number]

    parse a number literal enclosed in (), which is allowed to be a negative number

    parse a number literal enclosed in (), which is allowed to be a negative number

    Definition Classes
    DLParser
  63. def normNatural[_](implicit arg0: P[Any]): P[Int]

    "532": Parse a (nonnegative) natural number literal, normalized.

    "532": Parse a (nonnegative) natural number literal, normalized.

    Definition Classes
    DLParser
  64. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  65. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  66. def number[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Number]

    parses a number

    parses a number

    Definition Classes
    DLParser
  67. def numberLiteral[_](implicit arg0: P[Any]): P[Number]

    parses a number literal

    parses a number literal

    Definition Classes
    DLParser
  68. def ode[_](implicit arg0: P[Any]): P[AtomicODE]
    Definition Classes
    DLParser
  69. def odeSpace[_](implicit arg0: P[Any]): P[Space]

    {|x1,x2,x3|} parses a space declaration

    {|x1,x2,x3|} parses a space declaration

    Definition Classes
    DLParser
  70. def odeprogram[_](implicit arg0: P[Any]): P[ODESystem]
    Definition Classes
    DLParser
  71. def odesystem[_](implicit arg0: P[Any]): P[ODESystem]
    Definition Classes
    DLParser
  72. def predicational[_](implicit arg0: P[Any]): P[PredicationalOf]

    Regular predicationals C{}

    Regular predicationals C{}

    Definition Classes
    DLParser
  73. lazy val printer: KeYmaeraXPrettyPrinter.type

    A pretty-printer that can write the output that this parser reads

    A pretty-printer that can write the output that this parser reads

    Definition Classes
    DLParserParser
  74. def program[_](implicit arg0: P[Any]): P[Program]

    program: Parses a dL program.

    program: Parses a dL program.

    Definition Classes
    DLParser
  75. def programExercise[_](implicit arg0: P[Any]): P[AtomicProgram]
    Definition Classes
    DLParser
  76. val programParser: (String) ⇒ Program

    Parse the input string in the concrete syntax as a differential dynamic logic program

    Parse the input string in the concrete syntax as a differential dynamic logic program

    Definition Classes
    DLParserParser
  77. def programSymbol[_](implicit arg0: P[Any]): P[AtomicProgram]
    Definition Classes
    DLParser
  78. def sequence[_](implicit arg0: P[Any]): P[Program]
    Definition Classes
    DLParser
  79. def sequent[_](implicit arg0: P[Any]): P[Sequent]

    sequent ::= aformula1 , aformula2 , ... , aformulan ==> sformula1 , sformula2 , ... , sformulam.

    sequent ::= aformula1 , aformula2 , ... , aformulan ==> sformula1 , sformula2 , ... , sformulam.

    Definition Classes
    DLParser
  80. def sequentList[_](implicit arg0: P[Any]): P[List[Sequent]]

    sequentList ::= sequent ;; sequent ;; ...

    sequentList ::= sequent ;; sequent ;; ... ;; sequent.

    Definition Classes
    DLParser
  81. val sequentParser: (String) ⇒ Sequent

    Parse the input string in the concrete syntax as a differential dynamic logic sequent.

    Parse the input string in the concrete syntax as a differential dynamic logic sequent.

    Definition Classes
    DLParserParser
  82. def setAnnotationListener(listener: (Program, Formula) ⇒ Unit): Unit

    Register a listener for @annotations during the parse.

    Register a listener for @annotations during the parse.

    Definition Classes
    DLParserParser
    To do

    this design is suboptimal.

  83. def signed[_](p: ⇒ P[Term])(implicit arg0: P[Any]): P[Either[Term, Term]]

    p | -p: possibly signed occurrences of what is parsed by parser p Note we try p before -p because some parsers (like number) also consume -s.

    p | -p: possibly signed occurrences of what is parsed by parser p Note we try p before -p because some parsers (like number) also consume -s. Distinguishes between Left(Neg(x)) = (-x) and Right(Neg(x)) = -x.

    Definition Classes
    DLParser
  84. def space[_](implicit arg0: P[Any]): P[Space]

    (|x1,x2,x3|) parses a space declaration

    (|x1,x2,x3|) parses a space declaration

    Definition Classes
    DLParser
  85. def string[_](implicit arg0: P[Any]): P[String]

    "whatevs": Parse a string literal.

    "whatevs": Parse a string literal. (([^\\"]|\\"|\\(?!"))*+)

    Definition Classes
    DLParser
  86. def stringInterior[_](implicit arg0: P[Any]): P[String]
    Definition Classes
    DLParser
  87. def summand[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]
    Definition Classes
    DLParser
  88. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  89. def systemSymbol[_](implicit arg0: P[Any]): P[AtomicProgram]
    Definition Classes
    DLParser
  90. def term[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]

    Parse a term.

    Parse a term.

    Some terms are ambiguous with formulas, in particular

    • Parentheses (term parens vs function parens)
    • Functions vs predicates
    • UnitFunctionals vs UnitPredicationals So, we want to allow backtracking on these ambiguous syntax forms if we are not sure whether the input is a term or a formula.

    If doAmbigCuts is true, we assume the input is a term, and perform all permissible cuts. If it is false, we only perform cuts that are unambiguous indicators the input is a term.

    Definition Classes
    DLParser
  91. def termList[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[Term]

    (t1,t2,t3,...,tn) parenthesized list of terms

    (t1,t2,t3,...,tn) parenthesized list of terms

    Definition Classes
    DLParser
  92. val termParser: (String) ⇒ Term

    Parse the input string in the concrete syntax as a differential dynamic logic term

    Parse the input string in the concrete syntax as a differential dynamic logic term

    Definition Classes
    DLParserParser
  93. def test[_](implicit arg0: P[Any]): P[Test]
    Definition Classes
    DLParser
  94. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  95. def unambiguousBaseF[_](implicit arg0: P[Any]): P[Formula]
    Definition Classes
    DLParser
  96. def unitFunctional[_](doAmbigCuts: Boolean)(implicit arg0: P[Any]): P[UnitFunctional]
    Definition Classes
    DLParser
  97. def unitPredicational[_](implicit arg0: P[Any]): P[UnitPredicational]

    Unit predicationals c(||)

    Unit predicationals c(||)

    Definition Classes
    DLParser
  98. def variable[_](implicit arg0: P[Any]): P[Variable]
    Definition Classes
    DLParser
  99. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  100. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  101. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from DLParser

Inherited from Parser

Inherited from (String) ⇒ Expression

Inherited from AnyRef

Inherited from Any

Ungrouped