| Crates.io | owens-ml-parser |
| lib.rs | owens-ml-parser |
| version | 0.0.0 |
| created_at | 2019-08-07 02:11:23.095776+00 |
| updated_at | 2019-08-07 02:11:23.095776+00 |
| description | A lightweight parser for a lightweight markup language. |
| homepage | |
| repository | https://gitlab.com/scOwez/owens-ml-parser |
| max_upload_size | |
| id | 154720 |
| size | 23,773 |
owens-ml-parserThis parser for the owens-ml markup language is a learning project to make a simple library using nom. This "core" parser can then easily be extended to runtimes and bindings in other languages (Python using pyo3 for example) to make a small ecosystem.
NOTE: As it is a learning project, it may not be to the best of quality.
owens-ml design spec: owens-ml specowens-mlowens-ml is an easy-to-parse, generalized (can be used in place of json/yaml/toml/similar), implamented with Rust + the nom library.
Some of the key objectives for owens-ml are described in the bullet-points below:
owens-ml.owens-ml syntax(s) "hello there" (o) {
(s) "woo" (a-i) [
4234,
5,
34
],
(i) 3423 (o) {
(s) "ids" (o) {
(i) 423 (s) "scOwez",
(i) 4234 (s) "gdude",
(i) 234 (s) "bisk",
(s) "username_dynamic" (s) "woo"
}
}
},
(s) "cool_array" (a-s) [
"woo",
"cool",
"awesome",
":)"
]
As you can see, owens-ml is a fiercely statically-typed markup language with a different annotation for every different type. This has a reason: parsing ease.