Table of Contents

Namespace RandomizerCore.StringLogic

Classes

CoalescingToken

TermToken which is parsed as its left argument if defined, otherwise as its right argument.

ComparisonToken

TermToken which represents a simple comparison of two named integer variables.

ConstToken

TermToken which represents a constant bool.

DNF

Utility methods for dealing with logic in DNF form.

DNFConverter

Class for converting RPN logic to DNF logic, which uses pooled lists to reduce memory usage.

DictPM

Object which evaluates tokenized logic using a dictionary of recognized terms and their values.

Infix
LogicClause

An immutable representation of a boolean circuit, consisting of tokens in RPN order.

LogicClauseBuilder
LogicProcessor
LogicToken

The fundamental unit of tokenized logic, used throughout the StringLogic namespace.

MacroToken

TermToken which represents a nested LogicClause, provided through the IMacroSource, usually a LogicProcessor.

OperatorToken

LogicToken representing one of the binary boolean operators, | or +.

ProjectedToken

TermToken which wraps a state-valued TermToken, indicating that its state should be projected to a bool.

RPN

Utility methods for dealing with logic in RPN form.

ReferenceToken

TermToken which represents a nested LogicClause by name.

SimpleToken

TermToken which represents a simple named variable.

StringPM

Base class for an object which can evaluate tokenized logic.

TermToken

LogicToken which evaluates to a bool.

Structs

NamedLogicClause

Interfaces

IMacroSource
ITokenSource

Enums

ComparisonType
OperatorType