package models
- Alphabetic
- Public
- All
Type Members
- case class Array (elements: Seq[BaseValue]) extends BaseValue with Product with Serializable
- trait BaseValue extends Expression
- sealed trait CallableFunction extends Function
- sealed trait Condition extends Operator
- case class Conditional (condition: Expression, trueBranch: Expression, falseBranch: Expression) extends Expression with Product with Serializable
-
case class
Context
(currentScope: Scope) extends Product with Serializable
Represents the context about the program state at a point in time.
Represents the context about the program state at a point in time.
- currentScope
The local scope of the program at a point in time
- case class Divide (left: Expression, right: Expression) extends Operator with Product with Serializable
- case class Equal (left: Expression, right: Expression) extends Condition with Product with Serializable
- trait Expression extends AnyRef
- case class ExpressionGroup (expressions: Seq[Expression]) extends Expression with Product with Serializable
- sealed trait Function extends BaseValue
- case class FunctionCall (expression: Expression, values: Seq[(Identifier, Expression)]) extends Expression with Product with Serializable
- case class Greater (left: Expression, right: Expression) extends Condition with Product with Serializable
- case class GreaterEqual (left: Expression, right: Expression) extends Condition with Product with Serializable
- case class Identifier (name: String, documentation: Option[String] = None) extends NamedExpression with Product with Serializable
-
case class
IncompleteInterpretedFunction
(parameters: Seq[Identifier], body: Expression, documentation: Option[String] = None) extends Function with Product with Serializable
Represents a function created through the interpreter.
Represents a function created through the interpreter. This implementation is missing the closure that will be filled in elsewhere.
- parameters
The parameter names for the function
- body
The body of the interpreted function
- documentation
Optional documentation to associate with the function
-
case class
InterpretedFunction
(parameters: Seq[Identifier], closure: Scope, body: Expression, documentation: Option[String] = None) extends CallableFunction with Product with Serializable
Represents a function created through the interpreter.
Represents a function created through the interpreter.
- parameters
The parameter names for the function
- closure
The enclosing scope of the function when defined
- body
The body of the interpreted function
- documentation
Optional documentation to associate with the function
- case class Less (left: Expression, right: Expression) extends Condition with Product with Serializable
- case class LessEqual (left: Expression, right: Expression) extends Condition with Product with Serializable
- case class Minus (left: Expression, right: Expression) extends Operator with Product with Serializable
- case class Modulus (left: Expression, right: Expression) extends Operator with Product with Serializable
- case class Multiply (left: Expression, right: Expression) extends Operator with Product with Serializable
- trait NamedExpression extends Expression
-
case class
NativeFunction
(parameters: Seq[Identifier], implementation: (Map[Identifier, Expression], Scope) ⇒ Expression, documentation: Option[String] = None) extends CallableFunction with Product with Serializable
Creates a function created outside of the interpreter.
Creates a function created outside of the interpreter.
- parameters
The parameter names for the function
- implementation
The function implementation
- documentation
Optional documentation to associate with the function
- case class NotEqual (left: Expression, right: Expression) extends Condition with Product with Serializable
- case class Number (value: Double) extends Primitive with Product with Serializable
- sealed trait Operator extends Expression
- case class Plus (left: Expression, right: Expression) extends Operator with Product with Serializable
- case class PlusPlus (left: Expression, right: Expression) extends Operator with Product with Serializable
- sealed trait Primitive extends BaseValue
-
case class
Scope
(variables: Map[Identifier, Expression], parent: Option[Scope]) extends Product with Serializable
Represents a scope within the language containing declared variables as well as the parent scope if it exists.
Represents a scope within the language containing declared variables as well as the parent scope if it exists.
- variables
The variables associated with the scope
- parent
Some scope if a parent exists, otherwise None
- case class SkipEval (expression: Expression) extends Expression with Product with Serializable
- case class Text (value: String) extends Primitive with Product with Serializable
- case class Truth (value: Boolean) extends Primitive with Product with Serializable
- case class Variable (identifier: Identifier, value: Expression) extends Expression with Product with Serializable