Class ParserBuilder
- Namespace
- Albatross.Expression.Parsing
- Assembly
- Albatross.Expression.dll
Builder class for creating Parser instances with customizable token factories. Provides fluent interface for configuring different types of expression parsing capabilities.
public class ParserBuilder
- Inheritance
-
ParserBuilder
- Inherited Members
- Extension Methods
Properties
Factories
Return a read-only list of the currently registered expression factories.
public IReadOnlyList<IExpressionFactory<IToken>> Factories { get; }
Property Value
Methods
AddDefault(bool)
Adds all standard expression parsing capabilities (values, infix, unary, and prefix operations).
public ParserBuilder AddDefault(bool caseSensitive = false)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddFactory(IExpressionFactory<IToken>)
Adds a custom expression factory to the parser configuration.
public ParserBuilder AddFactory(IExpressionFactory<IToken> factory)
Parameters
factoryIExpressionFactory<IToken>The factory to add for parsing specific token types.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddGenericPrefixFactory(bool)
Adds a comprehensive set of built-in prefix functions to the parser.
public ParserBuilder AddGenericPrefixFactory(bool caseSensitive)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddInfixFactories(bool)
Adds infix operation factories (binary operators like +, -, *, etc.) to the parser.
public ParserBuilder AddInfixFactories(bool caseSensitive)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddNamedPrefixFactories(bool)
Adds named prefix expression factories that require specific syntax.
public ParserBuilder AddNamedPrefixFactories(bool caseSensitive)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddUnaryFactories()
Adds unary operation factories (unary operators like +x, -x) to the parser.
public ParserBuilder AddUnaryFactories()
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
AddValueNodeFactories(bool)
Adds standard value node factories (literals and variables) to the parser.
public ParserBuilder AddValueNodeFactories(bool caseSensitive)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- ParserBuilder
This ParserBuilder instance for method chaining.
BuildDefault(bool)
Creates a Parser instance with all default parsing capabilities enabled.
public Parser BuildDefault(bool caseSensitive = false)
Parameters
caseSensitiveboolWhether parsing should be case-sensitive.
Returns
- Parser
A fully configured Parser instance.