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: NFX.CodeAnalysis
Assembly: NFX.dll
Syntax
public abstract class Parser<TLexer> : CommonCodeProcessor, 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()