Sha256: d5e42acbb953730f3b58725ab5e7811762a4dae5354a9d75180be407a7b2d598

Contents?: true

Size: 909 Bytes

Versions: 1

Compression:

Stored size: 909 Bytes

Contents

require 'bundler/gem_tasks'
require 'rake/extensiontask'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)
Rake::ExtensionTask.new('lexerc') do |config|
  config.lib_dir = 'lib/hotcell'
end

task :default => :spec

desc 'Builds all the project'
task :project do
  %w(project:lexerr project:lexerc project:parser clobber compile).each do |task|
    Rake::Task[task].invoke
  end
end

namespace :project do
  desc 'Build lexer'
  task :lexerr do
    `ragel -R -F1 -I lib/hotcell lib/hotcell/lexerr.rl`
  end

  desc 'Build lexer'
  task :lexerc do
    `ragel -C -G2 -I lib/hotcell ext/lexerc/lexerc.rl`
  end

  task :dot do
    `ragel -Vp -I lib/hotcell lib/hotcell/lexerr.rl > lexerr.dot`
    `ragel -Vp -I lib/hotcell ext/lexerc/lexerc.rl > lexerc.dot`
  end

  desc 'Build parser'
  task :parser do
    `racc -o lib/hotcell/parser.rb -O lib/hotcell/parser.out lib/hotcell/parser.y`
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hotcell-0.3.0 Rakefile