Skip to content

traplol/demiurge-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

demiurge-lang

The Demiurge Programming Language Compiler

demiurge  (ˈdemēˌərj) 

— n
1.	a. (in the philosophy of Plato) the creator of the universe
 	b. (in Gnostic and some other philosophies) the creator of the universe, 
 	    supernatural but subordinate to the Supreme Being

This project is a parser/frontend for a simple programming language with LLVM as the backend.

I started this project during the summer of 2014 and had a lot of fun designing and implementing this simple programming language. This is mostly an educational project that I have decided to port to *nix rather than work only within my defunct Visual Studio workspace. There are still probably lots of bugs within this project and it shouldn't be taken too seriously, but I do plan to continue playing with it and implementing features in TODO.md. Originally, this project used LLVM 3.4 and I have started work on bringing it up to LLVM 3.6.2 and might keep it updated with future releases of LLVM.

Dependencies

Install

Download the LLVM 3.6.2 Source code and run:

$ tar -xJf llvm-3.6.2.src.tar.xz
$ cd llvm-3.6.2.src
$ ./configure
$ # this will take a while and root may be required if installing to /usr
$ make && make install prefix=INSTALL_DIR 
$ # if installed somewhere other than `/usr' then add INSTALL_DIR/ to your path so `llvm-config'
$ # may resolve paths.
$ cd DEMIURGE_LANG_PATH
$ make
$ cd bin
$ ./demi -c ../examples/tests/complex-boolean.demi

About

The Demiurge programming language compiler.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages