Class: Collie::Parser::Parser
- Inherits:
-
Object
- Object
- Collie::Parser::Parser
- Defined in:
- lib/collie/parser/parser.rb
Overview
Parser for .y grammar files
Instance Method Summary collapse
-
#initialize(tokens) ⇒ Parser
constructor
A new instance of Parser.
- #parse ⇒ Object
Constructor Details
#initialize(tokens) ⇒ Parser
Returns a new instance of Parser.
9 10 11 12 |
# File 'lib/collie/parser/parser.rb', line 9 def initialize(tokens) @tokens = tokens @pos = 0 end |
Instance Method Details
#parse ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/collie/parser/parser.rb', line 14 def parse prologue = parse_prologue declarations = parse_declarations expect(:SECTION_SEPARATOR) rules = parse_rules epilogue = parse_epilogue AST::GrammarFile.new( prologue: prologue, declarations: declarations, rules: rules, epilogue: epilogue, location: current_token.location ) end |