benabik's blog
Submitted by benabik on Wed, 11/16/2011 - 22:38.
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.
Submitted by benabik on Wed, 10/05/2011 - 21:14.
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.
Submitted by benabik on Mon, 08/22/2011 - 05:26.
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.
Submitted by benabik on Sat, 08/20/2011 - 18:48.
While I didn't implement everything I thought I would, there is now a basic framework for bytecode generation in the nqp_pct branch. I'm uncertain if it should be merged... While the bytecode generation doesn't fully work, it doesn't interfere with the existing usage of PCT and does have the nice feature that PAST::Compiler is now written in NQP for ease of hacking. I'll leave that up to the rest of the community to decide. The rest of this blog post is the contents of docs/pct/bytecode.pod, which I hope will be helpful if anyone want to explore what I've been working on all summer.
Submitted by benabik on Mon, 08/08/2011 - 20:19.
*tap, tap, tap* Is this thing on? It is? Drat, I had hoped it wasn't and I'd have something to blame for the long silence.
Due to the issues I'm about to describe, my old schedule is a little off. The important schedule note is that the official "pencils down" date is August 15th, aka next week. Current plan is to power through as much as I can in the next few days. At this point, I doubt that my branch will be merged into master before the end of GSoC, but I do intend to keep working on it.
The core of my problem is in this line from my last blog post:
Submitted by benabik on Sun, 07/10/2011 - 17:56.
I want to talk about what I need to do over the next couple weeks, and in order to do that, I'm going to start with a description of the system I'm working on. This was originally a much longer post, but I accidentally overwrote my first draft with something else. This is probably good since the first one read more like a reference manual.
Submitted by benabik on Sun, 07/03/2011 - 02:15.
So, when I was making my schedule, I didn't know about YAPC. But I made plans, grabbed a friend, and went. Met lots of cool people. But I just now got home from a 16 hour drive so both the blog post about YAPC and the blog post about PAST, POST, and newPOST will have to be delayed until after I catch up on some missing sleep.
Submitted by benabik on Tue, 06/21/2011 - 21:03.
I've lost more time to the bog that is removing Q:PIR blocks. I keep triggering odd little bugs and only have the most complicated bits left. There are 7 Q:PIR blocks, of which 3 are to handle the multiple return values from post_children(). On bacek's advice, I'm going to just not worry about the last few bits. I'd really like to get rid of them by the end of summer, but at this point it's blocking forward progress.
Also, my pool has a pile of problems. It's green and the pump is broken and and and... I'm sure very few people care, but the repeated trips to the pool store are eating up far more time than I had intended.
Submitted by benabik on Tue, 06/14/2011 - 20:02.
My work this week was slightly complicated by pmichaud changing PCT in master. Turns out that tracking changes in a method I already converted is harder than converting it in the first place. However, since NQP and Rakudo are already using the enhancements, I thought it valuable to merge them quickly. I'm mostly done, just hunting down some sneaky bugs.
Submitted by benabik on Tue, 06/07/2011 - 19:19.
This has been a bit of an eventful week outside of GSoC. I had another housemate move in, so I'm surrounded by boxes and keep getting asked to move this or fix something around the house. But progress has been made:
June 6 PAST::Node in NQP: Conversion of PAST::Node and it's seven subclasses into full NQP code.
|
|
|
|