Class: Xdrgen::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/xdrgen/parser.rb

Instance Method Summary collapse

Constructor Details

#initializeParser

Returns a new instance of Parser.



7
8
9
# File 'lib/xdrgen/parser.rb', line 7

def initialize
  @grammar = XdrMainGrammarParser.new
end

Instance Method Details

#parse(data) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/xdrgen/parser.rb', line 11

def parse(data)
  @grammar.parse(data).tap do |tree|
    if(tree.nil?)
      raise Xdrgen::ParseError, "Couldn't parse, failed at: #{@grammar.failure_line}:#{@grammar.failure_column}\n#{@grammar.failure_reason}"
    end
  end
end