Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: skaller <skaller@users.sourceforge.net>
To: Martin Jambon <martin_jambon@emailuser.net>
Cc: Xavier Leroy <Xavier.Leroy@inria.fr>,
	Christophe TROESTLER <Christophe.Troestler@umh.ac.be>,
	"O'Caml Mailing List" <caml-list@inria.fr>
Subject: Re: [Caml-list] Thread safe Str
Date: 12 Jan 2005 18:59:23 +1100	[thread overview]
Message-ID: <1105516763.2574.231.camel@pelican.wigram> (raw)
In-Reply-To: <Pine.LNX.4.44.0501111208210.1865-100000@localhost>

On Wed, 2005-01-12 at 07:53, Martin Jambon wrote:
> On 11 Jan 2005, skaller wrote:

> > See the ulex package for a model. The problem with micmatch
> > is precisely that it does use Str.
> 
> It uses either Str or PCRE.

> You can also integrate ulex by yourself if it is possible.

I'm not sure .. ulex doesn't use NFA's does it?
AFIAK it doesn't support captures.

The problem with micmatch is that it probably doesn't do what 
can be done with a system supported in the core language,
linear matching over all cases. Felix does do it: in this code

regmatch .. with
| re1 => ..
| re2 => ..
| re3 =>..
endmatch

the input characters (from ...) are read exactly once,
not only is there no backtracking, since a DFA is used,
but it isn't a sequence of comparisons (it's a DFA based
tokeniser, the token selecting the RHS expression).

I would guess micmatch does not support that, although
it probably could.


-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net




  reply	other threads:[~2005-01-12  7:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-09 19:30 Christophe TROESTLER
2005-01-09 20:57 ` [Caml-list] " Gerd Stolpmann
2005-01-10  9:57 ` Alex Baretta
2005-01-10 15:49 ` Xavier Leroy
2005-01-10 16:39   ` Richard Jones
2005-01-10 18:21   ` Eric C. Cooper
2005-01-10 20:25   ` Martin Jambon
2005-01-11  3:54     ` skaller
2005-01-11  7:03       ` Chris King
2005-01-11  8:06         ` skaller
2005-01-11 12:08           ` Gerd Stolpmann
2005-01-11 17:55             ` skaller
2005-01-11 20:30               ` Gerd Stolpmann
2005-01-12  7:42                 ` skaller
     [not found]           ` <875c7e070501111007dc3e86d@mail.gmail.com>
     [not found]             ` <1105471138.2574.88.camel@pelican.wigram>
     [not found]               ` <875c7e07050111115618692184@mail.gmail.com>
2005-01-11 19:58                 ` Chris King
2005-01-11 20:53       ` Martin Jambon
2005-01-12  7:59         ` skaller [this message]
2005-01-12 20:12           ` Martin Jambon
2005-01-11  6:41   ` Chris King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1105516763.2574.231.camel@pelican.wigram \
    --to=skaller@users.sourceforge.net \
    --cc=Christophe.Troestler@umh.ac.be \
    --cc=Xavier.Leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=martin_jambon@emailuser.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox