Пример #1
0
static void add_all_params(VarList params, Function* fun)
{
    if(params == llist_empty)
        return;

    add_all_params(llist_tail(params), fun);
    function_add_parameter(fun, llist_head(params));
}
Пример #2
0
LumieraConfigitem
lumiera_config_lookup_item_tail_find (LumieraConfigLookup self, const char* key)
{
  TRACE (configlookup_dbg, "%s", key);

  LumieraConfigLookupentry entry =
    lumiera_config_lookup_find (self, key);

  if (entry && !llist_is_empty (&entry->configitems))
    return LLIST_TO_STRUCTP (llist_tail (&entry->configitems), lumiera_configitem, lookup);

  return NULL;
}
Пример #3
0
Statement* push_funcall(const char* funname, ArgArray args)
{
    Function* curf = cur_func();
    Statement* statm = new_statement(funname, args);
    
    // set all labels and pop
    while(curlabels != llist_empty)
    {
        llist_head(curlabels)->statm = statm;
        curlabels = llist_tail(curlabels);
    }
    
    // register
    array_push(curf->statms, Statement*, statm);
    return statm;
}
Пример #4
0
void pop_function()
{
    funstack = llist_tail(funstack);
    curlabels = llist_empty;
}