summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add support for LR parsingleft_recursion_supportMax Fischer2021-07-305-23/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * first draft of LR parsing * removed debug output * cache is owned and cleared by ParserElement * bounded recursion must be enabled explicitly * packrat rejects recursion * basic LR unit test * tests for associativity and nesting * added math example * fixed test typo * unittest for empty and non-peg clauses * LR-Forward can match Empty * fixed test typos * added base case to unittest * memo cache only provides copies * flattened Forward parse method * added high-level description of algorithm * expanded docstring * added tests for repetition rules * renamed bounded to left recursion * naive test for existing suite * explicitly testing tests for LR compatibility * LR memo no longer mixes action/no-action results * simplified replacement logic * adjusted example with ambiguous failure case * LR memo content is always returned as copy * draft for peeking recursion * memo update consistent for all actions * fixed a bug for non-string token identifiers * action wins against no-action * cleanup * properly setting names in tests * memoization can be turned off * testing memo switches * typos * flattened recursion memo * left recursion memo size may be limited * adjusted docs for recursion cache
* Remove old language stating that parseString returns "a list of matched ↵ptmcg2021-05-142-4/+35
| | | | strings", and clarify use of the returned ParseResults
* Fix misc. documentation typos (#280)luzpaz2021-05-1415-40/+40
| | | Found via `codespell -q 3 -L ba,fourty,halp,inout,strng`
* Remove setuptools import fallback to distutils.core (distutils.core use not ↵ptmcg2021-04-131-4/+1
| | | | recommended)
* #261 - fix table name in sql2dot.py exampleptmcg2021-04-132-2/+5
|
* #271 - remove comparison with bytes in ParseResults._null_valuesptmcg2021-04-132-1/+8
|
* Update README.rst (#269)TheOneMusic2021-04-111-10/+9
|
* Update core.py (#259)retsyo2021-01-031-1/+1
| | | since `pip install railroad` installs anthor package, I think it is better to point out the corrected one.
* Update whats_new_in_3_0_0.rst (#258)retsyo2021-01-031-1/+2
| | | since `pip install railroad` install anthor package, I think it is better to point out the corrected one.
* Cleanup old file names and tests/__pycache__ files from MANIFEST.inpyparsing_3.0.0b2ptmcg2020-12-301-3/+2
|
* Update CHANGES file with version release datesptmcg2020-12-301-4/+4
|
* Fix minor typos and add Located to `__all__` listptmcg2020-12-291-1/+2
|
* Add Python 3.9 support (#256)Miroslav Šedivý2020-12-273-1/+4
|
* Deprecate `locatedExpr` in favor of new `Located` classptmcg2020-12-245-8/+141
|
* Hide internal null_values list in ParseResults classptmcg2020-12-241-2/+2
|
* Move OnlyOnce out of core.py and into actions.pyptmcg2020-12-242-22/+23
|
* Update version for next dev phaseptmcg2020-12-241-2/+2
|
* Add IndentedBlock class; made vertical keyword arg more visible when ↵pyparsing_3.0.0b1ptmcg2020-11-0211-68/+302
| | | | creating railroad diags; changed create_diagram from monkeypatch to included method on ParserElement; better debug exception if Dict is constructed with non-Group expression
* Add number_words.py example; update diagramming codeptmcg2020-10-252-3/+105
|
* minor perf changes IIptmcg2020-10-253-10/+14
|
* minor perf changesptmcg2020-10-252-19/+14
|
* Remove py39-dev from Travis-CIptmcg2020-10-252-3/+1
|
* Remove black from tox.ini, Travis CI black is not aligned with local black; ↵ptmcg2020-10-251-2/+2
| | | | add py39-dev version - this time I mean it!
* Remove black from tox.ini, Travis CI black is not aligned with local black; ↵ptmcg2020-10-252-6/+2
| | | | add py39-dev version
* ParseResults.List class to support returning an actual list from a parse ↵ptmcg2020-10-246-562/+568
| | | | action, plus aslist and asdict args to Group and Dict classes to emit native Python types instead of ParseResults; also update repr() output of ParseResults to include the type name instead of just a bare tuple.
* There will be blackPaul McGuire2020-10-111-1/+1
|
* test_bibparse includes parsed strings with leading space, no longer included ↵Paul McGuire2020-10-111-28/+29
| | | | in output
* Issue #244, fixed debug output to indicate correct parse location; updated ↵Paul McGuire2020-10-114-32/+129
| | | | setDebug output to include current text line and parse location
* Updated HowToUsePyparsing.rst and whats_new_in_3_0_0.rst docsPaul McGuire2020-10-112-28/+25
|
* Exclude /examples from black in tox, since examples are now inexplicably ↵ptmcg2020-10-111-1/+1
| | | | failing black formatting
* Fixed bugs in Each with ZeroOrMore and OneOrMore (first matched element ↵ptmcg2020-10-113-8/+56
| | | | enclosed in extra nesting level; results names not maintained; did not handle mix with required expressions)
* Fix enum auto() incompat with Py3.5Paul McGuire2020-08-192-11/+11
|
* Convert SyntaxWarnings to ValueError and TypeError exceptions; change ↵Paul McGuire2020-08-195-570/+436
| | | | diagnostics to an enum, and add enable_diag(), disable_diag() and enable_all_warnings() methods; clean up pyparsing imports in test_unit.py
* Second markup cleanup passPaul McGuire2020-08-191-6/+6
|
* Update HowToUsePyparsing.rst to include diagnostics, and general markup cleanupPaul McGuire2020-08-191-49/+103
|
* Add __version_info__ module attribute, similar in content and structure to ↵Paul McGuire2020-08-192-3/+21
| | | | sys.version_info
* Add '*' markers to debug output to indicate cached parse expression ↵ptmcg2020-08-183-16/+133
| | | | try/pass/fail events (which were previously omitted from debugging output)
* Add lookahead on matching identifiers to ensure we aren't matching a keywordptmcg2020-08-171-1/+10
|
* Follow-up to PR #233ptmcg2020-08-162-4/+4
|
* Remove identChars override from Keyword.copy (#233)jgrey42962020-08-162-1/+5
|
* Update lua_parser.py example to include associative arrays and more complete ↵ptmcg2020-08-161-22/+47
| | | | infix notation operators
* Better display of single-character WordsPaul McGuire2020-07-302-1/+8
|
* Add size spec to default Word repr outputPaul McGuire2020-07-303-14/+50
|
* Nicer default name for QuotedStrings; clean out more Py2 vestigial codeptmcg2020-07-192-9/+6
|
* Replace last-century '%' string interp with .format() usagePaul McGuire2020-07-194-70/+85
|
* Fixing generated default name for QuotedString (#229)Joshua Coales2020-07-191-1/+1
| | | Looks like an issue in changing the type of string format used
* Docstring fixes; cleanup dead/Py2 vestigial codeptmcg2020-07-103-16/+5
|
* Docstrings cleanup; add 'encoding' argument to parseFile; additional unit ↵ptmcg2020-07-085-141/+199
| | | | tests to improve ParseResults coverage
* The metod getTokensEndLoc no longer exists (#228)Juan VM2020-07-081-3/+0
| | | The metod getTokensEndLoc no longer exists
* infixNotation unit tests require infixNotation bug fixes!ptmcg2020-07-071-14/+11
|