|
|
1.1 ! root 1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */ ! 2: /* $Header: b.h,v 2.2 85/08/22 15:59:55 timo Exp $ */ ! 3: ! 4: /* ! 5: * B editor -- Basics copied from B interpreter's run-time system. ! 6: */ ! 7: ! 8: #include <stdio.h> ! 9: ! 10: #define Visible ! 11: #define Hidden static ! 12: #define Procedure ! 13: ! 14: typedef int bool; ! 15: typedef short intlet; ! 16: typedef char *string; ! 17: ! 18: #define No 0 ! 19: #define Yes 1 ! 20: ! 21: #define Maxintlet ((1<<15)-1) /* MACHINE DEPENDENT */ ! 22: ! 23: typedef struct { ! 24: char type; ! 25: char _unused; ! 26: intlet refcnt; ! 27: intlet len; ! 28: string *cts; ! 29: } *value; ! 30: ! 31: /* See also definitions in node.h and queu.h which must match the first ! 32: four fields of 'value'! */ ! 33: ! 34: #define Refcnt(v) ((v)->refcnt) ! 35: #define Type(v) ((v)->type) ! 36: #define Length(v) ((v)->len) ! 37: #define Str(v) ((char*)(&(v)->cts)) ! 38: ! 39: #define Vnil ((value) NULL) ! 40: ! 41: /* Types: */ ! 42: #define Num '0' ! 43: #define Tex '"' ! 44: #define Com ',' ! 45: #define Nod 'N' ! 46: #define Pat 'P' ! 47: ! 48: /* ! 49: * C library standard functions ! 50: */ ! 51: ! 52: string malloc(); ! 53: string realloc(); ! 54: ! 55: string sprintf(); ! 56: ! 57: string strcpy(); ! 58: string strncpy(); ! 59: string index(); ! 60: string rindex(); ! 61: ! 62: string getenv(); ! 63: ! 64: #define Strequ(s, t) !strcmp(s, t) ! 65: #define Strnequ(s, t, n) !strncmp(s, t, n)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.