A Java scripting language -- Leola

Awesome. Definitely awesome.

For me, the graphics on the space invaders clone is flashing crazily and I heard no sound. Obviously there seem to be some bugs. Do you have any idea what’s going on?

The sound is currently disabled – there is a memory leak that I haven’t fixed yet.

As for the flashing, I have not encountered that. Does it just seem like it is rendering very slow?

You should enter Ludum Dare 26 with Leola, mention you created the language, give a link to the download in a “im in” post, and make a good game to show it off for the event, you may get a bit bigger community supporting it.

That does sound like a great idea. Alas, with two kids I doubt I would ever get the time. As it is, I’m lucky to get ~5 hours a week to code on my personal projects.

Ludum dare sounds like so much fun though.

Try and scavenge those extra minutes over the 48 hours or even the 72 hour jam, even if the game is not great or hardly fits the theme, put it up, just mention you did not have the time, and you were able to produce this in x amount of time.

If not post up on the website anyway, mention the language, someone may like it and start following its progress, maybe even enter the next LD with it.

The best time to post is a few hours before the compo starts (everyone is browsing the site, no-one’s really posting) or when things calm down again after the compo.

C:\Users\EmirRhouni\Documents\Leola\Leola>java -jar leola.jar "spaceinvaders/spaceInvaders.leola"
Exception in thread "main" java.lang.NullPointerException
        at leola.vm.Leola.main(Leola.java:130)

Tried running Space Invaders, got this error
Anyway, looks neat!

Try this out:


java -jar leola.jar "./live.leola" "./spaceinvaders/spaceInvaders.leola"

The NPE is from not finding the necessary libraries from not loading the “live.leola” file.

Try this out:


java -jar leola.jar "./live.leola" "./spaceinvaders/spaceInvaders.leola"

The NPE is from not finding the necessary libraries from not loading the “live.leola” file.

Hey, newera32,

before the view-counter/guest-counter in this thread shoot’s up rapidly out of no-reason,
I think I should tell you that I posted a link to this thread in the english minecraft forum in a very well visited thread.

Little question here:
Is it possible to save the bytecode that the leola-vm uses to the harddrive?
And is it also possible to execute bytecode from the harddrive?

  • Longor1996

Hey, newera32,

before the view-counter/guest-counter in this thread shoot’s up rapidly out of no-reason,
I think I should tell you that I posted a link to this thread in the english minecraft forum in a very well visited thread.

Little question here:
Is it possible to save the bytecode that the leola-vm uses to the harddrive?
And is it also possible to execute bytecode from the harddrive?

  • Longor1996

I don’t think that there is any bytecode

And what is this then?

  • Longor1996

I don’t think that there is any bytecode

And what is this then?

  • Longor1996

seems as if you can get your “bytecode” object serialised if you use the “b” option.

edit:
ok I took a quick look seems as if he created indead an own bytecode, makes me wonder why not directly translate to java bytecode and the n load with a classloader

seems as if you can get your “bytecode” object serialised if you use the “b” option.

edit:
ok I took a quick look seems as if he created indead an own bytecode, makes me wonder why not directly translate to java bytecode and the n load with a classloader

Yup, there is bytecode. Leola is currently a VM on top of a VM.

Danny02 you are right, it would be more optimal to translate to JVM bytecode. However, that was not the goal of this project. My goal was to learn about languages, compilers and virtual machines.

Longor1996,

You can translate to bytecode via the ‘b’ option as Danny02 mentioned. This will compile the source file(s) into the bytecode. You can then run the compiled files directly as so:


java -jar leola.jar b "./test.leola"
java -jar leola.jar "./test.leolac"

Yup, there is bytecode. Leola is currently a VM on top of a VM.

Danny02 you are right, it would be more optimal to translate to JVM bytecode. However, that was not the goal of this project. My goal was to learn about languages, compilers and virtual machines.

Longor1996,

You can translate to bytecode via the ‘b’ option as Danny02 mentioned. This will compile the source file(s) into the bytecode. You can then run the compiled files directly as so:


java -jar leola.jar b "./test.leola"
java -jar leola.jar "./test.leolac"