Compare commits
3 Commits
returning_
...
parser_com
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc87f8cd90 | ||
|
|
a0955e07dc | ||
|
|
afcb10bb72 |
5
Cargo.lock
generated
5
Cargo.lock
generated
@@ -461,6 +461,10 @@ dependencies = [
|
||||
"autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "partis"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "phf"
|
||||
version = "0.7.24"
|
||||
@@ -739,6 +743,7 @@ name = "schala"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"includedir_codegen 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"partis 0.1.0",
|
||||
"schala-lang 0.1.0",
|
||||
"schala-repl 0.1.0",
|
||||
]
|
||||
|
||||
@@ -7,6 +7,7 @@ authors = ["greg <greg.shuflin@protonmail.com>"]
|
||||
|
||||
schala-repl = { path = "schala-repl" }
|
||||
schala-lang = { path = "schala-lang/language" }
|
||||
partis = { path="partis" }
|
||||
# maaru-lang = { path = "maaru" }
|
||||
# rukka-lang = { path = "rukka" }
|
||||
# robo-lang = { path = "robo" }
|
||||
|
||||
3
TODO.md
3
TODO.md
@@ -16,6 +16,9 @@
|
||||
}
|
||||
```
|
||||
|
||||
-idea: what if there was something like React jsx syntas built in? i.e. a way to automatically transform some kind of markup
|
||||
into a function call, cf. `<h1 prop="arg">` -> h1(prop=arg)
|
||||
|
||||
## General code cleanup
|
||||
- I think I can restructure the parser to get rid of most instances of expect!, at least at the beginning of a rule
|
||||
DONE -experiment with storing metadata via ItemIds on AST nodes (cf. https://rust-lang.github.io/rustc-guide/hir.html, https://github.com/rust-lang/rust/blob/master/src/librustc/hir/mod.rs )
|
||||
|
||||
9
partis/Cargo.toml
Normal file
9
partis/Cargo.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "partis"
|
||||
version = "0.1.0"
|
||||
authors = ["greg <greg.shuflin@protonmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
17
partis/src/lib.rs
Normal file
17
partis/src/lib.rs
Normal file
@@ -0,0 +1,17 @@
|
||||
struct ParseError { }
|
||||
|
||||
enum ParseResult<'a, T> {
|
||||
Success(T, &'a str),
|
||||
Failure(ParseError),
|
||||
Incomplete,
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[test]
|
||||
fn it_works() {
|
||||
assert_eq!(2 + 2, 4);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
#![feature(trace_macros)]
|
||||
#![feature(custom_attribute)]
|
||||
//#![feature(unrestricted_attribute_tokens)]
|
||||
#![feature(slice_patterns, box_patterns, box_syntax)]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user