Enhanced C#
Language of your choice: library documentation
|
A helper class used by LLLPG for backtracking. More...
A helper class used by LLLPG for backtracking.
Public fields | |
BaseLexer< CharSrc > | _lexer |
int | _oldPosition |
Public Member Functions | |
SavePosition (BaseLexer< CharSrc > lexer, int lookaheadAmt) | |
void | Dispose () |
Public Member Functions inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
BaseLexer (CharSrc chars, string fileName="", int inputPosition=0, bool newSourceFile=true) | |
Initializes BaseLexer. More... | |
virtual void | Reset (CharSrc chars, string fileName="", int inputPosition=0, bool newSourceFile=true) |
Reinitializes the object. This method is called by the constructor. More... | |
SourcePos | IndexToLine (int index) |
Returns the position in a source file of the specified index. More... | |
Additional Inherited Members | |
Public static fields inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
static readonly IMessageSink | FormatExceptionErrorSink |
Throws FormatException when it receives an error. Non-errors are sent to MessageSink.Current. More... | |
Properties inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
IMessageSink | ErrorSink [get, set] |
Gets or sets the object to which error messages are sent. The default object is FormatExceptionErrorSink, which throws FormatException if an error occurs. More... | |
int | LA0 [get, set] |
CharSrc | CharSource [get] |
string | FileName [get] |
int | InputPosition [get, set] |
LexerSourceFile< CharSrc > | SourceFile [get] |
int | LineNumber [get] |
Current line number. Starts at 1 for the first line, unless derived class changes it. More... | |
int | LineStartAt [get] |
Index at which the current line started. More... | |
Protected Member Functions inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
void | Reset () |
int | LA (int i) |
void | Skip () |
Increments InputPosition. Called by LLLPG when prediction already verified the input (and caller doesn't save LA(0)) More... | |
virtual void | AfterNewline () |
The lexer must call this method exactly once after it advances past each newline, even inside comments and strings. This method keeps the LineNumber and LineStartAt properties updated. More... | |
void | Newline () |
Default newline parser that matches ' ' or '' unconditionally. More... | |
void | Spaces () |
Skips past any spaces at the current position. Equivalent to rule Spaces @[ (' '|'')* ] in LLLPG. More... | |
int | MatchAny () |
int | Match (HashSet< int > set) |
int | Match (int a) |
int | Match (int a, int b) |
int | Match (int a, int b, int c) |
int | Match (int a, int b, int c, int d) |
int | MatchRange (int aLo, int aHi) |
int | MatchRange (int aLo, int aHi, int bLo, int bHi) |
int | MatchExcept () |
int | MatchExcept (HashSet< int > set) |
int | MatchExcept (int a) |
int | MatchExcept (int a, int b) |
int | MatchExcept (int a, int b, int c) |
int | MatchExcept (int a, int b, int c, int d) |
int | MatchExceptRange (int aLo, int aHi) |
int | MatchExceptRange (int aLo, int aHi, int bLo, int bHi) |
bool | TryMatch (HashSet< int > set) |
bool | TryMatch (int a) |
bool | TryMatch (int a, int b) |
bool | TryMatch (int a, int b, int c) |
bool | TryMatch (int a, int b, int c, int d) |
bool | TryMatchRange (int aLo, int aHi) |
bool | TryMatchRange (int aLo, int aHi, int bLo, int bHi) |
bool | TryMatchExcept () |
bool | TryMatchExcept (HashSet< int > set) |
bool | TryMatchExcept (int a) |
bool | TryMatchExcept (int a, int b) |
bool | TryMatchExcept (int a, int b, int c) |
bool | TryMatchExcept (int a, int b, int c, int d) |
bool | TryMatchExceptRange (int aLo, int aHi) |
bool | TryMatchExceptRange (int aLo, int aHi, int bLo, int bHi) |
virtual void | Check (bool expectation, string expectedDescr="") |
virtual void | Error (int lookaheadIndex, string message) |
This method is called to handle errors that occur during lexing. More... | |
virtual void | Error (int lookaheadIndex, string format, params object[] args) |
This method is called to format and handle errors that occur during lexing. The default implementation sends errors to ErrorSink, which, by default, throws a FormatException. More... | |
virtual void | Error (bool inverted, int range0lo, int range0hi) |
virtual void | Error (bool inverted, params int[] ranges) |
virtual void | Error (bool inverted, IList< int > ranges) |
virtual void | Error (bool inverted, HashSet< int > set) |
string | RangesToString (IList< int > ranges) |
Converts a list of character ranges to a string, e.g. for input list {'*','*','a','z'}, the output is "'*' 'a'..'z'". More... | |
void | PrintChar (int c, StringBuilder sb) |
Prints a character as a string, e.g. 'a' -> "'a'" , with the special value -1 representing EOF, so PrintChar(-1, ...) == "EOF". More... | |
Static Protected Member Functions inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
static HashSet< int > | NewSet (params int[] items) |
static HashSet< int > | NewSetOfRanges (params int[] ranges) |
Protected fields inherited from Loyc.Syntax.Lexing.BaseLexer< CharSrc > | |
int | CachedBlockSize = 128 |
int | _lineStartAt |
int | _lineNumber = 1 |