| Related articles |
|---|
| Leftmost longest match with DFA search monnier@iro.umontreal.ca (Stefan Monnier) (2008-05-10) |
| Re: Leftmost longest match with DFA search daniel2villeneuve@videotron.ca (Daniel Villeneuve) (2008-05-11) |
| Re: Leftmost longest match with DFA search rsc@swtch.com (Russ Cox) (2008-05-12) |
| Re: Leftmost longest match with DFA search monnier@iro.umontreal.ca (Stefan Monnier) (2008-05-13) |
| Re: Leftmost longest match with DFA search monnier@iro.umontreal.ca (Stefan Monnier) (2008-05-13) |
| Re: Leftmost longest match with DFA search Danny.Dube@ift.ulaval.ca (2008-05-13) |
| Re: Leftmost longest match with DFA search rsc@swtch.com (Russ Cox) (2008-05-14) |
| [1 later articles] |
| From: | Stefan Monnier <monnier@iro.umontreal.ca> |
| Newsgroups: | comp.compilers |
| Date: | Sat, 10 May 2008 04:36:57 -0400 |
| Organization: | UseNetServer.com |
| Keywords: | lex, question, DFA |
| Posted-Date: | 10 May 2008 21:46:53 EDT |
Can someone point me to articles that discuss various ways to get the
leftmost longest match when implementing regexp search using a DFA?
The "obvious" solution of turning the problem "search for RE" into the
problem "match .*RE" (where I use "match" here to mean "anchored
search") only gives you the leftmost shortest match.
I've already seen http://compilers.iecc.com/comparch/article/07-10-026
where Tcl's approach to the problem is described, which is sadly O(N^2).
I'm also interested in similar approaches using non-backtracking NFAs
(I'm familiar for example with the algorithm used in Plan9's regexp
library).
Stefan
Return to the
comp.compilers page.
Search the
comp.compilers archives again.