The GRPH programming language is designed for animating shapes in a procedural way.
The first implementation was in Java, then it has been ported to Swift, and has finally been refactored in a modular way, with a brand new multiple-phase compiler.
To see the shapes animate, check out the app, which adds SwiftUI bindings to the runtime, to make an iOS + macOS app out of it.
The CLI and LSP server have both been tested and they work on macOS, Linux and Windows.
The compiler depends on Swift and LLVMSwift.
- GRPHLexer: First phase of the compiler, transforms source code into a concrete syntax tree (lexed tokens)
 - GRPHGenerator: Second phase of the compiler, transforms the CST into an AST (Instructions & Expressions)
 - GRPHValues: Common types used in GRPH: contains instructions, expressions, namespaces, functions, methods, types, properties, variables, value types, shapes, etc.
 - GRPHRuntime: The runtime, implementing the standard library in Swift, and an interpreted runtime
 - DocGen: The documentation generator, linking symbols to their doc comments. Also parses doc comment keywords and emits deprecation & invalid doc comment warnings
 - CLI: The command line compiler and runner. It wraps the other modules into a simple command line tool to run programs headlessly.
 - LSP: The language server for GRPH, compatible with all IDEs implementing LSP (VSCode, emacs, etc). It provides semantic highlighting, documentation on hover, jump to definition, document highlight, outlines, and color preview.
 - IRGen: (wip) New optional phase of the compiler, transforms Instructions into LLVM IR, to replace the interpreted runtime. It uses a native standard library (which must be installed too).
 
You can check out the samples made for Graphism Java. Some will work, some won't.