Skip to content

heysokam/slate

Repository files navigation

*Slate | StoS Compiler helper tools

*Slate is a Source-to-Source compiler helper library for converting code into other languages.

Slate.Zig

TODO

Slate.Nim

The tools provided can be used to convert the Nim AST into any language.

How to use

TODO: Example showcase of the API
See the MinC Compiler implementation for a reference of how *Slate is used.

StoS Compiler -vs- Nim Backend Compiler

# Source-to-Source:
The target language owns the rules. All of them.
Conceptually, it's not running nim. It's running the target language.
The target language dictates how things should be written and structured.
The StoS compiler converts the syntax so that the target compiler understands them.
But in the end its the target language that dictates the rules of how the logic of an application is written.

# Nim Backend:
The backend does not run the target language, it runs Nim as a concept.
The target language is just the host that communicates to the computer how to run nim features.
But in the end its nim, not the target language, who dictates how the logic of an application is written
The backend compiler translates every feature of nim so that the backend lang understands what Nim is dictating it should do.