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

Reply via email to