Zen
A cross-platform functional programming language
|
#include <ParseContext.hpp>
Public Types | |
enum | IdentifierState { iInit, iImportDef, iNamespaceDef, iChildTypeRef, iChildTypeScope, iChildVarRef, iChildVarScope } |
The lexer state when reading different ID tokens. More... | |
Public Member Functions | |
LexerContext () | |
Default constructor. | |
void | resetLexerState () |
Reset lexer state to initial state. | |
void | enterImportState () |
Change lexer state to import state. | |
void | enterNamespaceState () |
Change lexer state to namespace state. | |
void | enterTypeRefState (const Ast::TypeSpec *typeSpec) |
Change lexer state to type reference state. | |
void | enterTypeScopeState () |
Change lexer state to child type scope state. | |
void | enterVarRefState () |
Change lexer state to variable reference state. | |
void | enterVarScopeState () |
Change lexer state to child variable scope state. | |
const IdentifierState & | getIdentifierState () const |
Get current lexer state. | |
const Ast::TypeSpec & | getCurrentTypeSpec () const |
Get current type spec. | |
Private Attributes | |
IdentifierState | _identifierState |
Current lexer state. | |
const Ast::TypeSpec * | _currentTypeSpec |
Current typespec. |
The Lexer Context.
enum IdentifierState |
The lexer state when reading different ID tokens.
const Ast::TypeSpec& getCurrentTypeSpec | ( | ) | const [inline] |
Get current type spec.
const IdentifierState& getIdentifierState | ( | ) | const [inline] |
Get current lexer state.