Erez Shinan
eba99662c4
Bug in pretty printing of Earley derivations (issue #210 )
6 years ago
Erez Shinan
5c6df8e825
Moved and restructured exceptions
* All exceptions are now under exceptions.py
* UnexpectedInput is now superclass of UnexpectedToken and UnexpectedCharacters,
all of which support the get_context() and match_examples() methods.
6 years ago
Erez Shinan
6d76a4ce8d
visitor_args -> v_args
6 years ago
Erez Shinan
6bfc27c11d
New transformers near completion
Nearley tool still needs fixing
6 years ago
Erez Shinan
4864a1cf4d
More work
6 years ago
Erez Shinan
5e546f38a9
args decorators actually work now
6 years ago
Erez Shinan
cf7ddeee88
Earley working too
6 years ago
Erez Shinan
c3bce19dc2
More steps towards a good solution
6 years ago
Erez Shinan
349a607ae3
Some more normalizing
6 years ago
Erez Shinan
b951b5f79c
Significant reduction in memory consumption (Saving only parse-table instead of analysis instance)
6 years ago
Erez Shinan
327cca8c00
Added 'considered_rules' to exceptions, to help users debug
7 years ago
Erez Shinan
07f45a0bd3
Style fixes
7 years ago
Erez Shinan
b90b0a215f
Fixed reconstruct (Issue #72 )
7 years ago
Erez Shinan
3d8b8b4725
A few more adaptations
7 years ago
Ehud Tamir
7c253b9372
Merge CYK parser.
7 years ago
Erez Shinan
39e58cb8fd
Post-refactor cleanup
7 years ago
Erez Shinan
1cc4c965e8
Big Refactor: Grammars now build in half the time. Code shorter & cleaner.
7 years ago
Erez Shinan
5748920df4
BUGFIX in xearley + Feature: earley__predict_all
7 years ago
Erez Shinan
e77433f19a
Superficial improvement to Earley
7 years ago
Erez Shinan
34449651bf
Added UnexpectedInput exception (with line & column) to xearley (Issue #43 )
7 years ago
Erez Shinan
eea569fa3a
Tiny fix
7 years ago
Erez Shinan
0155d3d956
A few more fixes
7 years ago
Erez Shinan
93302d7ceb
Important optimization for fix
7 years ago
Erez Shinan
c93140386d
BUGFIX: The Earley parser collected repeating derivations, and filtered them out much later than needed. This resulted in very long lists and many unnecessary comparisons.
7 years ago
Erez Shinan
551482898c
Fix for earley__all_derivations = False
7 years ago
Erez Shinan
035eea234f
BUGFIX: Tree comparison in Earley wasn't hashed, which caused a huge spike in run-time for some cases.
7 years ago
Erez Shinan
063c7fbdab
Tiny fix for Python3
7 years ago
Erez Shinan
aede340449
Added earley__all_derivations due to performance concerns
7 years ago
Erez Shinan
d9b490f322
Refactoring for ambiguity resolution
7 years ago
Erez Shinan
07fcc26422
Bugfix #21 : Can now handle recursive ambiguity while still defending against infinite recursion
7 years ago
Erez Shinan
4e89084336
Oops
7 years ago
Erez Shinan
121d54ec3a
Fix for priority in Earley
7 years ago
Erez Shinan
5c4c320c26
Small fixes
7 years ago
Erez Shinan
dda0719375
Post-merge cleanup
7 years ago
Erez Shinan
4eec924403
Added prioritization to Earley. Use rule.1 etc. Highest priority will be selected in case of ambiguity.
7 years ago
Erez Shinan
70fa3c6ea9
Tiny fix for issue #14
Version bump
7 years ago
Erez Shinan
48efa6500a
Improvements to the Earley parser ambiguity resolution
7 years ago
Erez Shinan
686e796a62
Small improvements to Earley
7 years ago
Erez Shinan
32cbf1eb19
Improvements to the Earley parser code
7 years ago
Erez Shinan
f374e70b2c
Feature: Added explicit ambiguity option for Earley
7 years ago
Erez Shinan
1685f94ea3
BUGFIX: Solved an elusive bug in Earley parser, when empty rules repeat in the same column
8 years ago
Erez Shinan
00811a7c16
Don't construct a list of tokens, to reduce memory footprint
8 years ago
Erez Shinan
24f86569da
Fixed issue #3 (infinite recursion in grammar)
8 years ago
Erez Shinan
a73cc9ad90
Re-wrote the Earley parser to use a parse-forest
It now knows how to resolve ambiguity! And in a memory-efficient way!
8 years ago
Erez Shinan
616dc9f300
Added stuff to README
8 years ago
Erez Shinan
29718a9a3a
Bugfix in scanless
8 years ago
Erez Shinan
5c115acbd9
Final fixes for scanless (hopefully)
8 years ago
Erez Shinan
302dad36fe
Dramatically improved memory consumption of Earley parser
I no longer keep the entire table, only the relevant columns.
I let Python handle garbage collection for me.
8 years ago
Erez Shinan
a60c339ff7
Scanless Earley now working for all tests!
8 years ago
Erez Shinan
8e7395c6d6
Improved earley.py and added some comments to both parsers
8 years ago