LexerContext Class

Definition

Line 16 of scmlg/LexerContext.cm

Constructors & Destructor

public LexerContext(IdentifierClassKind identifierClassKind)
public ~LexerContext()

Member Functions

public void AddUsingNode(Node* usingNode)
public const String<uchar>& Api() const
public const String<char>& FileName() const
public ClassMap* GetClassMap() const
public Keywords* GetKeywords() const
public Lexer* GetLexer() const
public Parser* GetParser() const
public Tokens* GetTokens() const
public const List<Node*>& GetUsingNodes() const
public Symbol* MakeAny()
public void MakeCanonicalClasses()
public Symbol* MakeChar(uchar c)
public Class* MakeClass()
public void MakeClassMap(const String<char>& root, bool verbose, bool noClassMapCompression)
public void MakeClassPartition(bool debug)
public DfaState* MakeDfaState(const List<NfaState*>& nfaStates)
public Symbol* MakeEpsilon()
public Nfa MakeExpr(const String<uchar>& id)
public Class* MakeIdCont()
public Class* MakeIdStart()
public NfaState* MakeNfaState()
public Symbol* MakeRange(uchar start, uchar end)
public const List<NfaState*>& NfaStates() const
public const List<Class*>& Partition() const
public void SetApi(const String<uchar>& api_)
public void SetClassMap(ClassMap* classMap_)
public void SetCurrentExpression(Expression* currentExpression_)
public void SetExpressions(Expressions* expressions_)
public void SetFileName(const String<char>& fileName_)
public void SetKeywords(Keywords* keywords_)
public void SetLexer(Lexer* lexer_)
public void SetParser(Parser* parser_)
public void SetTokens(Tokens* tokens_)
public const List<Symbol*>& Symbols() const

Member Variables

private Any any
private String<uchar> api
private List<Class*> canonicalClasses
private Map<uchar, Symbol*, Less<uchar>> charSymbols
private int classIndex
private ClassMap* classMap
private Expression* currentExpression
private List<DfaState*> dfaStates
private Char epsilon
private Expressions* expressions
private String<char> fileName
private Class* idCont
private Class* idStart
private Keywords* keywords
private Lexer* lexer
private int lexerStatementIndex
private int nextDfaStateId
private int nextNfaStateId
private List<NfaState*> nfaStates
private Parser* parser
private List<Class*> partition
private Map<Range, Symbol*, Less<Range>> rangeSymbols
private List<Symbol*> symbols
private Tokens* tokens
private List<Node*> usingNodes
private Usings* usings

Constructor& Destructor Details

LexerContext Constructor

public LexerContext(IdentifierClassKind identifierClassKind)

Definition
Line 18 of scmlg/LexerContext.cm


~LexerContext Destructor

public ~LexerContext()

Definition
Line 34 of scmlg/LexerContext.cm


Member Function Details

AddUsingNode Member Function

public void AddUsingNode(Node* usingNode)

Definition
Line 190 of scmlg/LexerContext.cm


Api Member Function

public const String<uchar>& Api()

Definition
Line 125 of scmlg/LexerContext.cm


FileName Member Function

public const String<char>& FileName()

Definition
Line 77 of scmlg/LexerContext.cm


GetClassMap Member Function

public ClassMap* GetClassMap()

Definition
Line 81 of scmlg/LexerContext.cm


GetKeywords Member Function

public Keywords* GetKeywords()

Definition
Line 93 of scmlg/LexerContext.cm


GetLexer Member Function

public Lexer* GetLexer()

Definition
Line 101 of scmlg/LexerContext.cm


GetParser Member Function

public Parser* GetParser()

Definition
Line 109 of scmlg/LexerContext.cm


GetTokens Member Function

public Tokens* GetTokens()

Definition
Line 89 of scmlg/LexerContext.cm


GetUsingNodes Member Function

public const List<Node*>& GetUsingNodes()

Definition
Line 85 of scmlg/LexerContext.cm


MakeAny Member Function

public Symbol* MakeAny()

Definition
Line 57 of scmlg/LexerContext.cm


MakeCanonicalClasses Member Function

public void MakeCanonicalClasses()

Definition
Line 260 of scmlg/LexerContext.cm


MakeChar Member Function

public Symbol* MakeChar(uchar c)

Definition
Line 150 of scmlg/LexerContext.cm


MakeClass Member Function

public Class* MakeClass()

Definition
Line 176 of scmlg/LexerContext.cm


MakeClassMap Member Function

public void MakeClassMap(const String<char>& root, bool verbose, bool noClassMapCompression)

Definition
Line 425 of scmlg/LexerContext.cm


MakeClassPartition Member Function

public void MakeClassPartition(bool debug)

Definition
Line 306 of scmlg/LexerContext.cm


MakeDfaState Member Function

public DfaState* MakeDfaState(const List<NfaState*>& nfaStates)

Definition
Line 135 of scmlg/LexerContext.cm


MakeEpsilon Member Function

public Symbol* MakeEpsilon()

Definition
Line 61 of scmlg/LexerContext.cm


MakeExpr Member Function

public Nfa MakeExpr(const String<uchar>& id)

Definition
Line 222 of scmlg/LexerContext.cm


MakeIdCont Member Function

public Class* MakeIdCont()

Definition
Line 69 of scmlg/LexerContext.cm


MakeIdStart Member Function

public Class* MakeIdStart()

Definition
Line 65 of scmlg/LexerContext.cm


MakeNfaState Member Function

public NfaState* MakeNfaState()

Definition
Line 129 of scmlg/LexerContext.cm


MakeRange Member Function

public Symbol* MakeRange(uchar start, uchar end)

Definition
Line 163 of scmlg/LexerContext.cm


NfaStates Member Function

public const List<NfaState*>& NfaStates()

Definition
Line 53 of scmlg/LexerContext.cm


Partition Member Function

public const List<Class*>& Partition()

Definition
Line 117 of scmlg/LexerContext.cm


SetApi Member Function

public void SetApi(const String<uchar>& api_)

Definition
Line 121 of scmlg/LexerContext.cm


SetClassMap Member Function

public void SetClassMap(ClassMap* classMap_)

Definition
Line 182 of scmlg/LexerContext.cm


SetCurrentExpression Member Function

public void SetCurrentExpression(Expression* currentExpression_)

Definition
Line 113 of scmlg/LexerContext.cm


SetExpressions Member Function

public void SetExpressions(Expressions* expressions_)

Definition
Line 210 of scmlg/LexerContext.cm


SetFileName Member Function

public void SetFileName(const String<char>& fileName_)

Definition
Line 218 of scmlg/LexerContext.cm


SetKeywords Member Function

public void SetKeywords(Keywords* keywords_)

Definition
Line 202 of scmlg/LexerContext.cm


SetLexer Member Function

public void SetLexer(Lexer* lexer_)

Definition
Line 97 of scmlg/LexerContext.cm


SetParser Member Function

public void SetParser(Parser* parser_)

Definition
Line 105 of scmlg/LexerContext.cm


SetTokens Member Function

public void SetTokens(Tokens* tokens_)

Definition
Line 194 of scmlg/LexerContext.cm


Symbols Member Function

public const List<Symbol*>& Symbols()

Definition
Line 73 of scmlg/LexerContext.cm