In This Article

PythonParser Class

Represents a parser for the Python language.

public class PythonParser : LLParserBase, ILLParser, IParser, IKeyedObject
Inheritance:
object ParserBase LLParserBase object
Implements:
ILLParser IParser IKeyedObject

Constructors

PythonParser(Grammar?)

Represents a parser for the Python language.

public PythonParser(Grammar? grammar = null)
Parameter Type Description
grammar Grammar

The optional Grammar instance to use, with a new PythonGrammar being created if none is specified.

Methods

CreateParseData(IParseRequest, IParserState)

Creates an IParseData for the specified IParserState, after the parse operation has completed.

protected override 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

IParseData

CreateTokenReader(ITextBufferReader)

Creates an ITokenReader that is used by the parser to read through tokens.

public override ITokenReader CreateTokenReader(ITextBufferReader reader)
Parameter Type Description
reader ITextBufferReader

The ITextBufferReader that provides access to the text buffer.

Returns

ITokenReader

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 override void InitializeParserState(IParserState state, IParseRequest request)
Parameter Type Description
state IParserState

The IParserState to initialize.

request IParseRequest

The IParseRequest that initiated the parse operation.

ParseExpression(string)

Parses the specified expression text.

public static IPythonParseData? ParseExpression(string text)
Parameter Type Description
text string

The expression text to parse.

Returns

IPythonParseData:

The IPythonParseData that contains the parse results.

Inherited Members

Extension Methods