1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// Copyright (C) 1995 The New York Group Theory Cooperative
// See magnus/doc/COPYRIGHT for the full notice.
// Contents: Declaration of parser for Maps.
//
// Principal Author: Roger Needham
//
// Status: useable
//
// Revision History:
//
#ifndef _MAP_PARSER_H_
#define _MAP_PARSER_H_
#include "WordParser.h"
#include "Map.h"
// A Map defined on generators { x, y, z } has the form
// {
// x -> w(x,y,z),
// y -> w(x,y,z),
// z -> w(x,y,z)
// }
// where the images of x, y, z need not be in order, whitespace is optional,
// and w(x,y,z) are words in the generators. Missing images default to the
// identity.
class MapParser : public WordParser {
public:
//////////////////////////////////////////////////////////////
// //
// Constructors: //
// //
//////////////////////////////////////////////////////////////
MapParser(istream &istr) : WordParser(istr) { }
// Initialize the parser with the istream from which to read.
// Destructor supplied by compiler.
//////////////////////////////////////////////////////////////
// //
// Raison d'etre: //
// //
//////////////////////////////////////////////////////////////
MapRep* parseMap(
const FGGroup& domain,
const FGGroup& range,
Chars& errMesg
);
};
#endif
|