Class: Lrama::Lexer
- Inherits:
-
Object
- Object
- Lrama::Lexer
- Includes:
- Report::Duration
- Defined in:
- lib/lrama/lexer.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.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/lrama/lexer.rb', line 70 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
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def bison_declarations @bison_declarations end |
#bison_declarations_tokens ⇒ Object (readonly)
Token types
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def bison_declarations_tokens @bison_declarations_tokens end |
#epilogue ⇒ Object (readonly)
Token types
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def epilogue @epilogue end |
#grammar_rules ⇒ Object (readonly)
Token types
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def grammar_rules @grammar_rules end |
#grammar_rules_tokens ⇒ Object (readonly)
Token types
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def grammar_rules_tokens @grammar_rules_tokens end |
#prologue ⇒ Object (readonly)
Token types
67 68 69 |
# File 'lib/lrama/lexer.rb', line 67 def prologue @prologue end |