All --

Has anyone else out there tinkered with Jako examples? I'd like to
see examples or example ideas/sketches. I'd especially like to see
examples showing something you think jakoc should understand, but
doesn't.

Things I know I need to work on:

  * Get the math ops, etc. working as built-ins.

  * Subroutines (once I've seen a pasm example and Parrot can run
    it) -- although some trickery would be possible if the
    assembler allowed label arithmetic.

  * Some day jakoc will need a real grammar and a real parser. I've
    Parse::RecDescent a bit, so I'd consider using it again.

  * Something with PMC registers, as soon as Parrot is ready.

  * for loops

  * else and elsif

  * unless and until

  * ARGV and ENVP processing once someone decides how to pass
    them in to code. If we had entry points and calling conventions
    nailed, and at least ARRAYs implemented, then we could say
    that they are passed in analogous to the way they are for
    main() in a C program. Upon running a program, the 'main'
    entry point is called as a subroutine, or if there isn't one,
    then the first instruction in the bytecode is executed, but
    still with the registers set up according to the calling
    conventions.

  * Real I/O once we have I/O ops.

I'm thinking of Jako as being a Perl-ish language, but with a few
twists of its own, and limited so that it stays a medium-level
language.

I'd like to think of ways to write new Parrot ops in Jako. This
would require Parrot to have ops that allow some called code to
get the opcode and args from the custom op call, and then to
twiddle registers in the caller's register file, but since it
is Parrot code itself, it needs access to its own register file.
Perhaps the registers are saved upon calling the custom op, and
we have Parrot ops to reach into the saved register file to do
loads and saves there?

I'd like to think of ways to use Jako as the glue between some
C code that implements a new op and the Parrot interpreter.



Regards,

-- Gregor
 _____________________________________________________________________ 
/     perl -e 'srand(-2091643526); print chr rand 90 for (0..4)'      \

   Gregor N. Purdy                          [EMAIL PROTECTED]
   Focus Research, Inc.                http://www.focusresearch.com/
   8080 Beckett Center Drive #203                   513-860-3570 vox
   West Chester, OH 45069                           513-860-3579 fax
\_____________________________________________________________________/

Reply via email to