abstract class Evaluator[R] extends AnyRef
An Evaluator
is a string parser and evaluator.
This class is flexible, allowing a user to define their own syntax. An example use might be to parse maths
expressions, such as (1 + 2) ^ 3
.
- R
What the string should be evaluated to
- Source
- Evaluator.scala
- See also
- Alphabetic
- By Inheritance
- Evaluator
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Evaluator()
Abstract Value Members
-
abstract
def
tokenize(expression: String): Array[Token[R]]
Converts an expression into an array of Tokens.
Converts an expression into an array of Tokens.
Each token has an assigned meaning. See the Token for more detail on how to create a token instance with a certain meaning.
- expression
The input string to parse
- returns
An array of tokens containing the information needed to evaluate it
- Attributes
- protected
- Exceptions thrown
net.totietje.evaluator.EvaluationException
If there is an invalid token
Concrete 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
evaluate(expression: String): R
Parses a string.
Parses a string.
First of all, this tokenizes the string using the abstract
tokenize
method, which must be overridden by the user. This transforms the string into an array of Tokens which represent the string in terms of its parts.Then, this evaluates the provided array of tokens as the user defines, producing a result of type
R
. For more information on how this happens, see Token.- expression
The input string to parse
- returns
The result of parsing the input
- Exceptions thrown
net.totietje.evaluator.EvaluationException
If there is a syntax error in the expression
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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( ... )
This is the documentation for the Evaluator project (see GitHub).
The main package net.totietje.evaluator. The net.totietje.complex package contains an example usage of this package, which may also be useful.