Skip to content

alexnask/sky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published