object ELPI
implementation of the syntax of the ELPI system by Claudio Sacerdoti Coen and others
In concrete syntax, clauses are written with inverted implication and implicit quantification of upper case variables.
Upper-case variables are instantiable while lower-case ones are not. (In queries: existential; in assumptions: universal)
- Source
- Syntax.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- ELPI
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- case class Accumulate(file: File) extends Decl with Product with Serializable
- abstract class Application extends Expr
- case class Apply(f: Expr, as: Expr*) extends Application with Product with Serializable
-
case class
BinOp(name: String) extends Product with Serializable
built-in binary operators
-
case class
BinaryApply(operator: BinOp, left: Expr, right: Expr) extends Application with Product with Serializable
special case for the application of binary operators
-
abstract
class
Binder extends AnyRef
built-in binders
-
case class
Bracket(bracket: Boolean) extends Product with Serializable
helper class to optionally wrap brackets around a string
- case class Comment(s: String) extends Decl with Product with Serializable
-
abstract
class
Constant extends Variable
built-in constants
-
abstract
class
Decl extends AnyRef
toplevel declarations
-
abstract
class
Expr extends AnyRef
expressions (including rules as a special case)
- case class Lambda(name: LocalName, scope: Expr) extends Expr with Product with Serializable
-
case class
Program(decls: Decl*) extends Product with Serializable
programs
- case class Rule(rule: Expr) extends Decl with Product with Serializable
-
case class
UnOp(name: String, prefix: Boolean) extends Product with Serializable
built-in unary operators
-
case class
UnaryApply(operator: UnOp, arg: Expr) extends Application with Product with Serializable
special case for the application of unary operators
- case class Variable(name: LocalName) extends Expr with Product with Serializable
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object And extends BinOp
- object Exists extends Binder
- object False extends Constant
- object Forall extends Binder
- object Impl extends BinOp
- object Is extends BinOp
- object Lambda extends Serializable
- object Not extends BinOp
- object Or extends BinOp
- object True extends Constant