This is a sample parser in C# for Tom Preson-Werner's (@mojombo) TOML markup language, using C#'s
The code's not the prettiest, but it successfully parses the sample file.
This sample is based off of commit #8a7c1bf27f of Tom's TOML spec.
This library exposes two methods: the static
Toml.Parse(string) and extension method
Both return a
dynamic (really an
that is the hash produced by parsing the string.
See the TOML spec for clarification on this language.
With the following in
[database] server = "192.168.1.1" ports = [ 8001, 8001, 8002 ] connection_max = 5000 enabled = true
You can access this config like so:
var config = File.ReadAllText("config.toml"); string dbServer = config.database.server; object ports = config.database.ports; int maxConn = config.database.connection_max;
###Note: Arrays have to be implemented as arrays of objects, because per the spec they can contain not only single elements like an int or DateTime, they can also hold other arrays of different types.
- Fix up parser to support streaming