Sha256: a28c52bb5f0955aa07190800e0b98fd141970dff36b64e70470a72f8457a3049

Contents?: true

Size: 1.06 KB

Versions: 86

Compression:

Stored size: 1.06 KB

Contents

require 'bakery/model/metamodel'
require 'bakery/model/language'
require 'common/version'

require 'rgen/environment'
require 'rgen/fragment/fragmented_model'

require 'rtext/default_loader'

require 'common/exit_helper'
require 'bake/toolchain/colorizing_formatter'

module Bake

  class BakeryLoader

    attr_reader :model

    def initialize
      @env = RGen::Environment.new
      @model = RGen::Fragment::FragmentedModel.new(:env => @env)
    end

    def load(filename)

      sumErrors = 0

      if not File.exists?filename
        Bake.formatter.printError("Error: #{filename} does not exist")
        ExitHelper.exit(1)
      end

      loader = RText::DefaultLoader.new(
        Bake::BakeryLanguage,
        @model,
        :file_provider => proc { [filename] },
        :cache => @DumpFileCache)
      loader.load()

      f = @model.fragments[0]

      f.data[:problems].each do |p|
        Bake.formatter.printError(p.message, p.file, p.line)
      end

      if f.data[:problems].length > 0
        ExitHelper.exit(1)
      end

      return @env

    end


  end
end

Version data entries

86 entries across 86 versions & 1 rubygems

Version Path
bake-toolkit-2.46.0 lib/bakery/model/loader.rb
bake-toolkit-2.45.0 lib/bakery/model/loader.rb
bake-toolkit-2.44.1 lib/bakery/model/loader.rb
bake-toolkit-2.44.0 lib/bakery/model/loader.rb
bake-toolkit-2.43.2 lib/bakery/model/loader.rb
bake-toolkit-2.43.1 lib/bakery/model/loader.rb
bake-toolkit-2.43.0 lib/bakery/model/loader.rb
bake-toolkit-2.42.3 lib/bakery/model/loader.rb
bake-toolkit-2.42.2 lib/bakery/model/loader.rb
bake-toolkit-2.42.1 lib/bakery/model/loader.rb
bake-toolkit-2.42.0 lib/bakery/model/loader.rb
bake-toolkit-2.41.4 lib/bakery/model/loader.rb
bake-toolkit-2.41.3 lib/bakery/model/loader.rb
bake-toolkit-2.41.2 lib/bakery/model/loader.rb
bake-toolkit-2.41.1 lib/bakery/model/loader.rb
bake-toolkit-2.41.0 lib/bakery/model/loader.rb
bake-toolkit-2.40.1 lib/bakery/model/loader.rb
bake-toolkit-2.40.0 lib/bakery/model/loader.rb
bake-toolkit-2.39.1 lib/bakery/model/loader.rb
bake-toolkit-2.39.0 lib/bakery/model/loader.rb