home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
nasm20b
/
nasm_src
/
exprfast.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-19
|
1KB
|
38 lines
#ifndef _EXPRFAST_
# define _EXPRFAST_ 1
/* ---------------------------------------------------------------------- */
/* Copyright (C) 1991 by Natürlich! */
/* This file is copyrighted! */
/* Refer to the documentation for details. */
/* ---------------------------------------------------------------------- */
# if VERSION
# if ! _EXPR_
extern exp_m huge *ex_h;
extern ref huge *rp;
extern expr huge *ep;
extern lexpr huge *lp;
extern buffer huge *bp;
# endif
#define refer( l, ex) \
(rp = ref_alloc(), rp->line = bp->line, rp->ref = ex, \
l->type |= L_REF, rp->next = l->refs, l->refs = rp, rp)
#define ival_pl( value) (ep = exp_alloc(), ep->val = value, ep)
#define lex_pl( s, ex) \
(lp = lex_alloc(), lp->string = s, lp->expr = ex, lp->next = 0, lp)
#define lex_ch( l, r) (l->next = r, l)
/* NOTE THAT this must not be the first exp_alloc call */
#define exp_alloc() \
(ex_h->free-- ? ex_h->tab++ : (ex_h->free++, sexp_alloc()))
# else
# define exp_alloc() sexp_alloc()
# define lex_ch( x, y) slex_ch( x, y)
# endif
#endif