/* %Z%%M% %I% %E% */ /* * Copyright (c) 1990, 1991, 1995 by Wayne C. Gramlich. * All rights reserved. * * Permission to use, copy, modify, distribute, and sell this software * for any purpose is hereby granted without fee provided that the above * copyright notice and this permission are retained. The author makes * no representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. */ #ifndef TOKEN_DEFS_H #define TOKEN_DEFS_H #ifndef TOKEN_EXPORTS_H #include "token_exports.h" #endif #define TOKEN_NONE ((Token)0) /* These are the different types of lexical values: */ union Token_value_union { int operator; int integer; Str string; Str symbol; Str text; }; /* This is a lexical token: */ struct Token_struct { int position; /* File character offset */ Token_type type; /* Token type */ Token_value value; /* Token value */ }; #endif /* TOKEN_DEFS_H */