Skip to content
This repository was archived by the owner on Oct 18, 2023. It is now read-only.

Commit c71af09

Browse files
committed
Merge branch 'v0.1-beta' into 'main'
Release: v0.1-beta! 🥳 See merge request mech-lang/syntax!27
2 parents 5a01622 + 2161bb1 commit c71af09

23 files changed

+5073
-715
lines changed

.gitlab-ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ test:cargo:
66
- rustup show
77
- rustc --version && cargo --version
88
- rustup component add rust-src
9-
- cargo test --all
9+
- cargo test --all --release

Cargo.toml

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[package]
22
name = "mech-syntax"
3-
version = "0.0.5"
3+
version = "0.1.0"
44
authors = ["Corey Montella <[email protected]>"]
55
description = "A toolchain for compiling textual syntax into Mech blocks."
66
documentation = "http://docs.mech-lang.org"
7-
homepage = "http://mech-lang.org"
7+
homepage = "https://mech-lang.org"
88
repository = "https://github.com/mech-lang/syntax"
99
keywords = ["mech", "language", "programming", "parser", "compiler"]
1010
categories = ["no-std", "science::robotics", "science", "parser-implementations"]
@@ -19,16 +19,20 @@ maintenance = { status = "actively-developed" }
1919
[features]
2020
default = []
2121
no-std = ["mech-core/no-std", "rlibc"]
22+
lang-server = ["tower-lsp", "tokio"]
2223

2324
[dependencies]
24-
mech-core = {git = "https://gitlab.com/mech-lang/core", branch = "v0.1-beta"}
25+
mech-core = "0.1"
2526

26-
hashbrown = "0.12.3"
27+
hashbrown = "0.13.1"
2728
lazy_static = "1.4.0"
28-
nom = "7.1.1"
29+
nom = "7.1.2"
2930
nom-unicode = "0.3.0"
30-
unicode-segmentation = "1.9.0"
31+
unicode-segmentation = "1.10.0"
3132
rlibc = { version = "=1.0", optional = true }
32-
serde = "1.0.144"
33-
serde_derive = "1.0.144"
34-
colored = "2"
33+
serde = "1.0.152"
34+
serde_derive = "1.0.152"
35+
colored = "2.0.0"
36+
37+
tower-lsp = {version = "0.17.0", optional = true}
38+
tokio = { version = "1.23.0", features = ["full"], optional = true }

README.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
<p align="center">
2-
<img width="500px" src="http://mech-lang.org/img/logo.png">
2+
<img width="400px" src="https://mech-lang.org/img/logo.png">
33
</p>
44

5-
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 project.
5+
Mech is a language for developing **data-driven**, **reactive** systems like robots, games, and animations. It makes **composing**, **transforming**, and **distributing** data easy, allowing you to focus on the essential complexity of your project.
66

7-
You can try Mech online at [try.mech-lang.org](http://try.mech-lang.org).
7+
You can try Mech online at [https://mech-lang.org/try](https://mech-lang.org/try).
88

9-
Usage and installation instructions can be found in the [documentation](http://mech-lang.org/page/learn/) or the [main Mech repository](https://github.com/mech-lang/mech).
9+
Usage and installation instructions can be found in the [documentation](https://mech-lang.org/#/docs/index.mec) or the [main Mech repository](https://github.com/mech-lang/mech).
1010

11-
Read about progress on our [blog](http://mech-lang.org/blog/), and follow us on Twitter [@MechLang](https://twitter.com/MechLang).
11+
Be sure to follow on our [blog](https://mech-lang.org/blog/)([RSS](https://mech-lang.org/feed.xml))!
1212

13-
# Mech Syntax
13+
# Syntax
1414

15-
A toolchain for compiling textual syntax into Mech blocks.
15+
A toolchain for compiling textual Mech source code.
1616

1717
## Contents
1818

19-
- **lexer** - defines a `Token`, which represents a character class.
20-
- **parser** - converts text into a parse tree, with tokens as leaves.
21-
- **compiler** - converts a parse tree to a syntax tree. Also handles converting a syntax tree to block constraints.
22-
- **formatter** - converts a parse tree into formatted text.
19+
- **parser** - converts text into a parse tree.
20+
- **ast** - converts parse tree into abstract syntax tree.
21+
- **compiler** - converts abstract syntax tree into blocks.
22+
- **formatter** - converts a parse tree into text.
2323

24-
This branch also contains various editor modes that enable syntax highlighting in popular IDEs. Modes are available for:
24+
This branch also contains various editor modes that implement the language server protocol. Modes are available for:
2525

26-
- VS Code
26+
- [VS Code](https://marketplace.visualstudio.com/items?itemName=Mech.Mech)
27+
- EMACS (Coming soon...)
28+
- VIM (Coming soon...)
2729

28-
## Project Status
30+
## Project Status
2931

30-
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.
31-
32-
Feel free to use the language for your own satisfaction, but please don't use it for anything important.
32+
Mech is currently in the **beta** stage of development. This means that the language is at a suitable stage for a wider audience. While most language feature implementations are started, none are finished, and some new features may, while others could be removed. Backwards and forwards compatibility of Mech programs is not guaranteed at this time.
3333

3434
## License
3535

benches/compiler.rs

-71
This file was deleted.

editor-modes/vscode/.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.vscode
3+
out

editor-modes/vscode/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Mech Mode for Visual Studio Code
22

3-
Find out more at http://mech-lang.org
3+
Find out more at https://mech-lang.org
44

55
## Installation
66

5.8 KB
Loading

0 commit comments

Comments
 (0)