|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie the
24: * rights to redistribute these changes.
25: */
26: /*
27: * HISTORY
28: * $Log: db_lex.h,v $
29: * Revision 1.1 1992/03/25 21:45:15 pace
30: * Initial revision
31: *
32: * Revision 2.3 91/02/05 17:06:41 mrt
33: * Changed to new Mach copyright
34: * [91/01/31 16:18:28 mrt]
35: *
36: * Revision 2.2 90/08/27 21:51:16 dbg
37: * Add 'dotdot' token.
38: * [90/08/22 dbg]
39: * Export db_flush_lex.
40: * [90/08/07 dbg]
41: * Created.
42: * [90/07/25 dbg]
43: *
44: */
45: /*
46: * Author: David B. Golub, Carnegie Mellon University
47: * Date: 7/90
48: */
49: /*
50: * Lexical analyzer.
51: */
52: extern int db_read_line();
53: extern void db_flush_line();
54: extern int db_read_char();
55: extern void db_unread_char(/* char c */);
56: extern int db_read_token();
57: extern void db_unread_token(/* int t */);
58: extern void db_flush_lex();
59:
60: extern int db_tok_number;
61: #define TOK_STRING_SIZE 120
62: extern char db_tok_string[TOK_STRING_SIZE];
63: extern int db_radix;
64:
65: #define tEOF (-1)
66: #define tEOL 1
67: #define tNUMBER 2
68: #define tIDENT 3
69: #define tPLUS 4
70: #define tMINUS 5
71: #define tDOT 6
72: #define tSTAR 7
73: #define tSLASH 8
74: #define tEQ 9
75: #define tLPAREN 10
76: #define tRPAREN 11
77: #define tPCT 12
78: #define tHASH 13
79: #define tCOMMA 14
80: #define tDITTO 15
81: #define tDOLLAR 16
82: #define tEXCL 17
83: #define tSHIFT_L 18
84: #define tSHIFT_R 19
85: #define tDOTDOT 20
86:
87:
88:
89:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.