Esempio n. 1
0
 Case(ipr::Rname, level, position)
 {
     if (level    < template_parameters_stack.size() &&
         position < template_parameters_stack[level]->size())
         return eval_name(template_parameters_stack[level]->operator[](position).name());
     else
         return "BUGGY_IPR_RNAME_" + to_str(level) + '_' + to_str(position);
 }
Esempio n. 2
0
// -----------------------------------------------------------------------
struct node_t * eval_exlname(struct node_t *n)
{
	struct node_t *nn;

	struct var_t *ev = get_pvar(extracodes, n->str);
	if (ev) { // this is extracode name
		nn = mknod_valstr(N_VAL, ev->value, NULL);
		if (!nn) {
			ass_error(n->lineno, "Memory allocation error");
		} else {
			DEBUG("eval_exlname() got exl: %s = %i\n", n->str, nn->value);
		}
	} else { // variable or label
		nn = eval_name(n);
	}

	return nn;
}