Erez Sh
3bee21051e
Reverted changes regarding EOF
4 years ago
julienmalard
3fc9733188
Added regex module option.
4 years ago
Erez Sh
dcc98241c1
Improved handling and performance of large grammars
4 years ago
Erez Sh
9cc57abd8a
Added 'cache' option to Lark (Issue #479 )
4 years ago
MegaIng1
1b5ffc0660
Added the ability to use templates as template arguments. Error reporting should still be horrible.
4 years ago
MegaIng1
20a2f690ca
Correct behaviour of aliases for templates (attempt 2)
4 years ago
MegaIng1
2daca647d4
Unified rules and templates
4 years ago
MegaIng1
8bf5da697a
Added test for template imports and implemented them
4 years ago
MegaIng1
0c1c48411d
Added test for recursive templates + implemented them
4 years ago
MegaIng1
ed17512c3a
Corrected & Simplified test
4 years ago
MegaIng1
926c98bd41
Renamed global_flags to g_regex_flags
4 years ago
MegaIng1
732a835b53
Added template tests
4 years ago
MegaIng1
3a97029853
Added global_flags option to Lark (+ test)
4 years ago
Erez Sh
cf7479f186
Post-merge fixed for end_symbol, + two more tests (Issue #237 )
5 years ago
Erez Sh
94dd3646d4
Extend comments in rules tests
5 years ago
Erez Sh
ae691bf35e
Revert propagate_positions to be False by default, still not ready for prime-time
5 years ago
Erez Sh
dcc9d46eef
Fixes to propagate_positions
5 years ago
Erez Sh
e1a39c58d0
Refactored v_args & visitors to a better, more agile implementation
5 years ago
Jussi Laasonen
2de7e34766
Open imported grammars with UTF-8 encoding
5 years ago
Mike Roberts
ed3c131ca8
Allow comments in rule definitions
5 years ago
Erez Shinan
1815bd7fbd
Support for token visitation in internal transformers, as an alternative mechanism for lexer_callbacks
5 years ago
Erez Shinan
84f08a452f
propagate_positions & maybe_placeholders are now true by default, updated docs, tests & examples accordingly (Issue #449 , #451 )
5 years ago
Erez Shinan
54b18e5961
Allow transformers to transform tokens (Issue #389 )
5 years ago
Michael Heyvaert
c00f4448fa
fix custom lexer handling for lalr parser + test
5 years ago
Erez Shinan
c5c763580e
Fixed test for newline detection
5 years ago
Fábio Macêdo Mendes
e8c67839c2
Test if lexer correctly detects newlines
5 years ago
Erez Shinan
e3cbd7aadc
Negative priority now allowed in rules and tokens. Updated docs about priority
5 years ago
Erez Shinan
aa75d50bd5
End symbol working for lalr + fixed validation for undefined %ignore
5 years ago
Erez Shinan
f1e844accd
Mid work. Not promising
5 years ago
Erez Shinan
e79689dce7
Remove unused rules (Issue #384 )
5 years ago
Erez Shinan
a9106df824
Corrected thee Transformer's whole_tree interface, for both internal and external use
5 years ago
Mostafa Razavi
e5868415eb
Implement embedded in-place transformers. See #378 .
As discussed in issue #378 , when an embedded transformer (that is, one
passed to the Lark class using the transformer argument), is an
inplace transformer (either a subclass of Transformer_InPlace, or with
the @v_args(tree=True) decorator), the in-place transformer was not
working correctly and in-fact Lark used it like a normal non-in-place
transformer, expecting it to return the transformed value.
5 years ago
Erez Shinan
c5cb79307b
Fixes for new standalone (Issue #349 )
5 years ago
PJCampi
ccbaebdc6f
load_grammar now collects all imports to make before loading them to namespace
5 years ago
PJCampi
b055bc6399
import_grammar now include base_path in recursive call to load_grammar
5 years ago
PJCampi
4889013404
get_namespace_name now preserves leading underscore on relative import
5 years ago
Erez Shinan
ae51402cc7
Added serializer test
5 years ago
Erez Shinan
e16bb35576
Change maybe_placeholders: Apply to [a] and [a b c], but not a? or (a b)? or [_a _b _c]
6 years ago
Rogdham
2f6b97cfd3
Allow renaming relative import rule
%import .local.foo -> bar
6 years ago
Rogdham
9b22d41e49
Change namespace naming and aliasing for imports
The `.` character is invalid as a group name in regex, replacing by `__`.
The bug arose in `lexer._build_mres`.
6 years ago
Rogdham
0485a8a5b1
Tests for import rename
%import common.NUMBER -> N
%import .local.NUMBER -> N
6 years ago
Erez Shinan
532c955962
Fixed tests to work with pytest, improved docs
6 years ago
Kyungdahm Yun
d5c9006f01
Fix literal range escape assertion
6 years ago
Erez Shinan
6b2df208c2
Fixed support for hex encoding (\xAA)
6 years ago
Kyungdahm Yun
70d724732d
Support hex escape (\xhh) in string literal
6 years ago
Erez Shinan
d2f55fe3ba
BUGFIX: Fixed common.ESCAPED_STRING (Issue #309 )
6 years ago
Erez Shinan
f8486a02b0
Minor cleanup
6 years ago
Erez Shinan
899f69a94b
Temporarily silence test_earley3 and test_earley4 (priority in terminals)
6 years ago
Erez Shinan
688c453456
Corrections
6 years ago
night199uk
80a09697fe
Rebuild the way Earley prioritizes ambiguities
- Makes rule ordering the default ambiguity tie breaker.
E.g.
start: a | b
a: "A"
b: "A"
will return:
start
a
start: b | a
a: "A"
b: "A"
will return
start
b
- Replaces the ambiguity='resolve__antiscore_sum' with a separate option: 'priority'.
The priority option has 4 values: 'auto', 'none', 'normal', 'invert'.
'Auto' maps to 'Normal' for CYK and Earley and 'None' for LALR.
'None' filters your priorities and ignores them. This saves some extra tree walking on Earley.
'Normal' uses your priorities untouched, mimicing the old behaviour.
'Invert' negates your priorities, emulating the old 'resolve__antiscore_sum' behaviour.
This allows you to use priority logic even when ambiguity=='explicit', to get a better idea
of the shape of your tree; and to easily disable priorities without removing them from the
grammar for testing (or performance).
- ambiguity='explicit' now correctly returns an ambiguous tree again, as 0.6 did.
6 years ago