]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/src/TPushParser.hh
* changed handling of ' (\primes) with a few patches in the stylesheets
[helm.git] / helm / DEVEL / mathml_editor / src / TPushParser.hh
index b01524be4dcfd06b44b5c3432e1f2a968c6a1fd0..091e25e89b793cf4232baca6c539c592dc21f20d 100644 (file)
@@ -19,53 +19,56 @@ public:
 
   virtual void reset(void);
   virtual void push(const TToken&);
-  virtual std::string drop(void);
+  virtual std::string drop(bool);
   virtual void setCursorHint(const std::string&);
+  virtual bool hideCursor(void);
+  virtual bool showCursor(void);
 
   virtual bool thaw(void);
 
   DOM::Document document(void) const { return doc.document().cloneNode(true); }
 
 private:
-  std::string PRIME(void) const;
+  void init(void);
+
+  TNode PRIME(void);
   bool isPrimes(const TNode&) const;
   
-  void do_begin(void);
-  void do_end(void);
-  void do_shift(void);
-  void do_align(void);
-  void do_eol(void);
-  void do_parameter(const std::string&);
-  void do_superscript(void);
-  void do_subscript(void);
-  void do_space(const std::string&);
-  void do_letter(const std::string&);
-  void do_digit(const std::string&);
-  void do_other(const std::string&);
-  void do_active(const std::string&);
-  void do_comment(void);
-  void do_control(const std::string&);
+  bool do_begin(void);
+  bool do_end(void);
+  bool do_shift(void);
+  bool do_align(void);
+  bool do_eol(void);
+  bool do_parameter(const std::string&);
+  bool do_superscript(void);
+  bool do_subscript(void);
+  bool do_space(const std::string&);
+  bool do_letter(const std::string&);
+  bool do_digit(const std::string&);
+  bool do_other(const std::string&);
+  bool do_active(const std::string&);
+  bool do_comment(void);
+  bool do_control(const std::string&);
 
   
-  void gdelete_prev_token(void);
-  void gdelete_prev_script(void);
-  void gdelete_prev_group(void);
-  void gdelete_prev_macro(void);
-  void gdelete_prev(void);
-  
+  std::string drop_prev_token(bool);
+  std::string drop_prev_script(bool);
+  std::string drop_prev_group(bool);
+  std::string drop_prev_macro(bool);
+  std::string drop_prev(bool);
   void rgreplace_father(void);
+  std::string do_drop_script(bool);
+  std::string do_drop_macro(bool);
+  std::string do_drop_groupId(bool);
+  std::string do_drop_phantom_group(bool);
+  std::string do_drop(bool);
 
-  void do_gdelete_script(void);
-  void do_gdelete_macro(void);
-  void do_gdelete_groupId(void);
-  void do_gdelete_phantom_group(void);
-  void do_gdelete(void);
-
-  void do_cr(void);
-  void do_apostrophe(void);
+  bool do_cr(void);
+  bool do_apostrophe(void);
   void advance(const TNode&);
+  bool correctBrace(void);
 
-  void process(const TToken&);
+  bool process(const TToken&);
 
   struct Frame
   {
@@ -79,6 +82,7 @@ private:
   unsigned  nextId;
   TDocument doc;
   TNode     cursor;
+  unsigned  hiddenCursor;
   const class TDictionary& dictionary;
 };