## Welcome to regex parser !

This is the Final Term paper of **Advanced Programming**. The project is written in C#, developed with Visual Studio 2005.

It is a regular expression parser, built through different steps:

1) A** recursive descent parser** for a subset of POSIX regular expressions has been implemented, without using external tools like COCO/R ;

2) The parse tree so obtained is transformed in a Non-deterministic Finite Automata (**NFA**), using the recursive Thompson algorithm ;

3) NFA is converted into a Deterministic Finite Automata (**DFA**) through the "subsect algorithm" ;

4) The Deterministic Finite Automata so obtained is **minimized**;

5) In the end, the program matches any input string with the regular expression parsed at the beginning and it recognizes and, further on, it prints all dates in the pattern *dd/mm/yy(yyyy)* in a file.