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.
Submitted by tcurtis on Tue, 08/09/2011 - 19:29
I'm far behind on my project, unfortunately, and, upon dukeleto's urging, I've written up a new timeline that I think I will be able to finish before Summer of Code ends.
First, I'll summarize what I have done:
- An object representation for grammars
- An object representation for deterministic push-down automata(DPDAs)
- Generation of DPDAs for LR(0) grammars
- The beginnings of an interpreter for DPDAs
And what I haven't done:
- Actually producing a parse tree while parsing
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 NotFound on Sun, 08/07/2011 - 14:52
With the recent addition of the as_string method to UnManagedStruct and Ptr PMCs (see my last post) and the get_pointer vtable in ByteBuffer now is easier to pass and get strings from NCI (parrot Native Calll Interface).
To pass a string to a NCI 'p' parameter you just need to create a ByteBuffer and set the string to it, maybe after trans_encoding it, and add the zero-termination required in most usages by pushing a 0 value. ByteBuffer takes care of memory management.
Submitted by soh_cah_toa on Sat, 08/06/2011 - 04:14
A long time ago in a galaxy far, far away...
It is a period of binary war. Rebel hackers, striking from a hidden base in New Jersey have won their first victory against the evil IMCC Empire.
Submitted by NotFound on Sun, 07/31/2011 - 20:18
The last refactor of the NCI subsystem got rid of the 't' type used to pass C strings. This gives us more flexibility but doesn't solve all problems.
Take for example Mysql: we can specify the character set used for the connection with the database, and sometimes we can't use the current locale. We may want to read a table that contains unicode characters out of the range compatible with latin-1 without loses, while using latin-1 locale.
Submitted by soh_cah_toa on Thu, 07/28/2011 - 23:37
This past week was admittedly dull. I've reached a bit a road block and this time it's blocking the way forwards, backwards, left, and right.
Submitted by bubaflub on Sun, 07/24/2011 - 19:46
My coding has been put on hold this week as I move across town and deal with some shenanigans from the landlord. The good news is that my wife and I should be able to move into our new house on Tuesday or Wednesday - the bad news is that I am currently internet-less until then. I've been working on updating the tutorial which doesn't require any internet access, just time. By this time next week I hope to complete the tutorial, have some more examples, and begin trying to get some examples in NQP or even on Rakudo.
Submitted by jkeenan on Sun, 07/24/2011 - 14:02
The release quotation contest is over. We received four submissions, each of which was correct. In order of receipt, they were from:
- Ville Koskinen
- Lucas Buchala
- Daniel S.
- Javier M. Mora
Each of the four submissions appears to have met the do-not-use-the-Internet condition for researching the answer. In fact, each of the four appear to have gotten the answer the old-fashioned way:
They remembered it!
Submitted by tcurtis on Thu, 07/21/2011 - 23:01
We're halfway through the summer, now. I have not made nearly as much progress as I had previously hoped. Partly this is due to the difficulty of the problem, and partl\
y it is because I have not spent enough time on it. I think I'm currently at a point where I'm only a few mostly simple transformations away from producing a Determinis\
tic Push-Down Automaton which will be capable of parsing a LR(0) grammar. Whether implementing those last few mostly simple transformations will show this belief to be \
correct or not, I won't know until I do so.
Here are my next few goals:
Submitted by lucian on Thu, 07/21/2011 - 19:07
I've been doing a lot less work than I had planned to. It's mostly my own fault, but such is life.
Basically, I ran out of money. Uni ended late, GSoC started early and the GSoC midterm was late this year. I had to borrow some and get a temporary full-time job for a couple of weeks. Now I have a part-time job (2 days a week), and I have the rest of the time free for GSoC work.
But not all is lost! Here's some puffins to make us all feel better:
|
|
|
|