Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Jean-Christophe Filliatre <Jean-Christophe.Filliatre@lri.fr>
To: Daniel.Andor@physics.org
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] camlp4 vs. ocamllex/yacc?
Date: Fri, 24 Jan 2003 16:12:10 +0100	[thread overview]
Message-ID: <15921.22474.602526.543452@lri.lri.fr> (raw)
In-Reply-To: <200301241415.44042.da209@cam.ac.uk>


 > What are the advantages/disadvantages of using camlp4 vs. a combination of 
 > ocamllex and ocamlyacc?  

For  having  used both  of  them intensively,  I  see  (at least)  the
following advantages of camlp4:

 - it comes with a lexer, saving you the burden of writing one
   (this lexer conforms to ocaml lexical conventions; for prototype
   implementations, it is usually fine)

 - it offers high level grammar constructors such as LIST0, LIST1,
   OPT, ... It results in cleaner and more concise grammars.

Another advantage of camlp4, not of common use, is to propose an ocaml
datatype for grammars: thus grammars can be extended dynamically. This
is not possible with ocamlyacc grammars.

The (sole?)  advantage of  ocamlyacc is when  you already have  a YACC
grammar. Turning it into an ocamlyacc grammar is almost immediate.

 > Is there already a translator like this out there (to save me the effort)?  

There are probably many (Ocaml is, in particular, a good tool to write
compilers) but  this really  depends on your  input syntax  (there are
really *many* ways to write mathematics using ASCII :-).

-- 
Jean-Christophe

-------------------
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


  parent reply	other threads:[~2003-01-24 15:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-24 14:15 Daniel Andor
2003-01-24 14:32 ` Jacques Carette
2003-01-24 15:12 ` Jean-Christophe Filliatre [this message]
2003-01-24 16:21   ` Alain.Frisch
2003-01-26  2:50   ` Ed L Cashin

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=15921.22474.602526.543452@lri.lri.fr \
    --to=jean-christophe.filliatre@lri.fr \
    --cc=Daniel.Andor@physics.org \
    --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