Module: TracePreprocessor

Defined in:
lib/trace_preprocessor.rb,
lib/trace_preprocessor/dsl.rb,
lib/trace_preprocessor/lexeme.rb,
lib/trace_preprocessor/version.rb,
lib/trace_preprocessor/preprocessor.rb,
lib/trace_preprocessor/code_generator.rb

Defined Under Namespace

Modules: CodeGenerator Classes: DSL, Lexeme, Preprocessor

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.generate(config, language) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/trace_preprocessor.rb', line 20

def self.generate config, language
  if language == :c
    lex = CodeGenerator.generate_lex config
    
    open(config.workspace_path + "/preprocessor.l", "w") { |fd| fd.write lex }
    
    `cd #{config.workspace_path}; flex -o preprocessor.c preprocessor.l; gcc -o preprocessor -ll preprocessor.c`
    
    Preprocessor.new(:c, config.workspace_path + "/preprocessor")
  else
  end    
end

.init(&block) ⇒ Object



14
15
16
17
18
# File 'lib/trace_preprocessor.rb', line 14

def self.init &block
  dsl = DSL.new
  dsl.init &block
  dsl
end