Class: Lrama::Lexer
- Inherits:
-
Object
- Object
- Lrama::Lexer
- Includes:
- Report::Duration
- Defined in:
- lib/lrama/lexer.rb,
lib/lrama/lexer/token.rb,
lib/lrama/lexer/token/type.rb
Overview
Lexer for parse.y
Defined Under Namespace
Classes: Token
Constant Summary collapse
- Initial =
0- Prologue =
1- BisonDeclarations =
2- GrammarRules =
3- Epilogue =
4
Instance Attribute Summary collapse
-
#bison_declarations ⇒ Object
readonly
Token types.
-
#bison_declarations_tokens ⇒ Object
readonly
Token types.
-
#epilogue ⇒ Object
readonly
Token types.
-
#grammar_rules ⇒ Object
readonly
Token types.
-
#grammar_rules_tokens ⇒ Object
readonly
Token types.
-
#prologue ⇒ Object
readonly
Token types.
Instance Method Summary collapse
-
#initialize(text) ⇒ Lexer
constructor
A new instance of Lexer.
Methods included from Report::Duration
enable, enabled?, #report_duration
Constructor Details
#initialize(text) ⇒ Lexer
Returns a new instance of Lexer.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/lrama/lexer.rb', line 24 def initialize(text) @text = text @state = Initial # Array of texts @prologue = [] @bison_declarations = [] @grammar_rules = [] @epilogue = [] @bison_declarations_tokens = [] @grammar_rules_tokens = [] @debug = false report_duration(:lex) do lex_text lex_bison_declarations_tokens lex_grammar_rules_tokens end end |
Instance Attribute Details
#bison_declarations ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def bison_declarations @bison_declarations end |
#bison_declarations_tokens ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def bison_declarations_tokens @bison_declarations_tokens end |
#epilogue ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def epilogue @epilogue end |
#grammar_rules ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def grammar_rules @grammar_rules end |
#grammar_rules_tokens ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def grammar_rules_tokens @grammar_rules_tokens end |
#prologue ⇒ Object (readonly)
Token types
21 22 23 |
# File 'lib/lrama/lexer.rb', line 21 def prologue @prologue end |