Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyparsing #21

Merged
merged 7 commits into from
Feb 4, 2021
Merged

Pyparsing #21

merged 7 commits into from
Feb 4, 2021

Conversation

Vlek
Copy link
Owner

@Vlek Vlek commented Feb 4, 2021

This concludes the necessary work to merge back to master. All of the old parser functionality is also included in the new one.

Vlek added 7 commits October 25, 2020 14:50
including fixing the dependencies via poetry.
roll module should be usable completely outside of the idea of a click
CLI script. This allows that to happen!

Starting to work on figuring out PyParse. In order to do this, I started
creating railroad diagrams for the parsing. This should hopefully make
my time going forward much easier.
Things are going well toward redoing the parser and moving
from parsley to pyparser. However, there are some edge
cases currently that are not going well, namely going back
and forth between the different order of operations.

There are also some errors that we're not throwing like
we used to. Things like "9." are getting parsed by the
new parser. Either we have to change our expectations or
change how the code interprets numbers, both int and floats.
Fixed the issue with order of operations so that all of the math
works as expected. Now there are only a handful of issues left
to address with the most pressing being the issue with dice
in the notation: "d20" without an explicit number of dice.
There are only two that aren't passing: The verbose output check and
an error that should be raised parsing "9.".

There are other things that are broken as well that we do not have
tests for currently, such as ".0" as well as "--3" with a unary
operator on a negative number.
Using the packrat option has greatly increased the speed of the code.
However, in researching, I have found that I have a recursive grammar
issue with the dice notation that needs to be addressed to increase
the speed further.
This concludes all of the necessary work to move back to the
master branch as we now perform all base functionality with
the new parser.
@Vlek Vlek added the enhancement New feature or request label Feb 4, 2021
@Vlek Vlek added this to the 2.0 milestone Feb 4, 2021
@Vlek Vlek self-assigned this Feb 4, 2021
@Vlek Vlek merged commit a38d957 into master Feb 4, 2021
@Vlek Vlek deleted the pyparsing branch February 4, 2021 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant