5 releases

Uses old Rust 2015

0.0.5 May 6, 2020
0.0.4 Apr 4, 2020
0.0.3 Oct 30, 2019
0.0.2 Jun 12, 2019
0.0.1 Mar 20, 2019

#17 in Robotics

42 downloads per month
Used in 4 crates

Apache-2.0

145KB
3.5K SLoC

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

Dependencies

~2.5MB
~52K SLoC