Code Search for Developers
 
 
  

FSARep.h from Magnus at Krugle


Show FSARep.h syntax highlighted

// Copyright (C) 1994 The New York Group Theory Cooperative
// See magnus/doc/COPYRIGHT for the full notice.

// Contents: Definition of FSARep class.
//
// Principal Author: Sarah Rees
//
// Status: in progress
//
// Revision History:
//
// * 08/96 Dmitry B. implemented IPC tools.
//

#ifndef _FSA_REP_H_
#define _FSA_REP_H_

#include <Integer.h>
#include "global.h"
#include "RefCounter.h"
#include "Word.h"

class FSARep : public RefCounter {
public:
  virtual ~FSARep() {};
  virtual FSARep *clone() const = 0;
  virtual Bool operator == ( const FSARep& ) const = 0;

  virtual Bool accepts(Word w) const = 0;
  virtual Bool rejectsInState(Word w, int& state) const = 0;
  virtual Bool nextAcceptedWord(Word& w) const = 0;

//virtual Bool nextAcceptedWord(Word w, int*& history) const = 0; //@rn bad arg
  virtual void minimize() = 0;
  virtual Integer sizeLanguage() const = 0;
  virtual Bool finiteLanguage() const = 0;

  virtual void readFrom(std::istream &str = std::cin) = 0;
  virtual void printOn(std::ostream &str = std::cout) const = 0;
  virtual void setName(const Chars & name)=0;
  virtual int getNumStates() const =0;


  /////////////////////////////////////////////////////////////////////////
  //                                                                     //
  // IPC tools:                                                          //
  //                                                                     //
  /////////////////////////////////////////////////////////////////////////

  virtual void write( std::ostream& ostr ) const = 0;

  virtual void read( std::istream& istr ) = 0;

};

// FSARep *fsaUnion(FSA A1, FSA A2); //friend function
// FSARep *fsaIntersection(FSA A1, FSA A2); //friend function (or operator?)
// other boolean
#endif




See more files for this project here

Magnus

Magnus is a special purpose mathematical package for Infinite Group Theory computations

Project homepage: http://sourceforge.net/projects/magnus
Programming language(s): C,C++
License: other

  DFSA.h
  DFSAParser.h
  DFSARep.h
  FSA.h
  FSARep.h
  StatePair.h