11553Srgrimes/*-
21553Srgrimes * Mach Operating System
31553Srgrimes * Copyright (c) 1991,1990 Carnegie Mellon University
41553Srgrimes * All Rights Reserved.
51553Srgrimes *
61553Srgrimes * Permission to use, copy, modify and distribute this software and its
71553Srgrimes * documentation is hereby granted, provided that both the copyright
81553Srgrimes * notice and this permission notice appear in all copies of the
91553Srgrimes * software, derivative works or modified versions, and any portions
101553Srgrimes * thereof, and that both notices appear in supporting documentation.
111553Srgrimes *
121553Srgrimes * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
131553Srgrimes * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
141553Srgrimes * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
151553Srgrimes *
161553Srgrimes * Carnegie Mellon requests users of this software to return to
171553Srgrimes *
181553Srgrimes *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
191553Srgrimes *  School of Computer Science
201553Srgrimes *  Carnegie Mellon University
211553Srgrimes *  Pittsburgh PA 15213-3890
221553Srgrimes *
231553Srgrimes * any improvements or extensions that they make and grant Carnegie the
241553Srgrimes * rights to redistribute these changes.
251553Srgrimes *
261553Srgrimes * $FreeBSD$
271553Srgrimes */
281553Srgrimes
291553Srgrimes#ifndef _DDB_DB_LEX_H_
301553Srgrimes#define	_DDB_DB_LEX_H_
311553Srgrimes
321553Srgrimes/*
331553Srgrimes *	Author: David B. Golub, Carnegie Mellon University
341553Srgrimes *	Date:	7/90
3530765Scharnier */
361553Srgrimes/*
371553Srgrimes * Lexical analyzer.
381553Srgrimes */
391553Srgrimesvoid	 db_flush_lex(void);
401553Srgrimeschar	*db_get_line(void);
4130765Scharniervoid	 db_inject_line(const char *command);
421553Srgrimesint	 db_read_line(void);
4330765Scharnierint	 db_read_token(void);
4430765Scharniervoid	 db_unread_token(int t);
4550479Speter
461553Srgrimesextern db_expr_t	db_tok_number;
471553Srgrimes#define	TOK_STRING_SIZE		120
481553Srgrimesextern char	db_tok_string[TOK_STRING_SIZE];
491553Srgrimes
501553Srgrimes#define	tEOF		(-1)
511553Srgrimes#define	tEOL		1
521553Srgrimes#define	tNUMBER		2
531553Srgrimes#define	tIDENT		3
541553Srgrimes#define	tPLUS		4
551553Srgrimes#define	tMINUS		5
561553Srgrimes#define	tDOT		6
571553Srgrimes#define	tSTAR		7
581553Srgrimes#define	tSLASH		8
591553Srgrimes#define	tEQ		9
6048232Ssheldonh#define	tLPAREN		10
6148232Ssheldonh#define	tRPAREN		11
621553Srgrimes#define	tPCT		12
631553Srgrimes#define	tHASH		13
6490233Sdes#define	tCOMMA		14
6590233Sdes#define	tDITTO		15
661553Srgrimes#define	tDOLLAR		16
671553Srgrimes#define	tEXCL		17
6890233Sdes#define	tSHIFT_L	18
691553Srgrimes#define	tSHIFT_R	19
701553Srgrimes#define	tDOTDOT		20
711553Srgrimes#define	tSEMI		21
721553Srgrimes
731553Srgrimes#endif /* !_DDB_DB_LEX_H_ */
7448232Ssheldonh