HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulehxt-9.3.1.22Haskell2010

Text.XML.HXT.DTDValidation.RE

A module for regular expression matching based on derivatives of regular expressions.

The code was taken from Joe English (http://www.flightlab.com/~joe/sgml/validate.html). Tested and extended by Martin Schmidt.

Further references for the algorithm:

Janusz A. Brzozowski.

Derivatives of Regular Expressions. Journal of the ACM, Volume 11, Issue 4, 1964.

Mark Hopkins.

Regular Expression Package. Posted to comp.compilers, 1994. Available per FTP at ftp://iecc.com/pub/file/regex.tar.gz.

  • 1 type
  • 13 values
  • Packagehxt-9.3.1.22
  • Exports14
  • LanguageHaskell2010
  • LicenceMIT
  • SourceRE.hs
valuere_unit :: RE a
#

Constructs a regular expression for an empty sequence.

  • returns : regular expression for an empty sequence

valuere_zero :: String -> RE a
#

Constructs a regular expression for an empty set.

  • 1.parameter errMsg : error message

  • returns : regular expression for an empty set

valuere_sym :: a -> RE a
#

Constructs a regular expression for accepting a symbol

  • 1.parameter sym : the symbol to be accepted

  • returns : regular expression for accepting a symbol

valuere_rep :: RE a -> RE a
#

Constructs an optional repetition (*) of a regular expression

  • 1.parameter re_a : regular expression to be repeted

  • returns : new regular expression

valuere_plus :: RE a -> RE a
#

Constructs a repetition (+) of a regular expression

  • 1.parameter re_a : regular expression to be repeted

  • returns : new regular expression

valuere_opt :: Ord a => RE a -> RE a
#

Constructs an option (?) of a regular expression

  • 1.parameter re_a : regular expression to be optional

  • returns : new regular expression

valuere_seq :: RE a -> RE a -> RE a
#

Constructs a sequence (,) of two regular expressions

  • 1.parameter re_a : first regular expression in sequence

  • 2.parameter re_b : second regular expression in sequence

  • returns : new regular expression

valuere_alt :: Ord a => RE a -> RE a -> RE a
#

Constructs an alternative (|) of two regular expressions

  • 1.parameter re_a : first regular expression of alternative

  • 2.parameter re_b : second regular expression of alternative

  • returns : new regular expression

valuere_dot :: RE a
#

Constructs a regular expression for accepting any singel symbol

  • returns : regular expression for accepting any singel symbol

valuecheckRE :: (Eq a, Show a) => RE a -> String
#

Checks if an input matched a regular expression. The function should be called after matches.

Was the sentence used in matches in the language of the regular expression? -> matches e s == s in L(e)?

  • 1.parameter re : the derived regular expression

  • returns : empty String if input matched the regular expression, otherwise an error message is returned

valuematches :: (Ord a, Show a) => RE a -> [a] -> RE a
#

Derives a regular expression with respect to a sentence.

  • 1.parameter re : regular expression

  • 2.parameter s : sentence to which the regular expression is applied

  • returns : the derived regular expression

valuenullable :: RE a -> Bool
#

Checks if a regular expression matches the empty sequence.

nullable e == [] in L(e)

This check indicates if a regular expression fits to a sentence or not.

  • 1.parameter re : regular expression to be checked

  • returns : true if regular expression matches the empty sequence, otherwise false

valueprintRE :: (Eq a, Show a) => RE a -> String
#

Constructs a string representation of a regular expression.

  • 1.parameter re : a regular expression

  • returns : the string representation of the regular expression