diff options
author | Aleksey Kladov <[email protected]> | 2018-01-27 21:34:16 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-01-27 21:34:16 +0000 |
commit | ffe545cc37b9d4b1c45171575a6cc3128fa346e5 (patch) | |
tree | ac8dd8bd38c8a6441b3eb7cdcc624cc84af128ba | |
parent | a4880ca03e76f09e85bea1441360edde40f4157c (diff) |
Brush up CONTRIBUTING.md
-rw-r--r-- | CONTRIBUTING.md (renamed from docs/CONTRIBUTING.md) | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/docs/CONTRIBUTING.md b/CONTRIBUTING.md index 5ae2e830e..570a26c51 100644 --- a/docs/CONTRIBUTING.md +++ b/CONTRIBUTING.md | |||
@@ -1,32 +1,39 @@ | |||
1 | The project is in its early stages: contributions are welcome and | 1 | The project is in its early stages: contributions are welcome and |
2 | would be **very** helpful, but the project is not *yet* optimized for | 2 | would be **very** helpful, but the project is not *yet* optimized for |
3 | contributors. Moreover, it is doubly experimental, so there's no | 3 | contribution. Moreover, it is doubly experimental, so there's no |
4 | guarantee that any work here would reach production. That said, here | 4 | guarantee that any work here would reach production. That said, here |
5 | are some arias where contributions would be **especially** welcome: | 5 | are some areas where contributions would be **especially** welcome: |
6 | 6 | ||
7 | 7 | ||
8 | * Designing internal data structures: RFC only outlines the | 8 | * Designing internal data structures: RFC only outlines the |
9 | constraints, it's an open question how to satisfy them in the | 9 | constraints, it's an open question how to satisfy them in the |
10 | optimal way. See `ARCHITECTURE.md` for current design questions. | 10 | optimal way. See `ARCHITECTURE.md` for current design questions. |
11 | 11 | ||
12 | * Porting libsyntax parser to libsyntax2: currently libsyntax2 parses | 12 | * Porting libsyntax parser to libsyntax2: currently libsyntax2 parses |
13 | only a tiny subset of Rust. This should be fixed by porting parsing | 13 | only a tiny subset of Rust. This should be fixed by porting parsing |
14 | functions from libsyntax one by one. | 14 | functions from libsyntax one by one. Take a look at the |
15 | 15 | [libsyntax parser](https://github.com/rust-lang/rust/blob/6b99adeb11313197f409b4f7c4083c2ceca8a4fe/src/libsyntax/parse/parser.rs) | |
16 | for "what to port" and at the | ||
17 | [Kotlin parser](https://github.com/JetBrains/kotlin/blob/4d951de616b20feca92f3e9cc9679b2de9e65195/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java) | ||
18 | for "how to port". | ||
19 | |||
16 | * Writing validators: by design, libsyntax2 is very lax about the | 20 | * Writing validators: by design, libsyntax2 is very lax about the |
17 | input. For example, the lexer happily accepts unclosed strings. The | 21 | input. For example, the lexer happily accepts unclosed strings. The |
18 | idea is that there should be a higher level visitor, which walks the | 22 | idea is that there should be a higher level visitor, which walks the |
19 | syntax tree after parsing and produces all the warnings. Alas, | 23 | syntax tree after parsing and produces all the warnings. Alas, |
20 | there's no such visitor yet :( Would you like to write one? :) | 24 | there's no such visitor yet :( Would you like to write one? :) |
21 | 25 | ||
22 | * Creating tests: it would be tremendously helpful to read each of | 26 | * Creating tests: it would be tremendously helpful to read each of |
23 | libsyntax and libsyntax2 parser functions and crate a small separate | 27 | libsyntax and libsyntax2 parser functions and crate a small separate |
24 | test cases to cover each and every edge case. | 28 | test cases to cover each and every edge case. |
25 | 29 | ||
26 | * Building stuff with libsyntax2: it would be really cool to compile | 30 | * Building stuff with libsyntax2: it would be really cool to compile |
27 | libsyntax2 to WASM and add *client side* syntax validation to rust | 31 | libsyntax2 to WASM and add *client side* syntax validation to rust |
28 | playground! | 32 | playground! |
29 | 33 | ||
30 | 34 | ||
31 | Do take a look at the issue tracker, and try to read other docs in | 35 | Do take a look at the issue tracker, and try to read other docs in |
32 | this folder. | 36 | the [./docs] folder! |
37 | |||
38 | If you don't know where to start, or have *any* questions or suggestions, | ||
39 | don't hesitate to chat at [Gitter](https://gitter.im/libsyntax2/Lobby)! | ||