(ARCHIVE) Raku standard grammar
=head1 Perl 6 Parser Stuff in the Pugs Repo
Welcome to pugs/src/perl6. This is the home of STD.pm6, the canonical Perl 6 grammar, which is written in Perl 6 (of course). It is also the home of viv, a retargettable Perl 6 metacompiler which can translate STD.pm6 into Perl 5 (and eventually other things). The metacompiler relies on STD.pm6 to parse itself, requiring a stored bootstrap version of the compiled STD.pm. This is also the home of Cursor, the canonical implementation of the Perl 6 rules engine; it co-evolves with viv and executes the actual rules. This is also the home of a collection of minor tools used in the development of STD.pm6 and viv.
=head1 Prerequisites
You'll need the following Perl bits to run stuff:
Perl 5.10.0 or later in PATH
YAML::XS (e.g. sudo apt-get install libyaml-libyaml-perl)
Moose (e.g. sudo apt-get install libmoose-perl)
File::ShareDir
=head1 Running Stuff
You can get started by using the Makefile command, C
The following tools are provided which leverage the power of C<STD>:
C
C
C
C
C
C
C
C
C<std_hilite/STD_syntax_highlight> is a syntax highlighter with multiple output formats.
See the headers of the respective programs for more details, and don't hesitate to ask around as quite a bit of this is underdocumented.
=head1 Working the Makefile
To regenerate perl 5 files from perl 6 STD.pm6, STD_P5.pm6, and Cursor.pm6 changes:
make
To do that, but without running the self test (bootstrap):
make fast
To remake only one file:
make STD.pmc
To update the first stage, allowing new STD.pm6 or Cursor.pm6 features to be used while building future versions of STD.pm6 or Cursor.pm6:
make reboot
To remove all generated files:
make clean
To test the ability to parse the Perl 6 test suite (this is a very effective
regression test, but B
make snaptest