Regenerate: A Language Generator for Extended Regular Expressions - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2018

Regenerate: A Language Generator for Extended Regular Expressions

Gabriel Radanne

Résumé

Regular expressions are part of every programmer's toolbox. They are used for a wide variety of language-related tasks and there are many algorithms for manipulating them. In particular, matching algorithms that detect whether a word belong to the language described by a regular expression is both a well explored area, yet one that still receives frequent contributions. However, there is no satisfactory solution for testing such matchers, which would require generating positive as well as negative examples for the language. We propose an algorithm to generate a language matched by a generalized regular expression with intersection and complement operators. The complement operator allows us to generate both positive and negative example words from a given regular expression. We implement our generator in Haskell and OCaml, and show that its performance is more than adequate for the purpose of testing.
Fichier principal
Vignette du fichier
main.pdf (1.32 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01788827 , version 1 (09-05-2018)
hal-01788827 , version 2 (22-01-2019)

Identifiants

  • HAL Id : hal-01788827 , version 1

Citer

Gabriel Radanne, Peter Thiemann. Regenerate: A Language Generator for Extended Regular Expressions. 2018. ⟨hal-01788827v1⟩

Collections

INRIA
180 Consultations
1233 Téléchargements

Partager

Gmail Facebook X LinkedIn More