All pastes #795195 Raw Edit

Anonymous

public text v1 · immutable
#795195 ·published 2007-11-23 22:09 UTC
rendered paste body
struct _scope{
	procedure[char[]] descriptions;
	_scope* parent;
	
	procedure getFunc(char[] operator){
		if(procedure* func = operator.isIn())
			return *func;
		else{
			if(!(operator in boxen)){
				if(operator.isNumeric())
					boxen[operator] = boxToDelegate(box(operator.toInt()));
				else
					boxen[operator] = boxToDelegate(box(operator));
			}//Could fix
			return &boxen[operator].execute;
		}
	}

	procedure* isIn(char[] operator){
		if(procedure* func = operator in descriptions)
			return func;
		else{
			if(parent)
				return parent.isIn(operator);
			else
				return null;
		}
	}
	
	void add(char[] operator, procedure procedure){
		descriptions[operator] = procedure;
	}
}