home *** CD-ROM | disk | FTP | other *** search
- /* VC A Table Calculator
- * Common definitions
- *
- * original by James Gosling, September 1982
- * modified by Mark Weiser and Bruce Israel,
- * University of Maryland
- *
- */
-
- #include<stdio.h>
-
- #ifdef MCH_AMIGA
- #define ROWS 23
- #define COLS 79
- #else
- #define ROWS 24
- #define COLS 80
- #endif
-
- #ifdef DECLARE
- #define dec
- #else
- #define dec extern
- #endif
-
- #define MAXROWS 200
- #define MAXCOLS 40
-
- struct ent {
- double v;
- char *label;
- struct enode *expr;
- short flags;
- short row, col;
- struct ent *next;
- };
-
-
- struct enode {
- int op;
- union {
- double k;
- struct ent *v;
- struct {
- struct enode *left, *right;
- } o;
- } e;
- };
-
- /* op values */
- #define O_VAR 'v'
- #define O_CONST 'k'
- #define O_REDUCE(c) (c+0200)
-
- /* flag values */
- #define is_valid 0001
- #define is_changed 0002
- #define is_lchanged 0004
- #define is_leftflush 0010
- #define is_deleted 0020
-
- #define ctl(c) ('c'&037)
-
- dec struct ent *tbl[MAXROWS][MAXCOLS];
-
- dec int strow, stcol;
- dec int currow, curcol;
- dec int savedrow, savedcol;
- dec int FullUpdate;
- dec int maxrow, maxcol;
- dec int fwidth[MAXCOLS];
- dec int precision[MAXCOLS];
- dec char hidden_col[MAXCOLS];
- dec char hidden_row[MAXROWS];
- dec char line[1000];
- dec int linelim;
- dec int changed;
- dec struct ent *to_fix;
- dec struct enode *new();
- dec struct ent *lookat();
- dec struct enode *copye();
- dec char *coltoa();
-
- dec int modflg;
-