1// -*- C -*- 2/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. 3 Written by Gaius Mulley (gaius@glam.ac.uk). 4 5This file is part of groff. 6 7groff is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 2, or (at your option) any later 10version. 11 12groff is distributed in the hope that it will be useful, but WITHOUT ANY 13WARRANTY; without even the implied warranty of MERCHANTABILITY or 14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15for more details. 16 17You should have received a copy of the GNU General Public License along 18with groff; see the file COPYING. If not, write to the Free Software 19Foundation, 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 29class 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