Lexer Class

Constructors & Destructor | Member Functions | Member Variables

Definition

Line 25 of System.Lex/Lexer.cm

Inheritance

Constructors & Destructor

suppress Lexer(const Lexer&)
public Lexer(const uchar* start_, const uchar* end_, const String<char>& fileName_, const String<char>& classMapName_)

Member Functions

public const Set<int, Less<int>>& BlockCommentStates() const
public inline const String<char>& ClassMapName()
private void ComputeLineStarts()
public inline const uchar* End() const
public String<uchar> ErrorLines(long pos)
public const List<long>& FarthestRuleContext() const
public inline int FileIndex() const
public const String<char>& FileName() const
public char GetChar(long pos)
public int GetClass(uchar c) const
protected virtual int GetCommentTokenId() const
public Result<double> GetDouble(long pos)
public ErrorId GetFarthestError()
public Result<int> GetInt(long pos)
public inline KeywordMap* GetKeywordMap()
public long GetKeywordToken(const Lexeme& lexeme) const
public List<int> GetLineStartIndeces() const
public String<uchar> GetMatch(long pos)
public String<char> GetParserStateStr() const
public inline long GetPos() const
public Span GetSpan(long pos) const
public Token GetToken(long pos)
public uchar GetUChar(long pos)
public wchar GetWChar(long pos)
public ParsingLog* Log() const
public virtual int NextState(int state, uchar c)
public Result<bool> NextToken()
public void PopRule()
public inline const uchar* Pos() const
public void PushRule(long ruleId)
public String<uchar> RestOfLine(int maxLineLength)
public void Retract()
public const List<long>& RuleContext() const
public void SetBlockCommentStates(const Set<int, Less<int>>& blockCommentStates_) const
public void SetClassMap(int* classMap_)
public void SetCommentTokenId(int commentTokenId_)
public void SetCountLines(bool countLines_)
public void SetFileIndex(int fileIndex_)
public inline void SetKeywordMap(KeywordMap* keywordMap_)
public void SetLine(int line_)
public void SetLog(ParsingLog* log_)
public inline void SetPos(long pos)
public void SetRuleNameMapPtr(Map<long, String<char>, Less<long>>* ruleNameMapPtr_)
public void SetSeparatorChar(uchar separatorChar_)
public void SetTokens(const List<Token>& tokens_)
public inline const uchar* Start() const
public TokenLine TokenizeLine(const String<uchar>& line, int lineNumber, int startState)
public inline long operator*() const
public Result<bool> operator++()
suppress void operator=(const Lexer&)

Member Variables

private Set<int, Less<int>> blockCommentStates
private int* classMap
private String<char> classMapName
private int commentTokenId
private String<uchar> content
private bool countLines
private RandomAccessIter<Token, Token&, Token*> current
private const uchar* end
private long farthestPos
private List<long> farthestRuleContext
private int fileIndex
private String<char> fileName
private KeywordMap* keywordMap
protected Lexeme lexeme
protected int line
private List<const uchar*> lineStarts
private ParsingLog* log
private const uchar* pos
private List<long> ruleContext
private Map<long, String<char>, Less<long>>* ruleNameMapPtr
private uchar separatorChar
private const uchar* start
public Token token
private List<Token> tokens

Constructor& Destructor Details

Lexer Constructor

suppress Lexer(const Lexer&)

Definition
Line 34 of System.Lex/Lexer.cm


Lexer Constructor

public Lexer(const uchar* start_, const uchar* end_, const String<char>& fileName_, const String<char>& classMapName_)

Definition
Line 27 of System.Lex/Lexer.cm


Member Function Details

BlockCommentStates Member Function

public const Set<int, Less<int>>& BlockCommentStates()

Definition
Line 44 of System.Lex/Lexer.cm


ClassMapName Member Function

public inline const String<char>& ClassMapName()

Definition
Line 36 of System.Lex/Lexer.cm


ComputeLineStarts Member Function

private void ComputeLineStarts()

Definition
Line 527 of System.Lex/Lexer.cm


End Member Function

public inline const uchar* End()

Definition
Line 102 of System.Lex/Lexer.cm


ErrorLines Member Function

public String<uchar> ErrorLines(long pos)

Definition
Line 347 of System.Lex/Lexer.cm


FarthestRuleContext Member Function

public const List<long>& FarthestRuleContext()

Definition
Line 466 of System.Lex/Lexer.cm


FileIndex Member Function

public inline int FileIndex()

Definition
Line 81 of System.Lex/Lexer.cm


FileName Member Function

public const String<char>& FileName()

Definition
Line 72 of System.Lex/Lexer.cm


GetChar Member Function

public char GetChar(long pos)

Definition
Line 291 of System.Lex/Lexer.cm


GetClass Member Function

public int GetClass(uchar c)

Definition
Line 515 of System.Lex/Lexer.cm


GetCommentTokenId Member Function

protected virtual int GetCommentTokenId()

Definition
Line 52 of System.Lex/Lexer.cm


GetDouble Member Function

public Result<double> GetDouble(long pos)

Definition
Line 319 of System.Lex/Lexer.cm


GetFarthestError Member Function

public ErrorId GetFarthestError()

Definition
Line 363 of System.Lex/Lexer.cm


GetInt Member Function

public Result<int> GetInt(long pos)

Definition
Line 307 of System.Lex/Lexer.cm


GetKeywordMap Member Function

public inline KeywordMap* GetKeywordMap()

Definition
Line 64 of System.Lex/Lexer.cm


GetKeywordToken Member Function

public long GetKeywordToken(const Lexeme& lexeme)

Definition
Line 269 of System.Lex/Lexer.cm


GetLineStartIndeces Member Function

public List<int> GetLineStartIndeces()

Definition
Line 502 of System.Lex/Lexer.cm


GetMatch Member Function

public String<uchar> GetMatch(long pos)

Definition
Line 286 of System.Lex/Lexer.cm


GetParserStateStr Member Function

public String<char> GetParserStateStr()

Definition
Line 474 of System.Lex/Lexer.cm


GetPos Member Function

public inline long GetPos()

Definition
Line 153 of System.Lex/Lexer.cm


GetSpan Member Function

public Span GetSpan(long pos)

Definition
Line 76 of System.Lex/Lexer.cm


GetToken Member Function

public Token GetToken(long pos)

Definition
Line 280 of System.Lex/Lexer.cm


GetUChar Member Function

public uchar GetUChar(long pos)

Definition
Line 301 of System.Lex/Lexer.cm


GetWChar Member Function

public wchar GetWChar(long pos)

Definition
Line 296 of System.Lex/Lexer.cm


Log Member Function

public ParsingLog* Log()

Definition
Line 114 of System.Lex/Lexer.cm


NextState Member Function

public virtual int NextState(int state, uchar c)

Definition
Line 387 of System.Lex/Lexer.cm


NextToken Member Function

public Result<bool> NextToken()

Definition
Line 164 of System.Lex/Lexer.cm


PopRule Member Function

public void PopRule()

Definition
Line 498 of System.Lex/Lexer.cm


Pos Member Function

public inline const uchar* Pos()

Definition
Line 106 of System.Lex/Lexer.cm


PushRule Member Function

public void PushRule(long ruleId)

Definition
Line 494 of System.Lex/Lexer.cm


RestOfLine Member Function

public String<uchar> RestOfLine(int maxLineLength)

Definition
Line 378 of System.Lex/Lexer.cm


Retract Member Function

public void Retract()

Definition
Line 68 of System.Lex/Lexer.cm


RuleContext Member Function

public const List<long>& RuleContext()

Definition
Line 462 of System.Lex/Lexer.cm


SetBlockCommentStates Member Function

public void SetBlockCommentStates(const Set<int, Less<int>>& blockCommentStates_)

Definition
Line 40 of System.Lex/Lexer.cm


SetClassMap Member Function

public void SetClassMap(int* classMap_)

Definition
Line 511 of System.Lex/Lexer.cm


SetCommentTokenId Member Function

public void SetCommentTokenId(int commentTokenId_)

Definition
Line 48 of System.Lex/Lexer.cm


SetCountLines Member Function

public void SetCountLines(bool countLines_)

Definition
Line 93 of System.Lex/Lexer.cm


SetFileIndex Member Function

public void SetFileIndex(int fileIndex_)

Definition
Line 85 of System.Lex/Lexer.cm


SetKeywordMap Member Function

public inline void SetKeywordMap(KeywordMap* keywordMap_)

Definition
Line 60 of System.Lex/Lexer.cm


SetLine Member Function

public void SetLine(int line_)

Definition
Line 89 of System.Lex/Lexer.cm


SetLog Member Function

public void SetLog(ParsingLog* log_)

Definition
Line 110 of System.Lex/Lexer.cm


SetPos Member Function

public inline void SetPos(long pos)

Definition
Line 158 of System.Lex/Lexer.cm


SetRuleNameMapPtr Member Function

public void SetRuleNameMapPtr(Map<long, String<char>, Less<long>>* ruleNameMapPtr_)

Definition
Line 470 of System.Lex/Lexer.cm


SetSeparatorChar Member Function

public void SetSeparatorChar(uchar separatorChar_)

Definition
Line 118 of System.Lex/Lexer.cm


SetTokens Member Function

public void SetTokens(const List<Token>& tokens_)

Definition
Line 330 of System.Lex/Lexer.cm


Start Member Function

public inline const uchar* Start()

Definition
Line 98 of System.Lex/Lexer.cm


TokenizeLine Member Function

public TokenLine TokenizeLine(const String<uchar>& line, int lineNumber, int startState)

Definition
Line 391 of System.Lex/Lexer.cm


operator* Member Function

public inline long operator*()

Definition
Line 56 of System.Lex/Lexer.cm


operator++ Member Function

public Result<bool> operator++()

Definition
Line 123 of System.Lex/Lexer.cm


operator= Member Function

suppress void operator=(const Lexer&)

Definition
Line 35 of System.Lex/Lexer.cm