Var Interpreter::ext_method( const Var &var ) { if ( isa_Def( var ) ) if ( DefInfo *d = def_info( pointer_on( var.expr() ) ) ) if ( d->self_as_arg() ) return var; return Var(); }
int main(int ac, char **av) { t_prog *lp; t_info *s; int i; int (**tab_fct)(); if (ac < 3) return (write(1, "Quel combat passionant\n", 23)); s = def_info(ac); i = 0; lp = def_prog(ac, av, s); def_proglist(ac - 1, s, lp); tab_fct = def_tab(); while (check_verif(s) > 1) { go_exec(s, lp, tab_fct); s->cycle = s->cycle + 1; } while (s->verif[i] == -1) i = i + 1; my_fwin(lp, i, ac - 1); return (0); }
CallableInfo *Interpreter::callable_info( const Expr &callable_ptr ) { if ( CallableInfo *ci = class_info( callable_ptr, false ) ) return ci; if ( CallableInfo *ci = def_info( callable_ptr, false ) ) return ci; return 0; }