/***   io.h   ***/

void open_files(int,char*[]);
void close_files(void);

#define layout_t		1
#define digit_point_t		2
#define nomad_monad_colon_t	3
#define wrong_t			4
#define letter_t		8

#define _TLY		01	/* layout char */
#define _TDP		02	/* digit or point */
#define _TNM		03	/* nomad, monad or colon */
#define _TWG		04	/* wrong character */

#define _TLT		010	/* letter */
#define _DGF		020	/* digit  */
#define _NCF		040	/* nomad or colon */
#define _SCF		0100	/* not string char */

#define _D1F		00200	/* filter for digits */
#define _D2F		07400	/* digits for base 2, 4, 8 and 16 */
#define _D4F		07000
#define _D8F		06000
#define _DXF		04000

extern int SORT[];

#define sort_of(char) 		(017 & SORT[(char)+1])
#define nomad_or_colon(char)	(_NCF & SORT[(char)+1])
#define is_letter(char)		(_TLT & SORT[(char)+1])
#define is_digit(char)		(_DGF & SORT[(char)+1])
#define is_letgit(char)		((_TLT|_DGF) & SORT[(char)+1])
#define is_string_char(char)	!(_SCF & SORT[(char)+1])
#define is_base_digit(base,char) (_D1F & (SORT[(char)+1]>>(base)))

int  next_char(void);
int  next_visible_char(void);
void skip_short_comment(void);
void skip_comment(int);
void put_symbol(int);

void error(char*);
void fatal_error(char*);









