|
|
00001 #ifndef lexer_MODULE 00002 #define lexer_MODULE 00003 00004 /* 00005 * Copyright (c) 1989 by the Massachusetts Institute of Technology. 00006 * For copying and distribution information, see the file 00007 * "mit-copyright.h". 00008 * 00009 * Modified for jwgc by Daniel Henninger. 00010 */ 00011 00012 #include "mit-copyright.h" 00013 00014 #include <ctype.h> 00015 00016 /* 00017 * is_identifier_char(c) - is c a character that could be part of 00018 * an identifier? 00019 * 00020 * NOTE: this information is hardwired into yylex() in lexer.c! 00021 */ 00022 00023 #define is_identifier_char(c) (isalnum(c) || (c)=='_') 00024 00025 /* 00026 * The maximum # of significant letters in an identifier: 00027 * 00028 * Note: in order for all keywords to be recognized, this must be at least 20. 00029 */ 00030 00031 #define MAX_IDENTIFIER_LENGTH 128 00032 00033 /* 00034 * yylineno - this holds the current line # we are on. Updated automatically 00035 * by yylex. 00036 */ 00037 00038 extern int yylineno; 00039 00040 /* 00041 * lex_open - this routine [re]initializes the lexer & prepares it to lex 00042 * a file. Resets current line # to 1. 00043 */ 00044 00045 extern void lex_open(/* FILE *file */); 00046 00047 /* 00048 * yylex - performs as per. the yacc manual's requirements 00049 */ 00050 00051 extern int yylex(); 00052 00053 00054 void report_parse_error(char *error_message, int line_number); 00055 00056 #endif
Last updated at Tue Dec 18 21:07:42 PST 2007. | This site and project hosted by... |