+ else if(var.scope==FUNCTION)
+ {
+ string::size_type left_paren = features.custom.find('(', start);
+ string::size_type right_paren = features.custom.find(')', start);
+ if(left_paren>semicolon || right_paren>semicolon)
+ throw invalid_variable_definition("no argument list");
+ features.custom[right_paren] = 0;
+ var.expression = &features.custom[left_paren+1];
+ }