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.
This project is one of those things differentiating the real programmer from just "people who write some code" ; )
I'm going to post this project soon on codeproject.com and c-sharpcorner.com .