update build module name
update to zig 0.12
feat: add ability to parse StringArrayHashMaps and strings into ArrayLists
An implementation and slight extension of the ZZZ data format. The goal is to fully implement ZZZ with an addition of indented multiline strings. See the ZZZ README for full details on the data format.
zig build test
See the example for how to use this library.
You can run the example with:
zig run examples/simple.zig --pkg-begin zx4 src/main.zig --pkg-end
zzz text describes a tree of strings. Special characters (and spaces) are used to go up and down the tree. The tree has an implicit empty root node.
grandparent:parent:child:grandchild
Output:
null -> "grandparent" -> "parent" -> "child" -> "grandchild"
sibling1,sibling2,sibling3
Output:
null -> "sibling1"
-> "sibling2"
-> "sibling3"
parent:child;anotherparent
Output:
null -> "parent" -> "child"
-> "anotherparent"
parent:child
anotherparent
Output:
null -> "parent" -> "child"
-> "anotherparent"
parent:child
sibling
Output:
null -> "parent" -> "child"
-> "sibling"
parent:child
sibling
Output:
Error!
parent
child
sibling
Output:
null -> "parent" -> "child"
-> "sibling"
parent: child: grand child ;
Output:
null -> "parent" -> "child" -> "grand child"
"parent":[[ child ]]:[==[grand child]=]]==]:'great grand child'
Output:
null -> "parent" -> " child " -> "grand child]=]" -> "great grand child"
[[
some text]]
Output:
null -> "some text"
"\n\t\r"
Output:
null -> "\n\t\r"
# A comment
a node
# Another comment
a child
Output:
null -> "a node" -> "a child"
a node: """
123""""
Output:
null -> "a node" -> "123"