Sha256: 28a276b8daf4af6f0dd1742435a5af9400ef64bb9b33f7e3a8e13c187eb35382

Contents?: true

Size: 850 Bytes

Versions: 1

Compression:

Stored size: 850 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 lib/hotcell/lexerr.rl`
  end

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

  task :dot do
    `ragel -Vp lib/hotcell/lexerr.rl > lexerr.dot`
    `ragel -Vp lib/hotcell/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.1.0 Rakefile