Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benches
editor-modes/vscode
src
tests
.gitignore
.gitlab-ci.yml
Cargo.toml
LICENSE
README.md
grammar.md

README.md

Mech is a language for developing data-driven, reactive systems like animations, games, and robots. It makes composing, transforming, and distributing data easy, allowing you to focus on the essential complexity of your problem.

You can try Mech online at try.mech-lang.org.

Usage and installation instructions can be found in the documentation or the main Mech repository.

Read about progress on our blog, follow us on Twitter @MechLang, get live help on our Gitter channel, or join the mailing list.

Mech Syntax

A toolchain for compiling textual syntax into Mech blocks.

Contents

  • lexer - defines a Token, which represents a character class.
  • parser - converts text into a parse tree, with tokens as leaves.
  • compiler - converts a parse tree to a syntax tree. Also handles converting a syntax tree to block constraints.
  • formatter - converts a parse tree into formatted text.

This branch also contains various editor modes that enable syntax highlighting in popular IDEs. Modes are available for:

  • VS Code

Project Status

Mech is currently in the alpha stage of development. This means that while some features work and are tested, programs are still likely to crash and produce incorrect results. We've implemented some language features, but many are not yet implemented.

Feel free to use the language for your own satisfaction, but please don't use it for anything important.

License

Apache 2.0

You can’t perform that action at this time.