private boolean verifyEvent(String content, TextEvent event) {
   Parser parser = new Parser(fRules, fStartSymbol);
   StringBuffer tryContent = new StringBuffer(content);
   tryContent.replace(event.getBegin(), event.getEnd(), event.getText());
   fScanner.setStringToScann(tryContent.toString());
   if (parser.parser(fScanner)) {
     return true;
   } else {
     return false;
   }
 }
    public boolean handleEvent(Text text, TextEvent event) {
      StringBuffer content = new StringBuffer(fView.getContent());
      content.replace(event.getBegin(), event.getEnd(), event.getText());
      Parser parser = new Parser(fRules, fStartSymbol);
      fScanner.setStringToScann(content.toString());
      parser.parser(fScanner);

      if (parser.finished()) {
        List<ASTNode> derivation = parser.getDerivation();
        fListener.valueChanges((SymbolASTNode) derivation.get(0));
      } else {
        fView.setText(content.toString());
        fView.update();
      }
      return true;
    }