On Mar 26, 2013, at 7:57 AM, Felix S. Klock II wrote: > Cool, John beat me to the punch and posted a grammar to a repository! > > (And better still, John's grammar looks way more complete than my own.) > > I went ahead and shoved my version of Rust.g4 into a branch on a fork of your > repo, so that people can skim and compare the approaches. (E.g. the use of > named terminals such a LPAREN versus hard-coding them as literals in the > productions.) > > https://github.com/pnkfelix/rust-antlr/blob/pnkfelix-draft-from-rust-manual/Rust.g4 > > Note the above link is not expected to actually work on real rust expressions > of any size. I was working by transcribing from the manual; I infer that > John took a much different tack, perhaps using the parser source as a > basis...? In any case, I am posting this mostly to stimulate thought as to > what tack to take that will best integrate both with our code and also with > our documentation.
Yes, I went entirely from lexer/parser source. I'll take a look at yours. Anyone else: is this something we're interested in? FWIW, I'm guessing that the parser generated directly from ANTLR would be not directly useful to us, but it might have value in two ways: 1) documentation, 2) verification that our language is LL(3) (or whatever), and 3) for future use when we write our own parser generator (or develop a Rust back-end for something fast like yacc). John > > Cheers, > -Felix > > > On Mon Mar 25 21:23:32 2013, John Clements wrote: >> Following an offhand comment of Patrick's on Friday, I decided to take a >> look and see just how easy it is to formulate an ANTLR grammar. The answer >> is: very, very easy. I wrote up a simple grammar for Rust tokens; it's up at >> >> https://github.com/jbclements/rust-antlr/ >> >> The tokens work great, and so does a simple token-tree parser; it can now >> parse large rust files into token trees. I started adding an AST-level >> parser, but it's just got bits & pieces of the grammar, for now. >> >> John >> >> _______________________________________________ >> Rust-dev mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/rust-dev > > > > -- > irc: pnkfelix on irc.mozilla.org > email: {fklock, pnkfelix}@mozilla.org > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
