xref: /dragonfly/sys/ddb/db_lex.h (revision 0ca59c34)
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  * $DragonFly: src/sys/ddb/db_lex.h,v 1.4 2006/05/20 02:42:01 dillon Exp $
28  */
29 
30 #ifndef _DDB_DB_LEX_H_
31 #define	_DDB_DB_LEX_H_
32 
33 #ifndef _DDB_DDB_H_
34 #include <ddb/ddb.h>
35 #endif
36 
37 /*
38  *	Author: David B. Golub, Carnegie Mellon University
39  *	Date:	7/90
40  */
41 
42 #define	TOK_STRING_SIZE		120
43 
44 #define	tEOF		(-1)
45 #define	tEOL		1
46 #define	tNUMBER		2
47 #define	tIDENT		3
48 #define	tPLUS		4
49 #define	tMINUS		5
50 #define	tDOT		6
51 #define	tSTAR		7
52 #define	tSLASH		8
53 #define	tEQ		9
54 #define	tLPAREN		10
55 #define	tRPAREN		11
56 #define	tPCT		12
57 #define	tHASH		13
58 #define	tCOMMA		14
59 #define	tDITTO		15
60 #define	tDOLLAR		16
61 #define	tEXCL		17
62 #define	tSHIFT_L	18
63 #define	tSHIFT_R	19
64 #define	tDOTDOT		20
65 
66 #ifdef _KERNEL
67 
68 /*
69  * Lexical analyzer.
70  */
71 void	db_flush_lex (void);
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