Branch: Tag:

1996-02-19

1996-02-19 04:37:36 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

Implemented operator functions

Rev: lib/simulate.lpc:1.8
Rev: src/add_efun.c:1.2
Rev: src/add_efun.h:1.2
Rev: src/builtin_efuns.c:1.9
Rev: src/docode.c:1.3
Rev: src/docode.h:1.2
Rev: src/interpret.c:1.7
Rev: src/language.y:1.9
Rev: src/las.c:1.4
Rev: src/las.h:1.4
Rev: src/lex.c:1.6
Rev: src/modules/files/efuns.c:1.4
Rev: src/operators.c:1.2
Rev: src/operators.h:1.2

17:   };      typedef void (*c_fun)(INT32); + typedef int (*docode_fun)(node *n); + typedef void (*optimize_fun)(node *n);      struct callable   {
25:    struct lpc_string *type;    struct lpc_string *name;    INT16 flags; +  optimize_fun optimize; +  docode_fun docode;   };      /* Prototypes begin here */   struct efun *lookup_efun(struct lpc_string *name);   void low_add_efun(struct lpc_string *name, struct svalue *fun); - struct callable *make_callable(c_fun fun,char *name, char *type, INT16 flags); + struct callable *make_callable(c_fun fun, +  char *name, +  char *type, +  INT16 flags, +  optimize_fun optimize, +  docode_fun docode);   void really_free_callable(struct callable *fun); -  + void add_efun2(char *name, +  c_fun fun, +  char *type, +  INT16 flags, +  optimize_fun optimize, +  docode_fun docode);   void add_efun(char *name, c_fun fun, char *type, INT16 flags);   void push_all_efuns_on_stack();   void cleanup_added_efuns();   /* Prototypes end here */      #endif