blob: fd76e8f3d263263c6c6f03b1165a94200f779787 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/* This file is part of the Project Athena Zephyr Notification System.
* It is one of the source files comprising zwgc, the Zephyr WindowGram
* client.
*
* Created by: Marc Horowitz <marc@athena.mit.edu>
*
* $Id$
*
* Copyright (c) 1989 by the Massachusetts Institute of Technology.
* For copying and distribution information, see the file
* "mit-copyright.h".
*/
#include <zephyr/mit-copyright.h>
#ifndef lexer_MODULE
#define lexer_MODULE
#include <ctype.h>
/*
* is_identifier_char(c) - is c a character that could be part of
* an identifier?
*
* NOTE: this information is hardwired into yylex() in lexer.c!
*/
#define is_identifier_char(c) (isalnum(c) || (c)=='_')
/*
* The maximum # of significant letters in an identifier:
*
* Note: in order for all keywords to be recognized, this must be at least 20.
*/
#define MAX_IDENTIFIER_LENGTH 128
/*
* yylineno - this holds the current line # we are on. Updated automatically
* by yylex.
*/
extern int yylineno;
/*
* lex_open - this routine [re]initializes the lexer & prepares it to lex
* a file. Resets current line # to 1.
*/
extern void lex_open(/* FILE *file */);
/*
* yylex - performs as per. the yacc manual's requirements
*/
extern int yylex();
#endif
|