Proof of concept for OSDC 2010: Language for the Python VM
Switch branches/tags
Nothing to show
Pull request Compare This branch is even with thomaslee:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
gtkdemo.vk
helloworld.vk
pygamedemo.vk
viking

README.md

Overview

This is a demonstration of the concepts I discuss in my OSDC 2010 presentation, "Hugging Abstract Syntax Trees: A Pythonic Love Story".

Viking is a programming language compiler front end written in Python for the Python VM. Viking programs can call Python code and vice versa (the latter currently requires the use of the --compile flag).

The language itself resembles Python with curly braces.

Viking has been implemented as a poorly-written recursive descent parser. It is half-baked, unsupported and very, very dirty. Not for production use!

Usage

#
# Run a Viking source file
#
$ ./viking helloworld.vk

#
# Compile a Viking source file to a .pyc,
# then run it using Python.
#
$ ./viking --compile helloworld.vk
$ python helloworld.pyc

#
# Alternatively, you can import compiled
# viking programs in Python.
#
$ python
# ... snip ...
>>> import helloworld
Hello, World!
>>>