Current section
Files
Jump to
Current section
Files
README.md
Zucchini - An Erlang INI parser
===============================
## Example
```erl-sh
1> zucchini:parse_string("
1> [pumpkin]
1> variety = winter
1> name = Pumpkin ; mmm, pumpkin pie
1> fortune = \"Pumpkin carving = Awesome\"
1> weight = 3.3
1> amount = 2
1>
1> [yellow] ; It's just called Yellow!
1> variety = summer
1> name = Yellow Squash
1> weight = 0.3
1> amount = 3
1> ").
{ok,[{<<"pumpkin">>,[{<<"variety">>,<<"winter">>},
{<<"name">>,<<"Pumpkin">>},
{<<"fortune">>,<<"Pumpkin carving = Awesome">>},
{<<"weight">>,3.3},
{<<"amount">>,2}]},
{<<"yellow">>,[{<<"variety">>,<<"summer">>},
{<<"name">>,<<"Yellow Squash">>},
{<<"weight">>,0.3},
{<<"amount">>,3}]}]}
```
## Static Analysis (Prisma `.pplt`)
Starting with version `0.1.2`, the Hex package ships a pre-built [Prisma](https://prisma.altenwald.com/) Persistent Lookup Table (`zucchini_0.1.2.pplt`) covering all `zucchini` modules (`zucchini`, `zucchini_lexer`, and `zucchini_parser`).
When `zucchini` is used as a dependency in a project checked with `rebar3 prisma` or `mix prisma`, Prisma automatically loads the shipped `.pplt` file from the package root instead of re-analyzing the BEAM modules from scratch.
To rebuild the `.pplt` file locally after modifying `zucchini`:
```sh
rebar3 prisma build
```
See the [zucchini case study & benchmark](https://prisma.altenwald.com/blog/zucchini/) for more details.