Giter Club home page Giter Club logo

supernova's Introduction

=begin pod

=TITLE SUPERNOVA, The New Pod 6 Parser

=AUTHOR Faye N. (ShimmerFairy) and others

=for SYNOPSIS
A development effort to produce a better Pod 6 parser for rakudo, focusing on
bringing in greater definition of the "AST" of Pod6, more complete feature
support, a cleaner and more readable collection of code, and whatever else is
neede.

=head1 How to Use

You'll need C<Grammar::Parsefail> from the ecosystem, which provides a version
of the error reporting in Rakudo's core grammar that makes it easier to program
in a "going to core" mindset.

=head1 How to Contribute

The only thing to keep in mind is that we're programming this in a "pseudo-core"
fashion, that is using NQP features where possible/feasible, but still
ultimately coding in Perl 6 for easier access to the lexical environement the
parser would usually have available.

(In other words, we're not coding the Grammar and such in NQP because it seems
like it'd be too annoying to get access to Perl 6 stuff in an isolated project
like this.)

Make use of things like C<$*W> to do what you I<would> be using the C<World> for
in the real rakudo source. There are various C<shim-> functions to do unboxing
and boxing that wouldn't be necessary in NQP land.

If you write or find some code that'll have to be changed when the code is
eventually moved to rakudo's source, please mark it with a C<# TOCORE>
comment. This'll help in rewriting more stuff before the code starts going
through the try it/fix it cycle, which in rakudo can drag on quite a bit. These
comments will hopefully cut down on the length of that cycle.

See the other C<.pod6> files for more to-do and development info.

=end pod

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.