AutomatonGraph

wvlet.airframe.http.router.Automaton$.AutomatonGraph
class AutomatonGraph[Node, Token](val nodes: Set[Node], val edges: Set[Edge[Node, Token]])

Immutable Automaton implementation. Adding nodes or edges will create a new Automaton instance

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Types

type NodeSet = Set[Node]

Value members

Concrete methods

def addEdge(src: Node, token: Token, dest: Node): AutomatonGraph[Node, Token]
def addNode(n: Node): AutomatonGraph[Node, Token]
def nextNodes(current: Node, token: Token): Set[Node]
def outEdgesFrom(n: Node): Set[Edge[Node, Token]]
def toDFA(init: Node, defaultToken: Token): DFA[NodeSet, Token]

Converting NFA to DFA

Converting NFA to DFA

NFA: (Node, Token) -> Seq[Node] (multiple next nodes can be found for a given token) DFA: State = Seq[Node] (State, Token) -> State (only a single state can be found for a given token)

Attributes

init

initial node to start

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Any

Concrete fields

val edges: Set[Edge[Node, Token]]
val nodes: Set[Node]