On Mon, Dec 20, 2004 at 03:32:31PM -0700, Luke Palmer wrote: > We have to make a formal grammar for Perl 6. Perl 6 is a huge language, > so the task seems better done incrementally by the community. The > current version can be seen temporarily at > http://luqui.org/perl6/Grammar.perl6 until the svn repository is fully > set up.
And the svn repository is now set up, at https://svn.perl.org/perl6. The grammar itself lives in grammar/trunk/Grammar.perl6, although this and the overall repository structure will certainly change over time. At least we're using subversion from the outset so that this will hopefully be easier. I agree with Luke that our initial goal is to just get the rules written, and to look for complete coverage of the language. Of course, those of you following perl6-language know that Perl 6 is continuing to evolve, so we're going to be following along as best we can. When there's a doubt about how to do something, we'll follow whatever is written in the most recent Synopsis/Apocalypse/whatever, and if it's a major language design issue we'll kick it back to perl6-language for discussion. Also, as most of you know, Perl 6 is designed so that the grammar can be modified/extended from within Perl itself, so to we need to make sure the grammar is understandable as well as workable. (Usually these two goals work together anyway.) So, while I highly encourage any and all contributions to the grammar, some "code-only" patches may be delayed until we have suitable descriptions to go along with it. And if something isn't clear to someone, please say so. In particular, consistent with good programming practice, we want the names of our rules and other constructs to be chosen carefully and consistent with the terms found in the language description. So, this is one of our reasons to go with small careful steps at first, to make sure the nouns and verbs we use in the grammar match the nouns and verbs we want to use when describing the language elsewhere. We're still working out some of the details of parsing, including operator precedence. As a result some things may be handwavy at first -- that's normal. We may even have a few false starts here and there, and that's okay too. (After all, there's been a lot of false starts on p6l, so we're allowed a few in p6c also. :-) Most of all, by building the grammar publicly and in small steps, and then doing the same with the compiler, I'm hoping to increase the number of people who can help with building and maintaining the p6 compiler, as well as provide a path for others to follow along later. And so, on to the rules! Pm