Annotation of researchv10no/cmd/hoc/hoc.h, revision 1.1.1.1

1.1       root        1: typedef struct Symbol {        /* symbol table entry */
                      2:        char    *name;
                      3:        short   type;
                      4:        union {
                      5:                double  val;            /* VAR */
                      6:                double  (*ptr)();       /* BLTIN */
                      7:                int     (**defn)();     /* FUNCTION, PROCEDURE */
                      8:                char    *str;           /* STRING */
                      9:        } u;
                     10:        struct Symbol   *next;  /* to link to another */
                     11: } Symbol;
                     12: Symbol *install(), *lookup();
                     13: 
                     14: typedef union Datum {  /* interpreter stack type */
                     15:        double  val;
                     16:        Symbol  *sym;
                     17: } Datum;
                     18: extern Datum pop();
                     19: extern xpop(), eval(), add(), sub(), mul(), div(), mod(), negate(), power();
                     20: extern addeq(), subeq(), muleq(), diveq(), modeq();
                     21: 
                     22: typedef int (*Inst)();
                     23: #define        STOP    (Inst) 0
                     24: 
                     25: extern Inst *progp, *progbase, prog[], *code();
                     26: extern assign(), bltin(), varpush(), constpush(), print(), varread();
                     27: extern prexpr(), prstr();
                     28: extern gt(), lt(), eq(), ge(), le(), ne(), and(), or(), not();
                     29: extern ifcode(), whilecode(), forcode(), call(), arg(), argassign();
                     30: extern funcret(), procret();
                     31: extern preinc(), predec(), postinc(), postdec();
                     32: extern argaddeq(), argsubeq(), argmuleq(), argdiveq(), argmodeq();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.