20 private readonly List<BadBinaryOperator>
m_Operators =
new List<BadBinaryOperator>
75 private readonly List<BadValueParser>
m_ValueParsers =
new List<BadValueParser>
149 op => op.Symbol == symbol &&
150 (op.IsLeftAssociative && op.Precedence < precedence ||
151 !op.IsLeftAssociative && op.Precedence <= precedence)
164 op => op.Symbol == symbol &&
165 (op.IsLeftAssociative && op.Precedence < precedence ||
166 !op.IsLeftAssociative && op.Precedence <= precedence)
The Parser of the Language. It turns Source Code into an Expression Tree.
Base class for all binary operators.
Implements the Delete Expression Parser.
Implements the Instance Of Operator.
Implements the Operator Table used by the Parser.
void AddUnaryPrefixOperator(BadUnaryPrefixOperator op)
Adds a Unary Prefix Operator Parser to the List of Unary Prefix Operators.
readonly List< BadBinaryOperator > m_Operators
List of Binary operators.
void AddOperator(BadBinaryOperator op)
Adds a Binary Operator Parser to the List of Binary Operators.
readonly List< BadValueParser > m_ValueParsers
List of Value Parsers.
readonly List< BadUnaryPrefixOperator > m_UnaryPrefixOperators
List of Unary Prefix Operators.
IEnumerable< string > BinarySymbols
Enumeration of all Binary Operator Symbols.
BadValueParser? GetValueParser(BadSourceParser parser)
Returns a Value Parser that is able to parse the given Token.
void AddValueParser(BadValueParser parser)
Adds a Value parser to the List of Value Parsers.
IEnumerable< string > UnaryPrefixSymbols
Enumeration of all Unary Prefix Operator Symbols.
BadBinaryOperator? FindBinaryOperator(string symbol, int precedence)
Finds a Binary Operator by its Symbol.
BadUnaryPrefixOperator? FindUnaryPrefixOperator(string symbol, int precedence)
Finds a Unary Prefix Operator by its Symbol.
BadOperatorTable()
Private Constructor.
static BadOperatorTable Instance
The Operator Table Instance.
Implements the Type Of Expression Parser.
Base class for all Unary Prefix Operators.
Base class for all Value Parsers.
Implements the Assign Operator.
Implements the '...' operator.
Implements the 'in' operator.
Implements the Member Access Operator.
Implements the Null-Checked Member Access Operator.
Implements the Null-Coalescing Assign Operator.
Implements the Null-Coalescing Operator.
Implements the Range Operator.
Implements the Ternary Operator.
Implements the '...' operator.
Implements the Equality Operator.
Implements the Greater or Equal Operator.
Implements the Greater Than Operator.
Implements the Inequality Operator.
Implements the Less or Equal Operator.
Implements the Less Than Operator.
Implements the Logic And Assign Operator.
Implements the Logic Or Assign Operator.
Implements the Logic Exclusive Or Assign Operator.
Implements the Logic And Operator.
Implements the Logic Not Operator.
Implements the Logic Or Operator.
Implements the Logic Exclusive Or Operator.
Implements the Add Assign Operator.
Implements the Divide Assign Operator.
Implements the '**=' operator.
Implements the Modulus Assign Operator.
Implements the Multiply Assign Operator.
Implements the Subtract Assign Operator.
Implements the Post Decrement Operator.
Implements the Post Increment Operator.
Implements the Pre Decrement Operator.
Implements the Pre Increment Operator.
Implements the Add Operator.
Implements the Divide Operator.
Implements the '**' Operator.
Implements the Modulus Operator.
Implements the Multiply Operator.
Implements the Subtract Operator.
Parses the Export Expression.
Parses the Import Expression.
Contains the Comparison Operators for the BadScript2 Language.
Contains the Self-Assigning Logic Operators for the BadScript2 Language.
Contains the Logic Operators for the BadScript2 Language.
Contains the Self-Assignung Math Operators for the BadScript2 Language.
Contains the Atomic Math Operators for the BadScript2 Language.
Contains the Math Operators for the BadScript2 Language.
Contains the Binary Operators for the BadScript2 Language.
Contains the Operators for the BadScript2 Language.