Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons.

Parrot Documentation Revision Effort (Blog deux)

All and Everyone:

Parrot's current set of documentation is now up on github. Hopefully, this will aid in the documentation revision effort.

To view the html documents, simply navigate your favorite browser to http://parrot.github.com. To edit the documentation, simply navigate your browser to https://github.com/parrot/parrot.github.com, clone the repo, and make your edits (or provide a pull request).

Thank you.

Alvis

PACT - Disassembler

The first step in generating a packfile is understanding the packfile. So I've been writing a Winxed disassembler. It's pretty fully featured at this point. It's showing constants, annotations, and symbolic instructions. Despite my fears, it turned out that PCC wasn't all that difficult to deal with.

Parrot 3.10.0 "Apple Pi" Released

On behalf of the Parrot team, I'm proud to announce Parrot 3.10.0,
also known as "Apple Pi". Parrot
is a virtual machine aimed at running all dynamic languages.

tags:

Parrot Documentation Revision Effort (Blog un)

Finally! I have managed to find enough time -- in the wee hours of the morning no less -- and a stable current of electricity -- meaning the power company has finished its little poll-replacement project -- to push a new 'documentation_revisions' branch to the parrot repo. This is the branch from which anyone involved with the documentation revision effort will work. Hopefully, that is, if I've gotten everything correct. (I make no pretensions here to knowing or to understanding, well, how git works.

Parrot for Dummies (which means me! :-)

This is just a quick, first blog post to ensure everything is working correctly.

Cheers!

Alvis

Parrot 3.9.0 "Archaeopteryx" Released

On behalf of the Parrot team, I'm proud to announce Parrot 3.9.0 "Archaeopteryx".
Parrot (http://parrot.org/) is a virtual machine aimed at running all dynamic languages.

Parrot 3.9.0 is available on Parrot's FTP site
(ftp://ftp.parrot.org/pub/parrot/releases/supported/3.9.0/), or by following the
download instructions at http://parrot.org/download. For those who would like
to develop on Parrot, or help develop Parrot itself, we recommend using Git to
retrieve the source code to get the latest and best Parrot code.

PACT - Design Notes

TL;DR: https://github.com/parrot/PACT

So after my last blog post, I started a gist to keep track of "how would I write PCT". I called it PACT, the Parrot Alternate Compiler Toolkit. I suppose I could have called it PCT2, but I really don't want to try to claim it will 100% replace PCT. PCT's very valuable to the people using it right now, but there's no small desire to add to it and I'd like to help it be better. Parrot's main audience, to my mind, is prospective compiler writers and the easier we can make their lives the better.

Parrot 3.8.0 "Magrathea" Released

On behalf of the Parrot team, I'm proud to announce Parrot 3.8.0, also known as "Magrathea". Parrot (http://parrot.org/) is a virtual machine aimed at running all dynamic languages.

Parrot 3.8.0 is available on Parrot's FTP site (ftp://ftp.parrot.org/pub/parrot/releases/devel/3.8.0/), or by following the download instructions at http://parrot.org/download. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Git to retrieve the source code to get the latest and best Parrot code.

tags:

GSoC: Wrapping up, and some documentation

The hard "pencils down" date was Monday, so now seems like a good time for a blog post summarizing what I ended up completing.

I have DPDA generation and parsing working for LR(0) and SLR(1) grammars. I have the beginnings of a grammar specification DSL (a grammar, but no actions or tokenizer yet; it's in the dsl branch). I do not have support for LALR(k) grammars or general LR(k) grammars. I have not implemented generating code to parse grammars (as opposed to interpreting the DPDA in order to parse them).

End of GSoC, but not Time to Stop...

I've spent the last few days cleaning up my branch: adding documentation, checking that it passes the code standard tests, and trying compiling Rakudo nom. Don't get too excited, we can't compile nom directly to bytecode. Heck, it can't compile squaak directly yet. But I wanted to make sure that all my tinkering hasn't broken the original PIR generation path.

Syndicate content