let delete_rule entry sl =
                  match entry.edesc with
                  | Dlevels levs ->
                      let levs = delete_rule_in_level_list entry sl levs
                      in
                        (entry.edesc <- Dlevels levs;
                         entry.estart <-
                           (fun lev strm ->
                              let f = Parser.start_parser_of_entry entry
                              in (entry.estart <- f; f lev strm));
                         entry.econtinue <-
                           (fun lev bp a strm ->
                              let f = Parser.continue_parser_of_entry entry
                              in (entry.econtinue <- f; f lev bp a strm)))
                  | Dparser _ -> ()