|
Enhanced C#
Loyc 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... | |
| LineColumnFile | IndexToLine (int charIndex) |
| 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 | LogExceptionErrorSink |
| Throws LogException when it receives an error. Non-errors are sent to MessageSink.Default. More... | |
| static readonly IMessageSink | FormatExceptionErrorSink |
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 LogExceptionErrorSink, which throws an exception 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... | |
Properties inherited from Loyc.Syntax.IFileName | |
| string | FileName [get] |
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 object | IndexToPositionObject (int charIndex) |
| virtual void | MatchError (bool inverted, params int[] ranges) |
| virtual void | MatchError (bool inverted, IList< int > ranges) |
| Handles an error that occurs during Match(), MatchExcept(), MatchRange() or MatchExceptRange() More... | |
| 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 = 512 |
| int | _lineStartAt |
| int | _lineNumber = 1 |
1.8.7