Hi! I was thinking about building a dice roll “interpreter” with a variation of the grammar you can see here. I’m not sure what are my options are… I heard about NimbleParsec and erlang leex but I’m a bit confused on how to use those to achieve what I want.
I was thinking about starting with basic operations like +, -, *, / and (, ) for grouping expressions. In the end, it’s kind of a calculator with extra-steps
.
Any advice for me?
That page isn’t exactly small, can you summarize which part of it exactly do you have in mind?
Hi @dimitarvp!
Thanks for the heads up…
I didn’t mean the whole thing, it was just an example
.
I want to start with basic dice notation, for example:
NdN
NdN + N; NdN - N; NdN * N; NdN / N
NdN + NdN; NdN - NdN; NdN * NdN; NdN / NdN
((NdN) * 2) + NdN
And so on… “Basic” operations include only: +; -; *; / and (; ) for grouping expressions.
The order is not important, so something like N + NdN or 2 * 2 + (NdN + 3) should still be parsed.
I intend to expand it after with other modifiers, but first I need to wrap my head around it.
There’s another page that seems to be a little bit more concise on the topic here.
Thanks @axelson this will certainly be useful
.
NimbleParsec’s syntax seemed a little daunting to me at first, it’s good to have more real world examples.