class Symbol;

class Texter {

public:
   Texter   (char *filename);
  ~Texter   ();
   bool     isdead()    { return bClIsDead; }

rcode
   solve    (char *symbol),
   solve    (Symbol *s, short nest, short instsel);

char
  *result   (void)  { return sbuf; }

Symbol
  *getsymb  (char *symb);

// private:
Symbol
   *root;   // resolved root symbol
Symbol
   *first,  // of all symbols, unresolved
   *last;
short
   bClIsDead;
char
   sbuf[2048]; // solver statement buffer
};

rcode showFormattedText(
    char *text,
    PixelDisplay &pd,
    cpix x,cpix y, cpix w, cpix h
    );

rcode showFormattedStory(
    char *datfile,
    PixelDisplay &pd,
    cpix x, cpix y, cpix w, cpix h
    );
