Module Regexp

module Regexp: sig .. end
Expressions Régulières

type 'a regexp = 
| Vide
| Eps
| L of 'a
| Conc of 'a regexp * 'a regexp
| Union of 'a regexp * 'a regexp
| Etoile of 'a regexp
Type des expressions régulières sur un alphabet de type 'a.
val epsilon : 'a regexp -> bool
Teste si le langage dénoté par une expression contient le mot vide.
val map : ('a -> 'b) -> 'a regexp -> 'b regexp
Applique une fonction de renommage aux lettres d'une expression régulière.
val fold : ('a -> 'b -> 'c * 'a) -> 'a -> 'b regexp -> 'c regexp * 'a
Applique une fonction de renommage aux lettres d'une expression régulière en passant un paramètre supplémentaire (accumulateur).
val auto_r : ('a -> 'a -> int) ->
'a list -> 'a regexp -> (('a * int) option, 'a) Automate.automate
Construit l'automate des positions reconnaissant le langage dénoté par une expression régulière.
type 'a revexp = 
| RVide
| REps
| RL of 'a
| RConc of 'a revexp * 'a revexp
| RUnion of 'a revexp * 'a revexp
| REtoile of 'a revexp
| Rev of 'a revexp
Type des expressions régulières étendues d'une opération Rev, dénotant le mirroir d'une expression.
val rev_to_reg : ('a -> 'a) -> 'a revexp -> 'a regexp
Conversion d'une expression étendue en expression régulière à l'aide d'une involution sur les lettres.