This commit is contained in:
Oliver Lehmann 1989-08-30 13:33:59 +00:00
parent bae5bb8290
commit 3ae6c6c264
2 changed files with 164 additions and 0 deletions

View File

@ -0,0 +1,55 @@
/*
** --- RG.C ------------ BASIC VARIABLES ------------------------------------
**
** Version: @(#)rg.c 4.0 02/05/89
**
*/
# include "rg.h"
/* RG_TRACE facilities */
# ifdef RG_TRACE
int rg_debug; /* RG_TRACE flag = 0 */
# endif
/* TUPLE file handling */
struct desc_t *Desc; /* domain desriptions */
char *Last; /* pointer to last tuple */
char *Value; /* pointer to last tuple */
char *Next; /* pointer to last tuple */
BOOL Eof; /* = FALSE */
/* the variables */
ANYTYPE *Var; /* 0.0 */
BOOL Bvar[MAX_BVAR]; /* FALSE */
/* SYSTEM variables */
char *SYS_col = Line;
int SYS_line; /* = 0 */
int SYS_page; /* = 0 */
int SYS_tuple; /* = 0 */
/* EXCEPTIONS */
char *ONb_line; /* = (char *) 0 */
char *ONe_line; /* = (char *) 0 */
char *ONb_page; /* = (char *) 0 */
char *ONe_page; /* = (char *) 0 */
char *ONbatch; /* = (char *) 0 */
/* SWITCHES for running exceptions */
BOOL RUN; /* = FALSE */
BOOL RUNoutput; /* = FALSE */
BOOL RUNline; /* = FALSE */
BOOL RUNpage; /* = FALSE */
/* some GLOBALS */
short R_word; /* = 0 */
short R_val; /* = 0 */
BOOL R_expr; /* = FALSE */
char Line[2 * MAX_LINE];
char *Col_begin = Line;
char *Col_end; /* in rg_init() */
int Line_begin = 1;
int Line_end; /* in rg_init() */

View File

@ -0,0 +1,109 @@
/*
** --- RG.H ------------ BASIC DECLARATIONS ---------------------------------
**
** Version: @(#)rg.h 4.0 02/05/89
**
*/
# include "r_code.h"
# define MAX_LINE 512
/* ERROR and EXIT conditions */
# define FATAL 0 /* fatal error message */
# define WARNING 1
# define EXIT_END 0 /* normal end, no error */
# define EXIT_OPEN 1
# define EXIT_READ 2
# define EXIT_WRITE 3
# define EXIT_DESC 4
# define EXIT_ARG 5
# define EXIT_R_CODE 6
# define EXIT_VAR 7
# define EXIT_MEM 8
# define EXIT_FLP 9
/* TUPLE file handling */
extern struct desc_t *Desc; /* domain desriptions */
extern char *Last; /* the tupel before */
extern char *Value; /* the actual tuple */
extern char *Next; /* the readahead tuple */
extern BOOL Eof; /* EOF flag */
/* the definition of variables */
union anytype
{
BOOL booltype;
char i1type;
short i2type;
long i4type;
# ifndef NO_F4
float f4type;
# endif
double f8type;
char *cptype;
char c0type[sizeof (double)];
};
typedef union anytype ANYTYPE;
extern ANYTYPE *Var; /* the variables */
extern BOOL Bvar[]; /* the switches */
# define MAX_REPEAT 32
struct r_repeat
{
char *rr_code; /* the pointer to R-CODE */
int rr_count; /* the actual repeat count */
};
typedef struct r_repeat REPEATYPE;
/* SYSTEM variables */
extern char *SYS_col; /* COLUMN */
extern int SYS_line; /* LINE */
extern int SYS_page; /* PAGE */
extern int SYS_tuple; /* TUPLE */
/* EXCEPTIONS */
/* R-CODE addresses for ON ......... DO */
extern char *ONb_line; /* LINEBEGIN */
extern char *ONe_line; /* LINEEND */
extern char *ONb_page; /* PAGEBEGIN */
extern char *ONe_page; /* PAGEEND */
extern char *ONbatch; /* BATCHLINE */
/* SWITCHES for running exceptions */
extern BOOL RUN; /* flag to cancel interpreter */
extern BOOL RUNoutput; /* flag to cancel output */
extern BOOL RUNline;
extern BOOL RUNpage;
/* some GLOBALS */
extern short R_word;
extern short R_val; /* first argument of */
/* most R-CODES */
extern BOOL R_expr; /* result of expression */
/* interpreter */
extern char Line[]; /* line buffer */
extern char *Col_begin; /* the actual */
extern char *Col_end; /* line range */
extern int Line_begin; /* the actual */
extern int Line_end; /* page range */