caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>
To: caml-list@inria.fr
Subject: Re: [Caml-list] LL, LR, and camlp4 (was Re: syntax change)
Date: Tue, 5 Feb 2002 10:31:26 +0100	[thread overview]
Message-ID: <20020205103126.E23442@verdot.inria.fr> (raw)
In-Reply-To: <4.3.2.7.2.20020205005831.03799740@arda.pair.com>; from checker@d6.com on Tue, Feb 05, 2002 at 01:09:11AM -0800

Hi,

On Tue, Feb 05, 2002 at 01:09:11AM -0800, Chris Hecker wrote:

> My question is just why did you hand-write the parser, rather than
> using a tool like yacc?

To preserve the extensibility with a simple way. I could not do that
with a yacc parser except revisiting the whole grammar and rebuiding
the whole table when extensions are done.

In Camlp4, when you extend an "entry level", only the entry level is
modified: an extension is just adding a rule in a tree, like adding a
case in a function. It is simple and I want to keep that simplicity.

> Are parser generators not all they're cracked up to be?  If so, why
> does caml use yacc?

I don't know: when I arrived 10 years ago, there was nothing by yacc.
and for most people:
           parsing <=> yacc

Not for me. I don't agree with that. I discovered parsing by learning
Pascal, 25 years ago and I found amazing the rules:

   expression ::= term + term
                | term - term
         term ::= factor + factor
                | factor - factor
       factor ::= integer
                | variable
                | ( expression )
       
I found this recursivity with "expression between parentheses" as a
marvelous thing... :-)

When I arrived here, I just combined this idea with the Caml language
and its polymorphism, and I wrote the stream parsers, using Michel
Mauny's ideas.

Extensible grammars of Camlp4 are just improved stream parsers.

-- 
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  reply	other threads:[~2002-02-05  9:31 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-02  0:12 [Caml-list] otags problem Shivkumar Chandrasekaran
2002-02-04 14:11 ` [Caml-list] camlp4o problem (was: otags problem) Hendrik Tews
2002-02-04 14:52   ` Daniel de Rauglaudre
2002-02-04 15:08     ` Markus Mottl
2002-02-04 15:41       ` Daniel de Rauglaudre
2002-02-04 15:57         ` Christophe Raffalli
2002-02-04 17:06           ` Daniel de Rauglaudre
2002-02-04 16:25         ` [Caml-list] syntax change (was: camlp4o problem) Markus Mottl
2002-02-04 17:01           ` Daniel de Rauglaudre
2002-02-04 17:46             ` Markus Mottl
2002-02-04 18:08               ` Daniel de Rauglaudre
2002-02-06  8:19                 ` M E Leypold @ labnet
2002-02-04 18:28             ` Mattias Waldau
2002-02-04 20:11               ` Markus Mottl
2002-02-04 22:52                 ` Chris Hecker
2002-02-04 23:04                   ` Benjamin C. Pierce
2002-02-04 23:28                     ` Markus Mottl
2002-02-04 23:20                   ` Markus Mottl
2002-02-05  2:39                   ` Daniel de Rauglaudre
2002-02-05  2:55                     ` Chris Hecker
2002-02-05  2:01                 ` Brian Rogoff
2002-02-05 10:33                   ` Markus Mottl
2002-02-05 11:53                     ` Remi VANICAT
2002-02-05 12:05                       ` Daniel de Rauglaudre
2002-02-05 17:23                       ` Stefano Zacchiroli
2002-02-22 10:15                       ` [Caml-list] Emacs mode for revised syntax? Johan Georg Granström
2002-02-22 10:21                         ` Christian Gillot
2002-02-06  8:23                 ` [Caml-list] syntax change (was: camlp4o problem) M E Leypold @ labnet
2002-02-04 23:04           ` Chris Hecker
2002-02-05  2:47             ` Daniel de Rauglaudre
2002-02-05  2:59               ` Chris Hecker
2002-02-05  8:42                 ` Daniel de Rauglaudre
2002-02-05  9:09                   ` [Caml-list] LL, LR, and camlp4 (was Re: syntax change) Chris Hecker
2002-02-05  9:31                     ` Daniel de Rauglaudre [this message]
2002-02-05  9:33                     ` Xavier Leroy
2002-02-05 12:17                       ` Diego olivier FERNANDEZ PONS
2002-02-05  3:40     ` [Caml-list] camlp4o problem (was: otags problem) Patrick M Doane
2002-02-05  8:57       ` Daniel de Rauglaudre
2002-02-06  4:00         ` Patrick M Doane
2002-02-05 15:08     ` Hendrik Tews
2002-02-05 16:13       ` Daniel de Rauglaudre
2002-02-06 19:17         ` Yaron M. Minsky
2002-02-06 20:02           ` [Caml-list] Re: bug (was: camlp4o problem) Daniel de Rauglaudre
2002-02-04 22:15   ` [Caml-list] camlp4o problem (was: otags problem) Shivkumar Chandrasekaran

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=20020205103126.E23442@verdot.inria.fr \
    --to=daniel.de_rauglaudre@inria.fr \
    --cc=caml-list@inria.fr \
    /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;
as well as URLs for NNTP newsgroup(s).