Sha256: 6a297a8db27d92ff0b881f6f973edbb9f086fb6f323a24e94809fdeb2557edae
Contents?: true
Size: 651 Bytes
Versions: 13
Compression:
Stored size: 651 Bytes
Contents
# frozen_string_literal: true require_relative 'zenlish_grammar' module Zenlish class ZParser attr_reader(:engine) def initialize # Create a Rley facade object @engine = Rley::Engine.new # Step 1. Load Zenlish grammar @engine.use_grammar(ZenlishGrammar) end def parse(tokenSeq) result = engine.parse(tokenSeq) unless result.success? # Stop if the parse failed... line1 = "Parsing failed\n" line2 = "Reason: #{result.failure_reason.message}" raise StandardError, line1 + line2 end return engine.to_ptree(result) end end # class end # module
Version data entries
13 entries across 13 versions & 1 rubygems