Parser Overview

About 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.

Planned ecosystem


Markup Language Spec Overview

About owens-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:

Example owens-ml syntax

json (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.