alexnask / sky

The sky language reference implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The sky language

Sky is an imperative C family language with some functional features, inluding first class functions, closure and variant types.
It's purpose is not to be used in production.
Sky is a toy language created for me to practise writing a whole compiler, including a hand written parser, solid semantic analysis, hopefully some optimizations and a x64 backend.

In the cpp folder, you will find the sky compiler reference implementation, which is (obviously) written in C++.
At the moment, the compiler only features a lexer generated by re2c and an almost feature complete hand written parser, as well as a DOT file dumper.
From the DOT file, Graphviz can be used to generate an image of the AST.

Features

Namespaces, templated types and functions, operator overloading, defer blocks, if-else expression, exec block expression.
Types declarations can be structures, aliases or variants (which are oversets of enums).

About

The sky language reference implementation.


Languages

Language:C++ 99.5%Language:Shell 0.5%