Class: Emfrp::PrimFuncDef

Inherits:
Object
  • Object
show all
Defined in:
lib/emfrp/compile/c/syntax_codegen.rb

Instance Method Summary collapse

Instance Method Details

#codegen(ct) ⇒ Object



350
351
352
353
354
355
# File 'lib/emfrp/compile/c/syntax_codegen.rb', line 350

def codegen(ct)
  params = self[:params].map{|x| x[:name][:desc]}
  exp = self[:foreigns].find{|x| x[:language][:desc] == "c"}
  raise "assertion error: foreign for c is undefined in #{self[:name][:desc]}" unless exp
  ct.define_macro(func_name(ct), params, exp[:desc])
end

#func_name(ct) ⇒ Object



357
358
359
# File 'lib/emfrp/compile/c/syntax_codegen.rb', line 357

def func_name(ct)
  ct.escape_name(self[:name][:desc])
end