1 // -*- C -*- 2 /* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. 3 Written by Gaius Mulley (gaius@glam.ac.uk). 4 5 This file is part of groff. 6 7 groff is free software; you can redistribute it and/or modify it under 8 the terms of the GNU General Public License as published by the Free 9 Software Foundation; either version 2, or (at your option) any later 10 version. 11 12 groff is distributed in the hope that it will be useful, but WITHOUT ANY 13 WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15 for more details. 16 17 You should have received a copy of the GNU General Public License along 18 with groff; see the file COPYING. If not, write to the Free Software 19 Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA. */ 20 21 22 #define eof (char)-1 23 24 25 /* 26 * defines the class and methods implemented within pushback.cpp 27 */ 28 29 class pushBackBuffer 30 { 31 private: 32 char *charStack; 33 int stackPtr; /* index to push back stack */ 34 int debug; 35 int verbose; 36 int eofFound; 37 char *fileName; 38 int lineNo; 39 int stdIn; 40 41 public: 42 pushBackBuffer (char *); 43 ~ pushBackBuffer (); 44 char getPB (void); 45 char putPB (char ch); 46 void skipUntilToken (void); 47 void skipToNewline (void); 48 double readNumber (void); 49 int readInt (void); 50 char *readString (void); 51 int isString (const char *string); 52 }; 53 54 55