Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: "Ennals, Robert" <robert.ennals@intel.com>
To: "David McClain" <dmcclain1@mindspring.com>, "caml" <caml-list@inria.fr>
Subject: RE: [Caml-list] CFG Parsers
Date: Fri, 13 Aug 2004 16:52:04 +0100	[thread overview]
Message-ID: <78B55F0E8771CC4B8F6995AB83AF65520514D668@swsmsx402.ger.corp.intel.com> (raw)

Have you tried using a combinatory parser?

Such parsers are usually *MUCH* easier to use, allow much wider choices
of grammar, much better error messages etc, and are usually more than
fast enough.

I don't know what combinator parsers are available for O'Caml, but
Parsec (for Haskell) is pretty sweet. 


Does anyone know of any good combinator parsing libraries for O'Caml? If
there aren't any then I might be tempted to do one myself (getting sick
of yacc).


-Rob

> -----Original Message-----
> From: owner-caml-list@pauillac.inria.fr [mailto:owner-caml-
> list@pauillac.inria.fr] On Behalf Of David McClain
> Sent: 13 August 2004 16:42
> To: caml
> Subject: [Caml-list] CFG Parsers
> 
> With all due respect, it appears that I need to reframe my thinking
about
> these YACC parser builders and go backward in time by about 30-40
years.
> Now
> that I'm getting the hang of what it is doing, it looks strongly
> reminiscent
> of the style of programming we did back on old IBM 360's.
> 
> I do notice that YACC becomes very sensitive to slight perturbations
in
> the
> grammar. This is not meant as a criticism of YACC, but rather a plea
for
> some more modern thinking in compiler generators. Perhaps the GLC tool
> will
> do better here.
> 
> The problem seems to be the impedance mismatch between the way humans
are
> led to think when viewing the "structured" YACC input clauses, and the
> more
> or less blind way the computer is actually using that information. I
see
> that being a master of removing reduce/reduce conflicts seems to be a
rite
> of passage. But surely there has to be a better way to approach these
> kinds
> of problems. Just because my ancestors used to hunt with spears
doesn't
> mean
> I still ought to do so.
> 
> David McClain
> Senior Corporate Scientist
> Avisere, Inc.
> 
> +1.520.390.7738 (USA)
> david.mcclain@avisere.com
> 
> 
> 
> -------------------
> To unsubscribe, mail caml-list-request@inria.fr Archives:
> http://caml.inria.fr
> Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ:
> http://caml.inria.fr/FAQ/
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


             reply	other threads:[~2004-08-13 15:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-13 15:52 Ennals, Robert [this message]
2004-08-13 15:58 ` Diego Olivier Fernandez Pons
  -- strict thread matches above, loose matches on Subject: below --
2004-08-13 16:09 Ennals, Robert
2004-08-14  2:59 ` james woodyatt
2004-08-16  8:40   ` Diego Olivier Fernandez Pons
2004-08-17  9:44     ` Alex Cowie
2004-08-18 13:13     ` Christian Lindig
2004-08-13 15:41 David McClain

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=78B55F0E8771CC4B8F6995AB83AF65520514D668@swsmsx402.ger.corp.intel.com \
    --to=robert.ennals@intel.com \
    --cc=caml-list@inria.fr \
    --cc=dmcclain1@mindspring.com \
    /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