here is the other file, the header file
i am attaching the .c file as well
Code:
/*
* File: scanner.h
* ---------------
* This file is the interface to a package that divides
* a line into individual "tokens". A token is defined
* to be either
*
* 1. a string of consecutive letters and digits representing
* a word, or
*
* 2. a one-character string representing a separator
* character, such as a space or a punctuation mark.
*
* To use this package, you must first call
*
* InitScanner(line);
*
* where line is the string (typically a line returned by
* GetLine) that is to be divided into tokens. To retrieve
* each token in turn, you call
*
* token = GetNextToken();
*
* When the last token has been read, the predicate function
* AtEndOfLine returns TRUE, so that the loop structure
*
* while (!AtEndOfLine()) {
* token = GetNextToken();
* . . . process the token . . .
* }
*
* serves as an idiom for processing each token on the line.
*
* Further details for each function are given in the
* individual descriptions below.
*/
#ifndef _scanner_h
#define _scanner_h
#include "genlib.h"
/*
* Function: InitScanner
* Usage: InitScanner(line);
* -------------------------
* This function initializes the scanner and sets it up so that
* it reads tokens from line. After InitScanner has been called,
* the first call to GetNextToken will return the first token
* on the line, the next call will return the second token,
* and so on.
*/
void InitScanner(string line);
/*
* Function: GetNextToken
* Usage: word = GetNextToken();
* -----------------------------
* This function returns the next token on the line.
*/
string GetNextToken(void);
/*
* Function: AtEndOfLine
* Usage: if (AtEndOfLine()) . . .
* -------------------------------
* This function returns TRUE when the scanner has reached
* the end of the line.
*/
bool AtEndOfLine(void);
#endif