LLParserBase Class
public abstract class LLParserBase : ParserBase, ILLParser, IParser, IKeyedObject
- Inheritance:
- object ParserBase object
- Implements:
- ILLParser IParser IKeyedObject
Constructors
LLParserBase(Grammar)
Initializes an instance of the class.
protected LLParserBase(Grammar grammar)
| Parameter | Type | Description |
|---|---|---|
| grammar | Grammar | The Grammar to use. |
Properties
Grammar
The Grammar that is used by this parser.
Methods
CreateParseData(IParseRequest, IParserState)
Creates an IParseData for the specified IParserState, after the parse operation has completed.
protected virtual IParseData? CreateParseData(IParseRequest request, IParserState state)
| Parameter | Type | Description |
|---|---|---|
| request | IParseRequest | The IParseRequest that contains data about the requested parsing operation. |
| state | IParserState | The IParserState to examine. |
Returns
CreateParserState(ITokenReader, IAstNodeBuilder, ITextSnapshot?)
Creates an IParserState for a parse operation.
protected virtual IParserState CreateParserState(ITokenReader tokenReader, IAstNodeBuilder astNodeBuilder, ITextSnapshot? snapshot)
| Parameter | Type | Description |
|---|---|---|
| tokenReader | ITokenReader | The ITokenReader that is used to read tokens during the parsing operation. |
| astNodeBuilder | IAstNodeBuilder | The IAstNodeBuilder to use for constructing AST node results |
| snapshot | ITextSnapshot | The ITextSnapshot used to initiate the parsing operation, if known. |
Returns
CreateTokenReader(ITextBufferReader)
Creates an ITokenReader that is used by the parser to read through tokens.
public abstract ITokenReader CreateTokenReader(ITextBufferReader reader)
| Parameter | Type | Description |
|---|---|---|
| reader | ITextBufferReader | The ITextBufferReader that provides access to the text buffer. |
Returns
InitializeParseData(LLParseData, IParserState)
Initializes a LLParseData using the specified IParserState.
protected virtual void InitializeParseData(LLParseData parseData, IParserState state)
| Parameter | Type | Description |
|---|---|---|
| parseData | LLParseData | The LLParseData to initialize. |
| state | IParserState | The IParserState to examine. |
Remarks
This method is called by default from the CreateParseData(IParseRequest, IParserState) method.
InitializeParserState(IParserState, IParseRequest)
Initializes the IParserState, allowing its CustomData property to be configured based on data from the IParseRequest, immediately prior to the parse operation running.
protected virtual void InitializeParserState(IParserState state, IParseRequest request)
| Parameter | Type | Description |
|---|---|---|
| state | IParserState | The IParserState to initialize. |
| request | IParseRequest | The IParseRequest that initiated the parse operation. |
Parse(IParseRequest)
Performs a parsing operation using the parameters specified in the supplied IParseRequest and returns the resulting parse data.
public override IParseData? Parse(IParseRequest request)
| Parameter | Type | Description |
|---|---|---|
| request | IParseRequest | The IParseRequest that contains data about the requested parsing operation. |
Returns
- IParseData:
An IParseData that is the result of the parsing operation.
Remarks
A IParseRequestDispatcher typically calls this method when a queued parse request is ready to be processed.
Inherited Members
- ParserBase.Key
- object.GetType()
- object.MemberwiseClone()
- object.ToString()
- object.Equals(object)
- object.Equals(object, object)
- object.ReferenceEquals(object, object)
- object.GetHashCode()