-
Notifications
You must be signed in to change notification settings - Fork 52
This is the CoCo Virtual Machine Source Code.
License
kentdlee/CoCo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Welcome to CoCo =============== Welcome to the source code for the CoCo Virtual Machine. CoCo is an implementation of the Python Virtual Machine in C++. CoCo is an object-oriented implementation of the Python 3.2 virtual machine. Documentation for writing programs for CoCo can be found on the web at http://cs.luther.edu/~leekent/CoCo There are a few differences in this implementation from the standard Python Virtual Machine. Modules are not currently supported. Every CoCo program must have a main function since execution starts at the main function. There are no global variables in CoCo. There are several extensions of CoCo that support functional programming languages like Lisp-like lists, a print function that returns an instance of itself, and a print that takes a tuple as its argument. CoCo supports exceptions and exception handling, nested functions, looping, and symbolic target names for branches and jumps. The Python programming language was named after Monty Python, a comedy troupe from the UK that has passed the test of time. CoCo was named after the coconut carried by two African Sparrows in Monty Python and the Holy Grail. Additionally, my first computer back in 1980 was a Radio Shack TRS-80 Color Computer, affectionately nicknamed CoCo. The original CoCo had a Motorola 6809 processor and my first assembly language program was written for this processor, which was NOT a virtual machine. Like the 6809 assembly language that I learned back in 1980, the CoCo VM assembly language is a worthwhile language to learn. Virtual machines have become very popular as embedded systems have proliferated everywhere. I hope you enjoy learning to use it and extending it! -- Kent D. Lee Compiling CoCo ============== CoCo can be built for your platform if you have a C++ compiler and the automake tools installed on your computer. The zip file can be downloaded from Git Hub if you have not already done so. Alternatively, you can use git to create a branch of the project. To unzip the file, type unzip CoCo.zip Then, execute cd CoCo ./configure make If anything goes wrong or you add additional source files to the project, you can execute the rebuild script. However, you should be certain that you have the automake tools installed on your system in this case. In particular, the autoreconf program is used in rebuilding the project. Running the rebuild script will tell you what you need to install on most Linux distributions. To rebuild run ./rebuild ./configure make Running CoCo ============ The coco binary can be installed wherever you like, preferably in your path someplace. You can also download a binary from the website listed above for Mac OS X, Linux, or Microsoft Windows platforms. To run coco simply type coco file.casm The file.casm is a file that you provide with a CoCo program in it. A casm is a CoCo assembly language program and must be in the format described at http://cs.luther.edu/~leekent/CoCo There must be a main function in the casm file where CoCo will begin executing the Python Virtual Machine instructions. Good luck and have fun writing CoCo programs!
About
This is the CoCo Virtual Machine Source Code.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published