xref: /dragonfly/sys/ddb/db_lex.h (revision 8af44722)
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