Skip to content

jrng/juls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

This is an educational programming language implementation. Do not expect anything robust, fast or something you could use in production.

Juls

Juls is a programming language plus compiler. The goal of this project is to learn more about programming languages, compilers and other surrounding tools. That means that most parts of the compiler are implemented from scratch and kept very simple.

The compiler is implemented in C99 and dependencies are kept to a minimum to ease porting to different platforms.

Currently the compiler supports generating code and binary files for Aarch64 and x86_64 on Android, Linux and macOS. Windows support is planned.

Hello World

#import "print";

main :: ()
{
    print("Hello World!\n");
}

How to build

Juls uses c_make as its build system. The following commands should get you going. For more details see https://github.com/jrng/c_make.

Linux, macOS, Android

$ cc -o c_make c_make.c  # only needs to happen once
$ ./c_make setup build
$ ./c_make build build

Windows

$ cl -Fec_make.exe c_make.c  # only needs to happen once
$ c_make setup build
$ c_make build build

References

Syscalls

x86-64

ARM

PE

ELF

Mach-O

About

Statically typed programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages