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