Class Parser<TLexer>
Performs parsing of token streams provided by lexers
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Azos.CodeAnalysis
Assembly: Azos.dll
Syntax
public abstract class Parser<TLexer> : CommonCodeProcessor, IConfigurable, IParser, ICodeProcessor where TLexer : ILexer
Type Parameters
Name | Description |
---|---|
TLexer |
Constructors
Parser(IAnalysisContext, IEnumerable<TLexer>, MessageList, Boolean)
Declaration
protected Parser(IAnalysisContext context, IEnumerable<TLexer> input, MessageList messages = null, bool throwErrors = false)
Parameters
Type | Name | Description |
---|---|---|
IAnalysisContext | context | |
System.Collections.Generic.IEnumerable<TLexer> | input | |
MessageList | messages | |
System.Boolean | throwErrors |
Properties
HasParsed
Indicates whether Parse() already happened
Declaration
public bool HasParsed { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Input
Returns lexers that feed this parser
Declaration
public IEnumerable<TLexer> Input { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<TLexer> |
SourceInput
Lists source lexers that supply token stream for parsing
Declaration
public IEnumerable<ILexer> SourceInput { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ILexer> |
Methods
DoParse()
Override to perform actual parsing
Declaration
protected abstract void DoParse()
Parse()
Performs parsing if it has not been performed yet
Declaration
public void Parse()