Loup,
By 'fork' I meant to imply creating a publicly-visible repository that pops up
in google searches and prevents you finding the place where the progress is
being made, unless you happen to spot the tiny icon hidden in the corner that
takes you to the repo from which your current page was forked. (That's a
personal gripe and might be blowing my dislike of github, et al., out of all
proportion. :) Cloning a repo and experimenting/breaking/repairing in order to
understand is not the same, nor is using your local Mercurial repository clone
to work locally and then contribute back to a parent repo. If that's what Faré
meant by fork then I'm all for it.
On Oct 21, 2013, at 08:36 , Loup Vaillant-David wrote:
I'm now doing the same with Earley Parsing[3].
The Wikipedia article's presentation is not the clearest and it is about the
minimum needed, with some reading between the lines, to make a working
recogniser.
Earley's thesis and original papers are known to contain errors. I recommend
you get hold of Parsing Techniques: A Practical Guide (Grune and Jacobs,
Springer, 2008) which presents lots of parsing algorithms (including several
chart parsers) clearly and concisely. There are a few papers building on
Earley's work that contain clear presentations of the original algorithm, parse
tree reconstruction and their compact representations; e.g., SPPF-Style
Parsing from Earley Recognisers (Elizabeth Scott, Elsevier, 2008) and
Practical Earley Parsing (Aycock and Horspool, The Computer Journal, 45(6),
2002).
I agree entirely that after noticing that following the causality of predict
and scan steps (backwards from the final states) gives all the derivations, the
rest is relatively easy.
- Read scientific papers. I gathered a surface understanding of some
principles, but nothing solid yet.
- Build a toy from scratch. I'll probably do that, since it worked
so far.
These two are fun to do in parallel. They feed each other very well.
Here is how I would imagine my dream world. It would be a central
repository with:
- A toy Maru, optimised for clarity.
- A tutorial for writing your own toy.
- A serious Maru, lifted up from the toy.
- A tutorial for lifting your own toy up.
- The hand-written bootstrap compilers (for understanding, and the
Trusting Trust problem).
Does this dream world sounds possible? Is it even a good idea?
I hope so, and I think so. At some point you could consider literate
programming. Jones Forth is one example of how this can be attempted even from
the very first point
(http://rwmj.wordpress.com/2010/08/07/jonesforth-git-repository). By the time
you're on the third step, the above hierarchy could begin to support source
code representations intended for ease of understanding.
Regards
Ian
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc