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
9daacb9082
Refactored transformers, better code
6 years ago
Erez Shinan
55e9d56792
Missed those at merge
6 years ago
Erez Shinan
2b4ef11ebf
Columns now start at 1
6 years ago
Erez Shinan
7b32ffd83a
Fixed token visibility rules (Issue #109 )
Anonymous tokens would become visible if they had the same value as named tokens.
That's because they are merged for the lexer. But after this change, the rules for
visibility are based on their use in the rule, and not their name or identity.
6 years ago
Erez Shinan
33caa391d5
Breaking backwards compatibility:
* Removed the scanless parsing feature (dynamic lexing is king)
* Default LALR lexer is now contextual
6 years ago
Erez Shinan
0f0776c0fa
BUGIX in lexer: Embedding strings overwrote priority (Issue #121 )
6 years ago
Ramon Klass
1854b81ebc
interpreter: default behavior changed to return the values instead of discarding them, added test showcasing the behavior
6 years ago
Ramon Klass
f5550b3040
Implemented a new visitor class (Interpreter) that works top-down (PR #130 )
It emulates antlr's visitor behavior for a dynamic evaluation order of subtrees
6 years ago
Erez Shinan
c3bce19dc2
More steps towards a good solution
6 years ago
Erez Shinan
f69bceb335
Snap more things into place
6 years ago
Erez Shinan
f960c1b8ac
Initial: Added transformers.py, and Meta to tree
6 years ago
Erez Shinan
4f2330fc9b
Fixed bug in Earley prioritization
6 years ago
Erez Shinan
25c3c51b1c
Fixed bug in Earley: A tree builder optimization clashed with explicit ambiguity
6 years ago
Erez Shinan
255ef0d973
Added error message for the alias syntax in terminals (Issue #97 )
7 years ago
Erez Shinan
eba4a604cb
Added tests for standalone generator
7 years ago
Erez Shinan
6578742c06
BUGFIX: Undefined symbols (Issue #87 )
7 years ago
Erez Shinan
7d11dfa5cd
FEATURE: Added support for ranged-repeat for rules and terminals (Issues #75 , #19 )
Syntax: symbol~number
| symbol~min..max
Example:
HEXCOLOR: "#" (HEXDIGIT~3 | HEXDIGIT~6)
short_sentence: word~4..20
Added range for tokens
7 years ago
Erez Shinan
22e525f53e
Fixed propagate positions. Added lexer_callbacks option.
7 years ago
Erez Shinan
748e9b7248
All relevant tests passing. Also indentation and other refactoring.
7 years ago
Erez Shinan
d173d6d66b
Validate against zero-width terminals in XEarley (Issue #63 )
7 years ago
Erez Shinan
5fd331be54
BUGFIX: Internally repetitive rules are now handled silently (Issue #60 )
7 years ago
Erez Shinan
38c5fd244a
Improved grammar validation and refactored the lexers
7 years ago
Erez Shinan
2d04acf227
Version 0.5.0 is out with lots of improvements
7 years ago
Erez Shinan
209ac5ab4e
BUGFIX: Mishandling of quotes (Issue #50 )
7 years ago
Erez Shinan
dcb7297c30
Flags are now part of the terminal identity
7 years ago
Erez Shinan
6f85ca4294
%ignore bug fixed in xearley (thanks to issue #44 )
7 years ago
Erez Shinan
34449651bf
Added UnexpectedInput exception (with line & column) to xearley (Issue #43 )
7 years ago
Erez Shinan
08a8a747b8
Fixed escaping for all tests
7 years ago
Erez Shinan
593446d025
Improved Readme
7 years ago
Erez Shinan
27fb1889cf
Added test
7 years ago
Erez Shinan
816266a5eb
BUGFIX for issue #24 : Dynamic Earley mishandled %ignore tokens
7 years ago
Erez Shinan
692307f683
Added the fruitflies test. Found bug in scanless reconstruction of tokens
7 years ago
Erez Shinan
e8810e3b80
Fixed some deprecation warnings due to changes in Py3.6 regexps
7 years ago
Erez Shinan
baae08e399
Fixed tree-construction semantics: Alias now overrides the "?rule" operator
Breaking change!!
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
Kaspar Emanuel
e05c62ca06
Add test for nearley include of unicode
7 years ago
Kaspar Emanuel
b491138d9a
Make nearley tool main testable and test it
7 years ago
Kaspar Emanuel
25399b4a21
Add tests for utf8 with nearley
7 years ago
Erez Shinan
b532bf4e3c
Fixed test
7 years ago
Erez Shinan
19a9c9c206
Towards an introspectable tree-builder. Also added tests.
7 years ago
Kaspar Emanuel
ed04b22c4c
Fix UTF-8 test
7 years ago
Kaspar Emanuel
7d21c754a1
Add test for UTF-8 characters in grammar
7 years ago
Kaspar Emanuel
15c0ef1570
Switch nearley submodule to original repo
7 years ago
Kaspar Emanuel
ceae390650
Add test for multi-include
7 years ago
Kaspar Emanuel
1bf1c1f0f9
Remove unused import
7 years ago