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
Giuliano Oliveira
1f0b1e7520
added visit_topdown methods to Visitor classes
5 years ago
Erez Sh
f3714a572f
Now prints a nice warning instead of failing tests when js2py isn't installed
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
def1d2931c
Fixed partials (Issue #398 )
5 years ago
Erez Shinan
59f3a5707b
Fixed partials (Issue #398 )
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
68cee8aa6e
Cleaned up a test
5 years ago
Erez Sh
3fbac825a8
Added to tests: Make sure the standalone parser is reusable
6 years ago
Erez Shinan
505c46e9ba
Cleaned up a test
5 years ago
Erez Sh
be2e860c83
Added to tests: Make sure the standalone parser is reusable
6 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
a798dec779
Fix to new serializer code (Discussed in issue #349 )
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
5ab12b031c
Added transformer, postlex arguments to standalone
5 years ago
Erez Shinan
ae51402cc7
Added serializer test
5 years ago
Erez Shinan
475312c608
Bugfix in tools.nearley: Added support for null keyword (Issue #342 )
6 years ago
Erez Shinan
20329e0bf5
Bugfix in tools.nearley: Backslash now handled correctly in strings (Issue #341 )
6 years ago
Peter Dolak
b89b003cdb
Fix v_args when used on classes with non-callable members
6 years ago
Erez Shinan
2b3fabd01c
Fixed Discard, broken in 0.6.6 (Issue #337 )
6 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
night199uk
72118eaf8c
Disable some debug that crept in
6 years ago
evandrocoan
48351c3d3e
Trimmed whitespaces and ensured a new line on the end of the file
6 years ago