module BAM

Constants

VERSION

Public Class Methods

process_source_file(src) click to toggle source
# File lib/bam/frontend.rb, line 3
def self.process_source_file(src)
  case File.extname src
  when '.c', '.o', '.bc', '.ll'
    orig = src
    $temp << src = File.basename(orig).chomp(File.extname(orig)) + ".bpl"
    cmd = "#{smack} #{orig} -o #{src}"
    puts cmd.bold if $verbose
    abort "Failed to process LLVM bitcode" unless system cmd

  when '.bpl'

  else
    abort "Expecting Boogie, LLVM bitcode, or C source file."
  end
  src
end