Hi Matias,

Kleene algebra involves the equations that are valid in the interpretation of regular expressions as word languages. So, however a simplifier of regular expressions is defined, its input and output should be equivalent w.r.t. those equations.

On the web page of my course on compiler construction (http://fldit-www.cs.tu-dortmund.de/ueb.html) you find a link to the Haskell module Compiler.hs, which includes data types, parsers and compilers for regular expressions. Among them is the algebra regNorm, which reduces regular expressions to a kind of additive normal form.

Best regards,
  Peter

Am 20.03.2014 um 13:17 schrieb "Berg, Matias Juho" <m.berg.10@aberdeen.ac.uk>:

​Hi all,

I am a final year undergraduate student at a university and I am doing my final honours project on natural language generation from regular expressions. For this to work efficiently I need to simplify the regular expressions before I translate them. It seems that there is some previous work done on this in Haskell but I have only been able to find this code (http://hackage.haskell.org/package/HaLeX-1.1/docs/src/Language-HaLex-RegExp.html​) which does some elementary simplification. 

Does anyone have any suggestions on where to look for more examples so I can see what kinds of attempts people have used to try and solve this problem? Also if someone has worked on this kind of problem was Kleene algebra a good starting point?

Best regards,

Matias

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe