Table of Contents

Interface IExpressionFactory<T>

Namespace
RandomizerCore.StringParsing
Assembly
RandomizerCore.dll

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

public interface IExpressionFactory<T>

Type Parameters

T

Methods

CreateAtomExpression(Token)

Creates an atom expression from a token

IExpression<T> CreateAtomExpression(Token token)

Parameters

token Token

Returns

IExpression<T>

CreateInfixExpression(IExpression<T>, OperatorToken, IExpression<T>)

Creates the appropriate infix expression for the provided operator

IExpression<T> CreateInfixExpression(IExpression<T> left, OperatorToken op, IExpression<T> right)

Parameters

left IExpression<T>
op OperatorToken
right IExpression<T>

Returns

IExpression<T>

CreatePostfixExpression(IExpression<T>, OperatorToken)

Creates the appropriate postfix expression for the provided operator

IExpression<T> CreatePostfixExpression(IExpression<T> operand, OperatorToken op)

Parameters

operand IExpression<T>
op OperatorToken

Returns

IExpression<T>

CreatePrefixExpression(OperatorToken, IExpression<T>)

Creates the appropriate prefix expression for the provided operator

IExpression<T> CreatePrefixExpression(OperatorToken op, IExpression<T> operand)

Parameters

op OperatorToken
operand IExpression<T>

Returns

IExpression<T>

IsAtom(Token)

Determines whether a token is a valid atomic expression

bool IsAtom(Token token)

Parameters

token Token

Returns

bool