Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

pmichaud (6013)

  (email not shown publicly)

Patrick Michaud is the pumpking for the Rakudo Perl 6 compiler. He holds a Ph.D. in Computer Science and was formerly a Professor of Computer Science at Texas A&M University-Corpus Christi. He is currently a software developer and consultant focused on open source development and applications, including Perl, PmWiki, and Linux.

Journal of pmichaud (6013)

Tuesday November 27, 2007
01:56 AM

'abc' now written in nqp

[ #34985 ]

Well, after a long and very fruitful day of hacking, the 'abc' compiler in Parrot is now written mostly in PGE and NQP, with all tests passing.

'abc' is an implementation of a basic calculator (like the unix bc(1) command) for Parrot. While abc does support a lot of bc features, the primary purpose of abc is to serve as a simple example and tutorial of using the various Parrot toolkits to build compilers for Parrot.

Previously abc was written using a mixture of tools using a variety of languages. After today's efforts abc is now written with only
* a Perl 6 grammar (src/,
* some NQP code to build an ast from the parse tree (src/
* the Parrot Compiler Toolkit library (PCT)
* and some PIR for setup and builtin functions (abc.pir, src/builtins.pir)

In other words, the bulk of the code for the abc compiler is written in Perl 6.

With this we've been able to basically prove the workability of NQP and the Parrot Compiler Toolkit, and the next step is to start redesigning the perl6 compiler to use the same approach.

I also need to add a lot of documentation to the abc source files, to make it clearer as to what is happening at each step. But I think that will have to wait for me to get some sleep first.


The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.