Erez Shinan
222df5bab4
New Feature: Added maybe_placeholders option (Issue #285 )
6 years ago
Erez Shinan
76e185a36c
Added the Forest interface for explicit ambiguity
6 years ago
night199uk
04d90fa916
Implement Joop Leo's optimizations for right recursion performance
6 years ago
night199uk
637f121109
Cleanup unused Derivation
6 years ago
night199uk
8fa8ac36fc
Remove Earley Column
We can replace Earley Columns with basic python sets
for improved performance and simplicity.
6 years ago
night199uk
8415fa26a3
Add a pydot visualizer for the SPPF.
6 years ago
night199uk
bb22c84df3
Speed up repetitive parsing using the same parser
When using the same parser repeatedly for small parsers we incur
significant overhead by recreating the ForestVisitor each parser.
We can cache the Forest walker and re-use it by making it stateless.
Also, we can use slots for all of the Forest Walkers to reduce
construction delay and function call overhead.
6 years ago
Erez Shinan
6290b1647d
Lark now works under Python -OO (Issue #283 )
6 years ago
Erez Shinan
5c68bf677a
Implement eq/hash for Rule (Issue #278 )
6 years ago
Erez Shinan
c172653ea6
Fix issue with propagate_positions
6 years ago
Erez Shinan
b2489e13e2
A few fixes (tests + interface)
6 years ago
Erez Shinan
0935543280
Fix issue with propagate_positions
6 years ago
Erez Shinan
74fc559ea5
Reconstructor fixes
6 years ago
Erez Shinan
149f7cec1f
BUGFIX: Importing the same grammar twice could lead to unexpected behavior (Issue #268 )
6 years ago
Erez Shinan
383db31183
Fix in Earley forest for non-string tokens.
6 years ago
Jan Rydzewski
3ef84318b1
Removed unused imports and variables
6 years ago
Alexey Shrub
f604b73a3c
Tree walk tests
6 years ago
Alexey Shrub
1cdc7a0e88
Fix Python 2 error with return from generator
6 years ago
Alexey Shrub
2ad06a24bd
Method iter_subtrees_topdown added
6 years ago
Erez Shinan
1798971455
Adjustments
6 years ago
Erez Shinan
a892f184e3
Fix LALR shift/reduce warnings when debug=True (Issue #258 )
6 years ago
Erez Shinan
3c1c867b5f
Fixed commit 216c341
(Issue #246 , #249 )
6 years ago
Erez Shinan
38a4a5de4e
Version bump
6 years ago
Erez Shinan
216c341b06
Fixed v_args handling of staticmethod and classmethod (Issue #246 , #249 )
6 years ago
Erez Shinan
0881fe122f
Updated mention of GPL for standalone tool (Issue #247 )
6 years ago
Erez Shinan
6c8ba76b79
Fixed a deep bug in grammar analysis involving empty rules (Issue #250 )
6 years ago
night199uk
d7a6b01d8a
Ensure that Exceptions with Unicode content display correctly
6 years ago
night199uk
1d5fd7301a
Heavy modifications to the Earley parser to try and make it handle more
types of ambiguity.
- Rewritten along the lines of Elizabeth Scott's parser.
https://www.sciencedirect.com/science/article/pii/S1571066108001497
- Implement SPPF trees per Elizabeth Scott and Bram van der Sanden's work.
http://www.bramvandersanden.com/post/2014/06/shared-packed-parse-forest/
6 years ago
night199uk
067ade56d9
Fix propagate positions
6 years ago
evandrocoan
d8c9e1b5e1
Fixed SyntaxError: positional argument follows keyword argument on
lark/tree.py
6 years ago
evandrocoan
91a5a5dfcb
Allow to pass to lark/tree.py pydot__tree_to_png the pydot tree
shaping. For example, passing "TB" instead of "LR" makes the tree
to be draw vertically instead of horizontally.
https://stackoverflow.com/questions/29003465/pydot-graphviz-how-to-order-horizontally-nodes-in-a-cluster-while-the-rest-of-t
6 years ago
Erez Shinan
106508dcce
Tiny improvement to the LALR parser
6 years ago
Erez Shinan
21bbf9b970
Experimental support for importing rules
6 years ago
Erez Shinan
19b09438fa
Added documentation for lexer_callbacks in recipes
6 years ago
Erez Shinan
48a781fcf2
Bugfix for propagate_positions
6 years ago
Erez Shinan
8ee9b4cfcb
Refactored lexer + tiny bugfix
6 years ago
evandrocoan
6fc2f5a6ba
Fix #231
6 years ago
Erez Shinan
c85098e090
Small refactoring in standalone
6 years ago
Erez Shinan
f048bfb870
Refactoring around terminals / tokens
6 years ago
Erez Shinan
519b07ceca
Tiny refactor
6 years ago
Erez Shinan
4487bf65c1
EOF token now gets proper line/column number (Issue #228 )
6 years ago
Erez Shinan
720372a386
Standalone parser now uses contextual lexer instead of traditional one (Issue #212 )
It should be easy to allow the user to choose between them, but perhaps unnecessary, as the one and only benefit of the traditional parser is a tiny performance advantage.
6 years ago
Erez Shinan
bd7e331ad7
Slightly better error message (UnexpectedToken)
6 years ago
Erez Shinan
53a66132ba
Added visitors & transformers to standalone (Issue #223 )
6 years ago
Erez Shinan
ce75758f76
BUGFIX: Automatic terminal names didn't respect existing terminals(Issue #224 )
6 years ago
Erez Shinan
9ce8a79dc0
Misleading error message at unexpected EOF (Issue #220 )
6 years ago
Erez Shinan
37cfe5c9f3
BUGFIX: Standalone parser didn't retain filter_out values for terminals (Issue #222 )
6 years ago
Erez Shinan
242ac24ea6
Fixed the propagate_positions implementation, and added start_pos/end_pos attributes to Tree.Meta
Related to issue #216
6 years ago
Erez Shinan
843da8e809
Fixed bugs in the standalone generator (Issue #212 )
6 years ago
Erez Shinan
1c1b364de8
Version bump
6 years ago