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
0077366255
Earley now ignores infinite recursion
6 years ago
Erez Shinan
0935543280
Fix issue with propagate_positions
6 years ago
Erez Shinan
74fc559ea5
Reconstructor fixes
6 years ago
Erez Shinan
383db31183
Fix in Earley forest for non-string tokens.
6 years ago
Erez Shinan
63e1ea0226
Merge branch 'earley_sppf' (Oct 18)
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
Erez Shinan
4a51ebc3d3
Merge pull request #243 from evandrocoan/pydot_tree_orientation
Allow to passing "rankdir" to lark/tree.py:pydot__tree_to_png
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
5f68299cd0
Merge pull request #241 from dsd/master
docs: clarify end_column value
6 years ago
Daniel Drake
01cfe322a1
docs: clarify end_column value
I interpreted "the column where the token ends" to mean "a pointer
to the last character in the token", which would be the same as
the start column for a single-character token.
However, that's not what lark actually reports. Reword to clarify
this.
https://github.com/lark-parser/lark/issues/240
6 years ago
Erez Shinan
a6c84e610e
Update README.md
6 years ago
Erez Shinan
9d360734f3
Tiny fix for docs
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
943c1e6b2c
More to .gitignore
6 years ago
Erez Shinan
c16e0ca832
Merge pull request #239 from evandrocoan/add_gitignore
Added missing binary files to .gitignore
6 years ago
evandrocoan
f0ce6a21ac
Added missing binary files to .gitignore
# Conflicts:
# .gitignore
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
Erez Shinan
064b79cc40
Merge pull request #235 from ealter/patch-2
Typo in documentation
6 years ago
Erez Shinan
860bf17843
Merge pull request #234 from ealter/patch-1
Fix a small typo
6 years ago
Erez Shinan
a2b1d100d2
Merge pull request #232 from evandrocoan/patch-1
Fix Lark class docstring
6 years ago
Eliot Alter
ece8e0db09
Fix a small typo
6 years ago
Eliot Alter
dc1754f8eb
Fix a small typo
6 years ago
evandrocoan
6fc2f5a6ba
Fix #231
6 years ago
Erez Shinan
04db90b72e
Update README.md
6 years ago
Erez Shinan
fb80869533
Point to readthedocs instead of wiki
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
c3a338b8dd
Added the 'tartiflette' project to the readme
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