00001 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 #include <sent/stddefs.h>
00031 #include <sent/dfa.h>
00032 #include <ctype.h>
00033 
00043 WORD_ID
00044 dfa_symbol_lookup(DFA_INFO *dinfo, char *terminalname)
00045 {
00046   WORD_ID id;
00047   int c;
00048   char *p;
00049 
00050   
00051   for(p=terminalname;*p!='\0';p++) {
00052     c = *p;
00053     if (! isdigit(c)) {
00054       j_printerr("Error: wrong format: terminal number is not digit in dict! [%s]\n", terminalname);
00055       return(WORD_INVALID);
00056     }
00057   }
00058 
00059   
00060 
00061   id = atoi(terminalname);
00062   if (id >= dinfo->term_num) return(WORD_INVALID); 
00063   else return(id);
00064 }