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.

 

the regex parser !

REFERENCES

  • Writing own regular expression parser: Explains principles behind writing regular expression parsers.
    Amer Gerzic

  • Shared Source CLI Essentials,
    David R. Stutz, Ted Neward, Geoff Shilling

  • Compilers Principles, Techinques, And Tool, ( also known as 'the Dragon Book' )
    Aho, Sethi, Ullman

======================================================

code ( VisualStudio 2005 project ) [ .rar ]

report of project [ .pdf ]