Sha256: 558c516ab68a9f042fa68d80016609b8133d08fd667013a52c63318c9e665af3

Contents?: true

Size: 516 Bytes

Versions: 1

Compression:

Stored size: 516 Bytes

Contents

# frozen_string_literal: true

require 'deepalgo_il/version'
require 'parser'

module DeepAlgo
  module IL
    class Converter
      def initialize(backend_type)
        @curr_backend = backend_type.new
        @parser = Parser.new(@curr_backend)
        @tree = nil
      end

      def parse(code)
        @tree = @parser.parse(code)
        self
      end

      def generate
        return nil if @tree.nil? || @curr_backend.nil?

        @curr_backend.generate(@tree, @curr_backend)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
deepalgo_il-0.1.0 lib/deepalgo_il.rb