xref: /dragonfly/sys/ddb/db_lex.h (revision 8d0b962d30720c59d676fe8ce5cdd81cde5ed735)
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  Software.Distribution@CS.CMU.EDU
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  * $FreeBSD: src/sys/ddb/db_lex.h,v 1.12 1999/08/28 00:41:08 peter Exp $
27  */
28 
29 #ifndef _DDB_DB_LEX_H_
30 #define   _DDB_DB_LEX_H_
31 
32 #ifndef _DDB_DDB_H_
33 #include <ddb/ddb.h>
34 #endif
35 
36 /*
37  *        Author: David B. Golub, Carnegie Mellon University
38  *        Date:     7/90
39  */
40 
41 #define   TOK_STRING_SIZE               120
42 
43 #define   tEOF                (-1)
44 #define   tEOL                1
45 #define   tNUMBER             2
46 #define   tIDENT              3
47 #define   tPLUS               4
48 #define   tMINUS              5
49 #define   tDOT                6
50 #define   tSTAR               7
51 #define   tSLASH              8
52 #define   tEQ                 9
53 #define   tLPAREN             10
54 #define   tRPAREN             11
55 #define   tPCT                12
56 #define   tHASH               13
57 #define   tCOMMA              14
58 #define   tDITTO              15
59 #define   tDOLLAR             16
60 #define   tEXCL               17
61 #define   tSHIFT_L  18
62 #define   tSHIFT_R  19
63 #define   tDOTDOT             20
64 
65 #ifdef _KERNEL
66 
67 /*
68  * Lexical analyzer.
69  */
70 void      db_flush_lex (void);
71 char   *db_num_to_str(db_expr_t);
72 int       db_read_line (void);
73 int       db_read_token (void);
74 void      db_unread_token (int t);
75 
76 extern db_expr_t    db_tok_number;
77 extern char         db_tok_string[TOK_STRING_SIZE];
78 
79 #endif
80 
81 #endif /* !_DDB_DB_LEX_H_ */
82