#include        <stdio.h>
#include        "c.h"
#include        "expr.h"
#include        "gen.h"
#include        "cglbdec.h"

/*
 *68000 C compiler
 *
 *Copyright 1984, 1985, 1986 Matthew Brandt.
 *  all commercial rights reserved.
 *
 *This compiler is intended as an instructive tool for personal use. Any
 *use for profit without the written consent of the author is prohibited.
 *
 *This compiler may be distributed freely for non-commercial use as long
 *as this notice stays intact. Please forward any enhancements or questions
 *to:
 *
 *Matthew Brandt
 *Box 920337
 *Norcross, Ga 30092
 */

extern SYM	*search();

long intexpr()       /* simple integer value */
{       long     temp;
        SYM     *sp;
        if(lastst == id) {
                sp = search(lastid,lsyms.head);
                if( sp == NULL)
                        sp = search(lastid,gsyms.head);
                if(sp == NULL) {
                        error(ERR_UNDEFINED);
                        getsym();
                        return 0;
                        }
                if(sp->storage_class != sc_const) {
                        error(ERR_SYNTAX);
                        getsym();
                        return 0;
                        }
                getsym();
                return sp->value.i;
                }
        else if(lastst == iconst) {
                temp = ival;
                getsym();
                return temp;
                }
        getsym();
        error(ERR_SYNTAX);
        return 0;
}

