Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/Group/include/EqSystemParser.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: EqSystemParser.h,v 1.2 2000/02/28 21:55:53 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 2000 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 
00008 // Contents: Declaration of the EqSystemParser class.
00009 //
00010 // Principal Authors: Denis Serbin
00011 //
00012 // Status: In progress
00013 //
00014 // Revision History:
00015 //
00016 // Special Notes:
00017 //
00018 //
00019 
00020 #include "EquationParser.h"
00021 #include "PresentationParser.h"
00022 #include "conversions.h"
00023 
00024 #ifndef _EqSystemParser_h_
00025 #define _EqSystemParser_h_
00026 
00027 
00028 //---------------------------------------------------------------------------//
00029 //-------------------------- EqSystemParser ---------------------------------//
00030 //---------------------------------------------------------------------------//
00031 
00032 class EqSystemParser : protected PresentationParser
00033 {
00034 public:
00035 
00036   /////////////////////////////////////////////////////////////////////////
00037   //                                                                     //
00038   // Constructors:                                                       //
00039   //                                                                     //
00040   /////////////////////////////////////////////////////////////////////////
00041 
00042   EqSystemParser(istream &istr) : PresentationParser(istr) { }
00043   // Initialize the parser with the istream from which to read.
00044 
00045   // Destructor supplied by compiler.
00046 
00047   /////////////////////////////////////////////////////////////////////////
00048   //                                                                     //
00049   // Parsing Methods:                                                    //
00050   //                                                                     //
00051   /////////////////////////////////////////////////////////////////////////
00052 
00053   VectorOf<Word> parseEqSystem( const VectorOf<Chars>& names,
00054                                 VectorOf<Chars>& new_names,
00055                                 Chars& errMesg
00056                                 );
00057   // Reads a system equations and returns it as a vector of words. 
00058   // The new vector of print names (generators first, then variables) is 
00059   // returned in new_names.
00060   // As usual, if there is a parse error, the description is returned in
00061   // errMesg.
00062 
00063   Word parseEquation( const VectorOf<Chars>& names,
00064                       VectorOf<Chars>& new_names,
00065                       Chars& errMesg
00066                       );
00067   
00068   virtual void getToken( );
00069   virtual Word parseRelator( const VectorOf<Chars>&, Chars& );
00070   
00071 };
00072 
00073 #endif

Generated at Tue Jun 19 09:49:36 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001