Sha256: 1a90ca0e0c7a8b58a3db9b7c42de43cbb2843e26a45205dbfe118549b813ab3f

Contents?: true

Size: 1.04 KB

Versions: 39

Compression:

Stored size: 1.04 KB

Contents

require 'alias/model/metamodel'
require 'alias/model/language'

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

require 'rtext/default_loader'

require 'cxxproject/utils/exit_helper'
require 'cxxproject/utils/printer'

module Cxxproject

class AliasLoader

attr_reader :model

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

def load(filename)

  sumErrors = 0
  
  if not File.exists?filename
    Printer.printError "Error: #{filename} does not exist"
    ExitHelper.exit(1) 
  end

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

  f = @model.fragments[0]
  
  f.data[:problems].each do |p|
    Printer.printError "Error: "+p.file+"("+p.line.to_s+"): "+p.message
  end
  
  if f.data[:problems].length > 0
    ExitHelper.exit(1) 
  end
  
  return @env

end


end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
bake-toolkit-1.8.0.1 lib/alias/loader.rb
bake-toolkit-1.7.0 lib/alias/loader.rb
bake-toolkit-1.6.3 lib/alias/loader.rb
bake-toolkit-1.6.2 lib/alias/loader.rb
bake-toolkit-1.6.1 lib/alias/loader.rb
bake-toolkit-1.6.0 lib/alias/loader.rb
bake-toolkit-1.5.0 lib/alias/loader.rb
bake-toolkit-1.4.0 lib/alias/loader.rb
bake-toolkit-1.3.0 lib/alias/loader.rb
bake-toolkit-1.2.1 lib/alias/loader.rb
bake-toolkit-1.2.0 lib/alias/loader.rb
bake-toolkit-1.1.0 lib/alias/loader.rb
bake-toolkit-1.0.27 lib/alias/loader.rb
bake-toolkit-1.0.26 lib/alias/loader.rb
bake-toolkit-1.0.25 lib/alias/loader.rb
bake-toolkit-1.0.24 lib/alias/loader.rb
bake-toolkit-1.0.23 lib/alias/loader.rb
bake-toolkit-1.0.22 lib/alias/loader.rb
bake-toolkit-1.0.21 lib/alias/loader.rb
bake-toolkit-1.0.20 lib/alias/loader.rb