Table of Contents

Namespace RandomizerCore.StringParsing

Classes

ExpressionParser<T>

Parses IExpression<T>s from a stream of Tokens.

ExpressionValidator<T>

Provides typing validation and error aggregation for IExpression<T>s

GroupingExpression<T>

A parenthesized nested expression.

InfixExpression<T>

An infix expression (infix operator applied between 2 nested expressions)

NameToken

Token representing a named symbol, e.g. a term, logic variable, item name, etc.

NumberToken

Token representing a number literal

OperatorToken

Token representing a unary or binary operator

ParsingException
PostfixExpression<T>

A postfix expression (postfix operator applied to a nested expression)

PrefixExpression<T>

A prefix expression (prefix operator applied to a nested expression)

StringToken

Token representing a string literal

StructuralToken

Token representing a structural element, e.g. parentheses or braces

Token
Tokenizer

Converts a raw input string to a Token stream.

TokenizingException

Interfaces

IExpressionFactory<T>

Factory to produce domain specific expressions during parsing. Should support operators as defined by a paired IOperatorProvider

IExpression<T>

An expression with results constrained by the set T

IOperatorProvider

Defines domain-specific operator definitions.

Enums

StructuralToken.Type