Regullar Expressions in Haskell

This project received 2 bids from talented freelancers with an average bid price of $106 USD.

Get free quotes for a project like this
Employer working
Skills Required
Project Budget
$30 - $250 USD
Total Bids
Project Description

I need a implementation of a mechanism to identify the strings based on some regular expressions.

Requires the implementation of a function, "matches", which by receiving a regular expression and a string, determinate, in order, the longest disjoint sub-strings, that matches with the provided expression. For example, knowing that the regular expression "a + | b +" denotes the string which contains at least one character 'a' and strings containing at least one character 'b', this is what will return the application below:
> matches "a+|b+" "abbcccaaa"
["a", "bb", "aaa"]

For the expression "(a|b)+" the result is:
> matches "(a|b)+" "abbcccaaa"
["abb", "aaa"]

The elements that can appear in regular expressions are:

Small letters: a, b etc.
Sequence: ab, aabbb etc.
Parentheses for grouping.
? operator, Example: "ab?c" determine "abc", and with "ac".
"(ab)?c" determine "abc", and with "c".
* operator. Example:
"ab*c" determine "ac", "abc", "abbc" etc.
"(ab)*c" determine "c", "abc", "ababc" etc.
+ Operator. Example:
"ab+c" determine "abc", "abbc" etc., but not "ac".
"(ab)+c" determine "abc", "ababc" etc.,but not "c".
| Operator. Example:
"ab|c"determine"ab" and with "c".
"a(b|c)" determine "ab" and with "ac".

In the absence of parentheses, the prioritization of the operators from the strong to the weak, is as follows:

quantification?, *, +
alternation: |.
For example, the expression "ab * | c 'group is, therefore, as in" (a (b *)) | (c). An alterate method of expression syntax which alters the semantics of the original expression, is "a(b*|c)".

This project must use the parser given in the attachment.
I need this project done until 7 May 2013.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online