[% setvar title A parser is a many-layered thing %]

This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit http://www.perl6.org/

TITLE

A parser is a many-layered thing

VERSION

  Maintainer: Simon Cozens <simon@brecon.co.uk>
  Date: 25 Sep 2000
  Mailing List: perl6-internals@perl.org
  Number: 314
  Version: 1
  Status: Developing

ABSTRACT

The Perl 6 parser will be made up of a C core, a bytecode layer hooking into that, and a user-defined layer looking into that.

DESCRIPTION

There's been discussion about how to make Perl 6's parser fast, easy to write, extensible, and, of course, cool.

The winning suggestion so far about how to do this would be to implement a near-complete parser in C. This would power miniperl's replacement, which should be able to parse enough of the less esoteric features of Perl 6 to read in and compile a set of extensions to the parser written in Perl, covering the more esoteric stuff. This byte-compiled parser would be compiled into the full perl interpreter along with the C core. It's expected that over time, the Perl layer should be converted to C.

This should give you the full syntax of Perl 6; naturally, we now need to allow hard-core lunatics to extend that. We do this by providing hooks from the compiled layer, allowing people to write Perl, C or whatever other extension code to hook into this.

[ Fill in more details here as the parsing process firms up ]

IMPLEMENTATION

Trivial, I believe.

REFERENCES

<5.0.0.25.0.20000919122948.01d08410@24.8.96.48> and <20000915185828.B7802@deep-dark-truthful-mirror.perlhacker.org>

RFC ??: use syntax