rouler 0.2.2

A container-like system for generating dice rolls
Documentation
number = @{ "-"? ~ ("0" | '1'..'9' ~ '0'..'9'*) }

op = _{ plus | minus | times | slash }
  plus = { "+" }
  minus = { "-" }
  times = { "*" }
  slash = { "/" }

dice = _{ number ~ (roll ~ number) }
  roll = { "d" | "D" }
custom_dice = { number ~ roll ~ sides }
  sides = _{ "[" ~ number ~ ("," ~ number )* ~ "]" }

expr = { term ~ (op ~ term)* }
  term = _{ custom_dice | dice | number | "(" ~ expr ~ ")" }

calc = _{ soi ~ expr ~ eoi }

whitespace = _{ " " }