Listing 1 DOSTBL1.H

/*  DFA table for Restricted DOS Pathname   */

/* Application functions included in syndos_stt */
extern short alpha(char *);
extern short alphanum(char *);
extern short appendpath(char *);
extern short block(char *);
extern short cleanup(char *);
extern short errmsg(char *);
extern short isdot(char *);
extern short isEOR(char *);
extern short isFS(char *);
extern short isGS(char *);
extern short pushchar(char *);
extern short savedrive(char *);
extern short saveext(char *);
extern short savefname(char *);
extern short skip(char *);

/* The state table for restricted DOS pathnames */
DFATBL syndos_stt[] = {
/* 0 */  { alpha,   1,  ERR,  pushchar,    errmsg},
/* 1 */  { isGS,    2,  ERR,  savedrive,   errmsg},
/* 2 */  { isFS,    3,  ERR,  appendpath,  errmsg},
/* 3 */  { alpha,   4,  ERR,  pushchar,    errmsg},
/* 4 */  { isFS,    3,   5,   appendpath,  skip  },
/* 5 */  { alphanum,4,   6,   pushchar,    skip  },
/* 6 */  { isdot,   8,   7,   savefname,   skip  },
/* 7 */  { isEOR,   13, ERR,  savefname,   errmsg},
/* 8 */  { alphanum,9,  ERR,  pushchar,    errmsg},
/* 9 */  { alphanum,11,  10,  pushchar,    skip  },
/* 10 */ { isEOR,   13, ERR,  saveext,     errmsg},
/* 11 */ { alphanum,12,  12,  pushchar,    skip  },
/* 12 */ { isEOR,   13, ERR,  saveext,     errmsg},
/* 13 */ { isEOR,  OUT, ERR,  cleanup,     errmsg},
};
/* End of File */