System.Lex Namespace

Classes | Functions | Constants

Classes

public class FileMap A utility class for maintaining a mapping from a file index to a file name. Also can be used for maintaining a mapping from a file index to a contents of a source text file represented as a SourceFile .
public class FullSpan
public class Keyword
public class KeywordMap
public class Lexeme
public class Lexer
public class LineColLen
public abstract class ParsingLog
public class RuleGuard<LexerT>
public class SourceFile
public class Span Represents a span of text during and after parsing.
public class Token
public class TokenLine
public class TrivialLexer
public class XmlParsingLog

Functions

public List<int> ComputeLineStartIndeces(const String<uchar>& text)
public Result<int*> GetClassMap(const String<char>& classMapName)
public String<uchar> GetEndTokenInfo()
public String<char> GetTrivialTokenInfo(int tokenId)
public int LineColLenToPos(const LineColLen& lineColLen, const List<int>& lineStarts)
public const uchar* LineEnd(const uchar* end, const uchar* p)
public const uchar* LineStart(const uchar* start, const uchar* p)
public Result<String<char>> MakeMessage(const String<char>& message, const Span& span, int fileIndex, FileMap& fileMap)
public bool NoWhiteSpaceBetweenTokens(const Token& first, const Token& second)
public LineColLen SpanToLineColLen(const Span& span, const List<int>& lineStarts)
public inline const uchar* StrEnd(const uchar* s)
public Result<bool> WriteBeginRuleToLog(Lexer& lexer, const String<uchar>& ruleName)
public Result<bool> WriteFailureToLog(Lexer& lexer, const String<uchar>& ruleName)
public Result<bool> WriteSuccessToLog(Lexer& lexer, long pos, const String<uchar>& ruleName)
public Result<String<uchar>> XmlCharStr(uchar c)
public Result<String<uchar>> XmlEscape(const String<uchar>& s)
public Result<String<uchar>> XmlHexEscape(uchar c)
public bool operator<(const Lexeme& left, const Lexeme& right)
public bool operator==(const Lexeme& left, const Lexeme& right)
public bool operator==(const Span& left, const Span& right)
public bool operator==(const FullSpan& left, const FullSpan& right)

Constants

public const long CONTINUE_TOKEN -2
public const long END_TOKEN 0
public const long INVALID_TOKEN -1

Function Details

ComputeLineStartIndeces Function

public List<int> ComputeLineStartIndeces(const String<uchar>& text)

Definition
Line 11 of System.Lex/FileMap.cm


GetClassMap Function

public Result<int*> GetClassMap(const String<char>& classMapName)

Definition
Line 13 of System.Lex/Lexer.cm


GetEndTokenInfo Function

public String<uchar> GetEndTokenInfo()

Definition
Line 45 of System.Lex/Token.cm


GetTrivialTokenInfo Function

public String<char> GetTrivialTokenInfo(int tokenId)

Definition
Line 28 of System.Lex/TrivialLexer.cm


LineColLenToPos Function

public int LineColLenToPos(const LineColLen& lineColLen, const List<int>& lineStarts)

Definition
Line 96 of System.Lex/Span.cm


LineEnd Function

public const uchar* LineEnd(const uchar* end, const uchar* p)

Definition
Line 581 of System.Lex/Lexer.cm


LineStart Function

public const uchar* LineStart(const uchar* start, const uchar* p)

Definition
Line 568 of System.Lex/Lexer.cm


MakeMessage Function

public Result<String<char>> MakeMessage(const String<char>& message, const Span& span, int fileIndex, FileMap& fileMap)

Definition
Line 159 of System.Lex/FileMap.cm


NoWhiteSpaceBetweenTokens Function

public bool NoWhiteSpaceBetweenTokens(const Token& first, const Token& second)

Definition
Line 39 of System.Lex/Token.cm


SpanToLineColLen Function

public LineColLen SpanToLineColLen(const Span& span, const List<int>& lineStarts)

Definition
Line 61 of System.Lex/Span.cm


StrEnd Function

public inline const uchar* StrEnd(const uchar* s)

Definition
Line 51 of System.Lex/Keyword.cm


WriteBeginRuleToLog Function

public Result<bool> WriteBeginRuleToLog(Lexer& lexer, const String<uchar>& ruleName)

Definition
Line 590 of System.Lex/Lexer.cm


WriteFailureToLog Function

public Result<bool> WriteFailureToLog(Lexer& lexer, const String<uchar>& ruleName)

Definition
Line 622 of System.Lex/Lexer.cm


WriteSuccessToLog Function

public Result<bool> WriteSuccessToLog(Lexer& lexer, long pos, const String<uchar>& ruleName)

Definition
Line 608 of System.Lex/Lexer.cm


XmlCharStr Function

public Result<String<uchar>> XmlCharStr(uchar c)

Definition
Line 122 of System.Lex/XmlParsingLog.cm


XmlEscape Function

public Result<String<uchar>> XmlEscape(const String<uchar>& s)

Definition
Line 152 of System.Lex/XmlParsingLog.cm


XmlHexEscape Function

public Result<String<uchar>> XmlHexEscape(uchar c)

Definition
Line 100 of System.Lex/XmlParsingLog.cm


operator< Function

public bool operator<(const Lexeme& left, const Lexeme& right)

Definition
Line 45 of System.Lex/Lexeme.cm


operator== Function

public bool operator==(const Lexeme& left, const Lexeme& right)

Definition
Line 31 of System.Lex/Lexeme.cm


operator== Function

public bool operator==(const Span& left, const Span& right)

Definition
Line 36 of System.Lex/Span.cm


operator== Function

public bool operator==(const FullSpan& left, const FullSpan& right)

Definition
Line 115 of System.Lex/Span.cm