Skip to content

rodrigogribeiro/idrisregexp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 

Repository files navigation

A verified regular expression matching tool in Idris

A formalized tool for searching using regular expression. This development is based on the article:

Regular-expression derivatives reexamined

by Owens et. al.

Usage

igrep [REGEXP] [FILE_LIST]

where

  • REGEXP: Regular expression to be searched.
  • FILE_LIST: List of files to be considered for searching.

Syntax of Regular Expressions

The syntax of regular expressions is as follows:

e ::= e + e
   |    e e
   |    e *
   | ( e )
   | c

where c is some character that isn't +, (,) and *. Note that currently the tool does not support operators like complement, intersection and the empty set.

Dependencies

The igrep tool depends on the following Idris libraries:

  • Lightyear, a parser combinator library for Idris.
  • Effects, effectful computations in Idris.

Effects library is already shipped within Idris compiler and Lightyear can be easily installed. Just download the library using the URL above and execute:

make clean
make test
make install

The development is done using Idris version 0.9.19.

About

Regular expression matching in Idris

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published