Cannon Macro Language version 0.2.0 released

Here is a new concept of a domain specifye langage to control shooting game sequences. You can try it here.


Squash Monster said...

Writing code in CannonML feels a lot more intuitive to me than writing it in BulletML. Are there plans on either writing a converter from CannonML to BulletML or making some form of library so others can use CannonML in their projects?

keim said...

>Are there plans on either writing a converter from CannonML to BulletML
Yse, I have a plan about this. But, its impossible to express some CannonML commands in BulletML. So, It will be only a limited one.
Now I already implement a tentative converter from BulletML to CannonML. You can use it on the work bench by writing BulletML in the text box directly.

>making some form of library so others can use CannonML in their projects?
Yes, I prepare a library to use CannonML on ActionScript3. I will open it in a few days. And I also have a plan to create a library on D-Language in the future.

henzenmann said...

Hi keim!

I noticed that the Solid Image site has been gone for some weeks now...

Are there any plans to restore it?

I'm working on a C++ CannonML interpreter, and I miss the workbench which I use as a reference implementation to test my progress :)

keim said...

Hello henzenmann, and thank you for your notice. Now my site is available. Im just lazy to pay the charge...
And in near future, I plan to move my site to another address.

By the way, Im realy interested in your CannonML C++ interpreter !! Please inform me when you complete the work.

henzenmann said...

Thanks for restoring your site!

Some notes about my interpreter:

- Tokenizer is implemented using re2c
- Parser is implemented using lemon
- Parser is about 80% done
- Parser currently does not allow "{...}", must be "@{...}" (otherwise grammar is ambiguous for sequence and execution statement)
- Nested labels are currently not supported ("#A{#B{...}}")
- Parser needs some cleaning up, better error handling/messages

The "virtual machine" part (fibers, control flow, object allocation) is about 70% done, but still subject to changes and optimization.

I have now started working on object motion. Overall I would say that my interpreter is about 50% finished.

It may take another couple of months before it is really useful. I plan to open a project site with source code soon :-)

henzenmann said...

I actually went ahead and just created a project at Gitorious :)

keim said...

>otherwise grammar is ambiguous
ahh... exactly true. Sequence calls without any commands is also ambiguous.

Arcade Fever said...

Hi keim! I know its been awhile since this was released, but wanted to say CML 2.0 is brilliant!

One quick question, why was setDestructionFiber method removed from v2.0? I noticed its still mentioned in your 2.0 documentation, but not implemented in your latest checked in CMLObject class.

Any plans to continue working on this library?

-Dave K.