On Wed, Jun 18, 2014 at 12:01 PM, Jeffrey Kegler
<[email protected]> wrote:
> Thanks for doing this.  Reading even unfinished presentations is helpful to
> me, because I come to Marpa from the viewpoint of 1970's parsing theory, and
> so what most people need explaining and what does not is very hard for me to
> figure out.

My colleagues come from a "just muddle through with split() and
regexes" viewpoint, as did I before I discovered Marpa (though I could
read BNF). I'm trying to build knowledge and (hopefully) understanding
on top of that platform, so I'm really taking it down to baby-steps
where I can. That said, I work with some really smart cookies, so I
will tend to power through "full steam ahead" and wait for questions.

> Here are my comments on the slides.
>
> Slide 2:  Calling Marpa a scribe is a bit like calling Indiana Jones a
> professor.  Marpa was an explorer/adventurer/teacher/translator, and founder
> of the major lineages of Tibetan Buddhism.

Yes, but there's only so much you can fit on a slide without
butchering the font size and whatnot. I'll see whether I can squeeze
in a footnote quoting that description verbatim though.

> Also on slide 2: The LHS of a production is not really its name, it's a
> symbol.  That is, "A ::= B" says that symbol A derives (or produces or can
> be rewritten to) symbol B.

Point taken.

> "A" is sometimes used to "name" the rule, to be
> sure, but it's dangerous to think of it as the rule's name.  One reason it
> is dangerous is that several rules can have the same LHS:
>
> A ::= B
> A ::= 'hello!'
> A ::= # empty

Point not taken. Point, in fact, blew my mind. More research is required.

> Still beating up on slide 2 (sorry): The middle graf about "terminal" versus
> "nonterminal" is not really right.  You might what to consult my explanation
> of "structural" versus "lexical", which lays out the concepts carefully:
> https://metacpan.org/pod/distribution/Marpa-R2/pod/Scanless.pod

Wilco. Again, I'm trying to baby-step things, and that might be one of
the baby-steps that gets a "... well, I lied to you earlier, to save
you some pain" slide later in the presentation.

> Slide 3: The first graf of this actually talks about the same thing as the
> middle graf of slide 1, but does get it right.

Huh. Okay.

> Slide 5: The LHS of a production is *not* a name.  I'm repeating myself, but
> it's a really important point.

I haven't grasped the importance yet, but I haven't read the
above-lined POD yet either.

> Btw, the *major* difference between structural ("::=") and lexical ("~")
> rules is that the structural rules produce a tree and can have syntax
> applied to them.  The lexical rules are just for recognizing strings.

That's a dramatically clear way to put it. That's going on a slide for sure.

> Slide 6: "G0" as a term is deprecated.  It's now L0.

Consider it fixed.

> Slide 7: The SLIF "mess of directives" is the aspect of the SLIF where I
> most disappointed myself.  I'm not sure how, but I feel I could have chosen
> better syntax for the various directives.

Nothing I can do about that, I'm afraid. I did change "mess" to
"collection", though.

> Slide 10: Btw, I picked up the term "adverb", and the basic idea for their
> syntax, from Perl 6.

Interesting tid-bit. I may slide that in, but Perl 6 has a bad
reputation in certain corners.

> Slide 12: Actually "::first" *overrides* the default "[name,values]"
> semantics.  The slide suggests that first the "[name,values]" semantic is
> applied, then "::first".  That's not the case.  It's one *or* the other.

Yep. I've nuked the entire slide dealing with "[name,values]" and I'm
going to try again on it from scratch,

> I hope this is helpful! -- jeffrey

Jeffrey, you've never been anything _but_ helpful. Very, very many
thanks for taking the time to even look at it, let alone give such
good constructive criticism.



--
Paul

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to