From: Paul Snively <psnively@mac.com>
To: David McClain <David.McClain@Avisere.com>
Cc: Brian Hurt <bhurt@spnz.org>, caml-list@inria.fr
Subject: Re: [Caml-list] CFG's and OCaml
Date: Fri, 13 Aug 2004 09:58:02 -0700 [thread overview]
Message-ID: <F030AD87-ED49-11D8-BC4D-000A27DEEC20@mac.com> (raw)
In-Reply-To: <73EC7D25-ED42-11D8-99DF-000A95C19BAA@Avisere.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi David!
On Aug 13, 2004, at 9:04 AM, David McClain wrote:
> Uhuhh... Yes, I did that same "evil" thing as well, even before
> discussing all these reduce/reduce conflicts/
>
> What I find is that these screwball little tricks might help, and the
> might not. YACC is just too darned sensitive to minor and non-obvious
> perturbations in the input grammar specification. Realizing its
> legacy, indeed it does arise from the old IBM-360, or more properly
> PDP-10, days. That was the style of programming back then.. I remember
> it well.
>
The issue isn't strictly one of style. You're using an entirely
context-free parser generator to attempt to parse a grammar that _is
not_ context free. The joker in this deck is that no non-trivial
grammar is context-free, so all real-world "context free" grammars use
some kind of trick to get past it. Hence the effort to turn (1) into
(k) or, better still, (inf), cf. ANTLR, Spirit, Bison 1.50 or later, or
Elkhound.
> I had though the other night about creating a common subtree of
> semantic actions and then let the higher levels unravel that subtree.
> That would probably work well here, but it is a lot more work.
>
Quite. My advice remains to be to use Elkhound.
> David McClain
> Senior Corporate Scientist
> Avisere, Inc.
>
> david.mcclain@avisere.com
> +1.520.390.7738 (USA)
>
Best regards,
Paul
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
iEYEARECAAYFAkEc8yMACgkQbot1wzHBQBWHggCeNLjlA7AdwuvQBRZ+T5LDqvkQ
WLoAniMo7jA2ISdBz24MeDUZd8aJ7bNt
=JehV
-----END PGP SIGNATURE-----
-------------------
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
next prev parent reply other threads:[~2004-08-13 16:58 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-13 14:04 David McClain
2004-08-13 15:05 ` Damien Doligez
2004-08-13 15:26 ` David McClain
2004-08-13 16:12 ` Damien Doligez
2004-08-13 15:28 ` David McClain
2004-08-13 15:49 ` Brian Hurt
2004-08-13 16:04 ` David McClain
2004-08-13 16:29 ` Brian Hurt
2004-08-13 16:42 ` Xavier Leroy
2004-08-13 17:18 ` Ken Rose
2004-08-13 18:55 ` Brian Hurt
2004-08-14 0:25 ` Jon Harrop
2004-08-14 0:57 ` Erik de Castro Lopo
2004-08-14 8:52 ` Alan Schmitt
2004-08-14 3:33 ` Brian Hurt
2004-08-14 7:55 ` skaller
2004-08-14 20:19 ` Jon Harrop
2004-08-14 20:55 ` Brian Hurt
2004-08-14 20:57 ` Marcin 'Qrczak' Kowalczyk
2004-08-14 22:15 ` skaller
2004-08-15 1:26 ` Jon Harrop
2004-08-15 8:24 ` skaller
2004-08-15 15:39 ` Brian Hurt
2004-08-15 16:54 ` Jon Harrop
2004-08-14 22:13 ` skaller
2004-08-13 16:58 ` Paul Snively [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-08-12 19:15 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=F030AD87-ED49-11D8-BC4D-000A27DEEC20@mac.com \
--to=psnively@mac.com \
--cc=David.McClain@Avisere.com \
--cc=bhurt@spnz.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