From: David McClain <David.McClain@Avisere.com>
To: caml-list@inria.fr
Subject: [Caml-list] CFG's and OCaml
Date: Thu, 12 Aug 2004 12:15:49 -0700 [thread overview]
Message-ID: <058C1DD2-EC94-11D8-9939-000A95C19BAA@Avisere.com> (raw)
Heh! I just dug out Andrew Appel's book from the closet and began
reading it anew.
Lo and behold, he shows how grammars that invite reduce/reduce
conflicts are best handled by opening up the universe of sytactically
recognizable sentences -- well beyond anything meaningful for the
language at hand -- and then using a later semantic analysis stage to
detect and report the error.
So this explains why the parser.ml for OCaml has all those apparently
illegal accepting clauses in it. The parser recognizes all kinds of
wild things that would be patently invalid OCaml code.
I began life in this field more than 30 years ago using a simple
language called Forth to control a large 100 inch telescope in
Wyoming... I learned many "bad habits" in programming -- most notably
to write code that works when fed correct input for its intended
purpose -- and to hell with what happens in any other case. I watched
and learned from the practicioners of this language what I came to call
"Kamakazi Programming Style".
Now after spending the last 30 years trying hard to overcome these
initial misguidings, I find once again, that this is the appropriate
solution -- at least in the parsing stage.
Very interesting...
David McClain
Senior Corporate Scientist
Avisere, Inc.
david.mcclain@avisere.com
+1.520.390.7738 (USA)
-------------------
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 reply other threads:[~2004-08-12 19:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-12 19:15 David McClain [this message]
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
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=058C1DD2-EC94-11D8-9939-000A95C19BAA@Avisere.com \
--to=david.mcclain@avisere.com \
--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