root/misc/STD/README

Revision 20071, 2.3 kB (checked in by putter, 10 months ago)

misc/winter_jig/STD/: New place for STD work which doesn't belong in src/perl6.
misc/winter_jig/STD/STD_deconstructed.pl: sketch of a "deconstruction" of STD.pm - metaprogramming a parser(s) as a backup to STD_red.
misc/winter_jig/STD/README: discussion.

  • Property svn:mime-type set to text/plain; charset=UTF-8
  • Property svn:eol-style set to native
Line 
1
2
3As of 2008-Mar-06, src/perl6/STD.pm is the closest thing we currently
4have for a "real", authoritative grammar for p6.  This directory has
5tools related to it.
6
7* STD_extract
8
9Intended to pull information out of STD.pm.  It took the approach of a
10piece by piece "parse", which makes it bitrot rapidly as STD changes.
11It provided moderately useful information, but focus shifted elsewhere
12before the quality of its output was very high.
13
14* STD_red (elsewhere)
15
16A version of STD.pm hand translated to ruby.  It was intended to be a
17relatively low risk, but high manual effort, attempt to get a usably
18working p6 parser.
19
20* STD_deconstructed
21
22Is the beginning of a fallback strategy.  When it looked like actually
23understandly the contents of STD.pm might prove necessary, rather than
24simply relying on its being correct, a much more analytic approach
25than STD_red was needed.
26
27It takes the information in STD.pm, and organizes it for use by parser
28implementers.  Sync'ing with STD.pm requires extracting any _ideas_
29which have changed, and changing STD_deconstructed.  So unattended,
30STD.pm and STD_deconstructed will tend to diverge.  But "cease to
31function due to bitrot" need not be a problem.
32
33Why not STD_extract?  STD_extract is too fragle in the face of STD.pm
34editing.  Given the role it would have here, keeping it updated isn't
35going to happen.  A less fragile, paragraph and rough sorting match,
36approach to scraping STD.pm, to help keep STD_deconstructed in sync,
37does seem worthwhile.
38
39Motivation for creation (2008-Mar-05): The plan was once to get a
40bootstrap parser from STD_red or rakudo or redsix.  redsix became less
41attractive because of the increased appeal of working with a "real"
42grammar, and because it turned out to require some development effort,
43which as throw away code, it was begrudged.  rakudo turned out to have
44more parsefails than expected, and the hope that if blockers turned
45up, they would get fixed, began to seem questionable.  Leaving just
46STD_red.  So when one of its design assumptions became iffy - that
47STD.pm represented "abstractly" working code, which in so far as it
48had problems, would get fixed, so STD_red could cleave closely to
49STD.pm, without attending to grammar design, and only worry about it's
50own tranlation errors - it seemed worth sketching out what a fallback
51strategy would look like.
Note: See TracBrowser for help on using the browser.