/*
 * (c) Copyright 1993 by Panagiotis Tsirigotis
 * All rights reserved.  The file named COPYRIGHT specifies the terms 
 * and conditions for redistribution.
 */

/*
 * $Id: defs.h,v 1.1 1993/02/05 01:25:53 panos Exp $
 */

#define PRIVATE							static

#define FALSE								0
#define TRUE								1

#define NULL								0

#define NUL									'\0'
#define SPACE								' '
#define NEWLINE							'\n'
#define CARRIAGE_RETURN					'\015'
#define TAB									'\t'
#define BACKSLASH							'\\'
#define OPEN_PAREN						'('
#define CLOSE_PAREN						')'
#define OPEN_CURLY_BRACKET				'{'
#define CLOSED_CURLY_BRACKET			'}'
#define OPEN_BRACKET						'['
#define CLOSED_BRACKET					']'
#define LESS_THAN							'<'
#define GREATER_THAN						'>'
#define MINUS								'-'
#define SLASH								'/'

typedef enum { TOK_STRING, TOK_NUMBER, TOK_OTHER, TOK_CMD } token_e ;

void error() ;
void printout() ;

extern int line_count ;

#define NUM( c )							( (c) - '0' )

#define NEXT_CHAR( fd, c )				{									\
													c = Sgetchar( fd ) ;		\
													if ( c == NEWLINE )		\
														line_count++ ;			\
												}

#define PUTBACK( fd, c )         {                                \
                                    Sundo( fd, SIO_UNDO_CHAR ) ;  \
                                    if ( c == NEWLINE )           \
                                       line_count-- ;             \
                                 }


