owens-ml-parser
This 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-ml
owens-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
syntaxjson
(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.