class Emfrp::PrimFuncDef

Public Instance Methods

codegen(ct) click to toggle source
# 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) click to toggle source
# File lib/emfrp/compile/c/syntax_codegen.rb, line 357
def func_name(ct)
  ct.escape_name(self[:name][:desc])
end