Versions in this module Expand all Collapse all v1 v1.0.3 Jan 7, 2025 Changes in this version + type Operator interface + EvaluatesBefore func(Operator) bool + IsBinary func() bool + IsSentinel func() bool + IsUnary func() bool + Precedence func() int + Symbol func() string + var Sentinel Operator = NewWithDefault("S", 0) + func New(symbol string, precedence int, operandCount int, leftAssociative bool) Operator + func NewWithDefault(symbol string, precedence int) Operator + type OperatorImpl struct + func (o OperatorImpl) IsBinary() bool + func (o OperatorImpl) IsSentinel() bool + func (o OperatorImpl) IsUnary() bool + func (o OperatorImpl) Precedence() int + func (o OperatorImpl) Symbol() string + func (thisOp OperatorImpl) EvaluatesBefore(other Operator) bool + type ShuntingYardState struct + Operands Stack[T] + Operators Stack[Operator] + func NewShuntingYardState[T any]() ShuntingYardState[T] + type Stack interface + Pop func() (T, bool) + Push func(T) + Top func() (T, bool) + func NewStack[T any]() Stack[T] + type StackImpl struct + func (s *StackImpl[T]) Pop() (T, bool) + func (s *StackImpl[T]) Push(v T) + func (s StackImpl[T]) Top() (T, bool)