Lexer Class

Definition

Line 554 of scmlg/Model.cm

Inheritance

Constructors & Destructor

public Lexer(const String<uchar>& api_, const String<uchar>& name_)

Member Functions

public void AddAction(Action* action)
public void AddStatement(LexerStatement* stmt)
public void AddVariable(Variable* variable)
public override void FillContext(LexerContext& lexerContext)
public void MakeDfa(LexerContext& lexerContext)
public void MakeMasterNfa(LexerContext& lexerContext)
public override void Process(const String<char>& root, bool verbose, LexerContext& lexerContext)
public void WriteAutomaton(const String<char>& root, bool verbose, LexerContext& lexerContext)

Member Variables

private Actions actions
private String<uchar> api
private Dfa dfa
private Nfa masterNfa
private List<UniquePtr<LexerStatement>> statements
private List<UniquePtr<Variable>> variables

Constructor& Destructor Details

Lexer Constructor

public Lexer(const String<uchar>& api_, const String<uchar>& name_)

Definition
Line 556 of scmlg/Model.cm


Member Function Details

AddAction Member Function

public void AddAction(Action* action)

Definition
Line 569 of scmlg/Model.cm


AddStatement Member Function

public void AddStatement(LexerStatement* stmt)

Definition
Line 560 of scmlg/Model.cm


AddVariable Member Function

public void AddVariable(Variable* variable)

Definition
Line 565 of scmlg/Model.cm


FillContext Member Function

public override void FillContext(LexerContext& lexerContext)

Definition
Line 818 of scmlg/Model.cm


MakeDfa Member Function

public void MakeDfa(LexerContext& lexerContext)

Definition
Line 582 of scmlg/Model.cm


MakeMasterNfa Member Function

public void MakeMasterNfa(LexerContext& lexerContext)

Definition
Line 573 of scmlg/Model.cm


Process Member Function

public override void Process(const String<char>& root, bool verbose, LexerContext& lexerContext)

Definition
Line 823 of scmlg/Model.cm


WriteAutomaton Member Function

public void WriteAutomaton(const String<char>& root, bool verbose, LexerContext& lexerContext)

Definition
Line 586 of scmlg/Model.cm