projectmoon
b7ccd4e7ad
Refactor dice amount parser to reusable parsers.
...
This follows the example in the Combine documentation to use impl
trait return types so we can isolate the parsers into their own
functions.
2021-02-03 23:27:14 +00:00
projectmoon
9a5a18268c
Parsing huge numbers are now errors, not variables.
...
Fixed the dice amount parsing code to propagate a parsing result
through the parser, while properly handling string to i32 conversion.
We now only attempt to convert to i32 if all characters in the
expression are numeric.
This commit also refactors the dice parsing by moving most of the
parsing closures into separate functions, which makes the parsing
function itself more readable. Some variable names were also changed,
for further clarity.
Fixes #21 .
2021-02-03 23:23:03 +00:00
projectmoon
66f9bc6013
Move original dice rolling code into its own 'basic' module.
...
This gives it parity with the other systems: cofd and cthulhu. More
refactoring and a rewrite later as we trend towards more
system-specific implementations.
2020-11-04 20:46:25 +00:00
projectmoon
d2642d1fd3
Less verbose errors from internal dice parsing errors.
2020-11-04 20:33:30 +00:00
projectmoon
08b0e58193
Implement parsing of Cthulhu dice, only basic for now.
...
Does not understand anything besides single numbers at the moment.
2020-10-31 20:51:17 +00:00
projectmoon
c290393ddf
Centralize common parsing code.
...
Needed for further development of different systems that rely on these
kind of expressions, and lays groundwork for future changes.
2020-10-31 20:51:17 +00:00
projectmoon
8803b83ddb
Remove useless trim function and unnecessary uses of eat_whitespace.
2020-08-31 20:16:43 +00:00
projectmoon
1f5c6d7553
Actually only trim the start and end of the string.
...
Be careful what you find on Stack Overflow, kids.
2020-08-31 00:05:40 +00:00
projectmoon
8484e9ffde
Allow extraneous whitespace at the end of command input.
2020-08-30 21:45:42 +00:00
Taylor C. Richberger
e7458c12ad
cargo fix and fmt
2020-04-21 00:09:43 -06:00
Taylor C. Richberger
649aec531e
implement command parser fully
2020-04-21 00:07:03 -06:00
Taylor C. Richberger
90ae9c142c
lay command groundwork. Maybe need to make parsing more ergonomic.
2020-04-20 21:15:13 -06:00
Taylor C. Richberger
a9e1ccbf2e
restructure into dice module
2020-04-20 11:19:50 -06:00
Taylor C. Richberger
9121497d17
fmt
2020-04-20 10:02:26 -06:00
Taylor C. Richberger
1ce4b54417
Make sure all parsers are complete
2020-04-20 09:19:24 -06:00
Taylor C. Richberger
56de3d34f1
write out nom-based parser
2020-04-20 00:32:57 -06:00