Added Unicode set BasicMultilingualPlane (may also be referenced as BMP) representing the Basic Multilingual Plane (Unicode characters up to code point 65535). Can be used to parse most language characters, but omits emojis, wingdings, etc. Raised in discussion with Dave Tapley (issue #392).
To address mypy confusion of pyparsing.Optional and typing.Optional resulting in error: "_SpecialForm" not callable message reported in issue #365, fixed the import in exceptions.py. Nice sleuthing by Iwan Aucamp and Dominic Davis-Foster, thank you! (Removed definitions of OptionalType, DictType, and IterableType and replaced them with typing.Optional, typing.Dict, and typing.Iterable throughout.)
Fixed typo in jinja2 template for railroad diagrams, thanks for the catch Nioub (issue #388).
Removed use of deprecated pkg_resources package in railroad diagramming code (issue #391).
API CHANGE: modified pyproject.toml to require Python version 3.6.8 or later for pyparsing 3.x. Earlier minor versions of 3.6 fail in evaluating the version_info class (implemented using typing.NamedTuple). If you are using an earlier version of Python 3.6, you will need to use pyparsing 2.4.7.
Improved pyparsing import time by deferring regex pattern compiles. PR submitted by Anthony Sottile to fix issue #362, thanks!
Updated build to use flit, PR by Michał Górny, added BUILDING.md doc and removed old Windows build scripts - nice cleanup work!
More type-hinting added for all arithmetic and logical operator methods in ParserElement. PR from Kazantcev Andrey, thank you.
Fixed infix_notation's definitions of lpar and rpar, to accept parse expressions such that they do not get suppressed in the parsed results. PR submitted by Philippe Prados, nice work.
Fixed bug in railroad diagramming with expressions containing Combine elements. Reported by Jeremy White, thanks!
Added show_groups argument to create_diagram to highlight grouped elements with an unlabeled bounding box.
Added unicode_denormalizer.py to the examples as a demonstration of how Python's interpreter will accept Unicode characters in identifiers, but normalizes them back to ASCII so that identifiers print and 𝕡𝓻ᵢ𝓃𝘁 and 𝖕𝒓𝗂𝑛ᵗ are all equivalent.
Removed imports of deprecated sre_constants module for catching exceptions when compiling regular expressions. PR submitted by Serhiy Storchaka, thank you.
pyparsing 3.0.7
Fixed bug #345, in which delimitedList changed expressions in place using expr.streamline(). Reported by Kim Gräsman, thanks!
Fixed bug #346, when a string of word characters was passed to WordStart or WordEnd instead of just taking the default value. Originally posted as a question by Parag on StackOverflow, good catch!
Fixed bug #350, in which White expressions could fail to match due to unintended whitespace-skipping. Reported by Fu Hanxi, thank you!
Fixed bug #355, when a QuotedString is defined with characters in its quoteChar string containing regex-significant characters such as ., *, ?, [, ], etc.
Fixed bug in ParserElement.run_tests where comments would be displayed using with_line_numbers.
Added optional "min" and "max" arguments to delimited_list. PR submitted by Marius, thanks!
Added new API change note in whats_new_in_pyparsing_3_0_0, regarding a bug fix in the bool() behavior of ParseResults.
Prior to pyparsing 3.0.x, the ParseResults class implementation of __bool__ would return False if the ParseResults item list was empty, even if it contained named results. In 3.0.0 and later, ParseResults will return True if either the item list is not empty or if the named results dict is not empty.
# generate an empty ParseResults by parsing a blank string with
Added Unicode set BasicMultilingualPlane (may also be referenced
as BMP) representing the Basic Multilingual Plane (Unicode
characters up to code point 65535). Can be used to parse
most language characters, but omits emojis, wingdings, etc.
Raised in discussion with Dave Tapley (issue #392).
To address mypy confusion of pyparsing.Optional and typing.Optional
resulting in error: "_SpecialForm" not callable message
reported in issue #365, fixed the import in exceptions.py. Nice
sleuthing by Iwan Aucamp and Dominic Davis-Foster, thank you!
(Removed definitions of OptionalType, DictType, and IterableType
and replaced them with typing.Optional, typing.Dict, and
typing.Iterable throughout.)
Fixed typo in jinja2 template for railroad diagrams, thanks for the
catch Nioub (issue #388).
Removed use of deprecated pkg_resources package in
railroad diagramming code (issue #391).
API CHANGE: modified pyproject.toml to require Python version
3.6.8 or later for pyparsing 3.x. Earlier minor versions of 3.6
fail in evaluating the version_info class (implemented using
typing.NamedTuple). If you are using an earlier version of Python
3.6, you will need to use pyparsing 2.4.7.
Improved pyparsing import time by deferring regex pattern compiles.
PR submitted by Anthony Sottile to fix issue #362, thanks!
Updated build to use flit, PR by Michał Górny, added BUILDING.md
doc and removed old Windows build scripts - nice cleanup work!
More type-hinting added for all arithmetic and logical operator
methods in ParserElement. PR from Kazantcev Andrey, thank you.
Fixed infix_notation's definitions of lpar and rpar, to accept
parse expressions such that they do not get suppressed in the parsed
results. PR submitted by Philippe Prados, nice work.
Fixed bug in railroad diagramming with expressions containing Combine
elements. Reported by Jeremy White, thanks!
... (truncated)
Commits
01969ff Back out Lox language parser (from Crafting Interpreters, by Robert Nystrom)
17737d5 Added Lox language parser (from Crafting Interpreters, by Robert Nystrom)
a147c9d Added Lox language parser (from Crafting Interpreters, by Robert Nystrom)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps pyparsing from 2.4.7 to 3.0.9.
Release notes
Sourced from pyparsing's releases.
... (truncated)
Changelog
Sourced from pyparsing's changelog.
... (truncated)
Commits
01969ff
Back out Lox language parser (from Crafting Interpreters, by Robert Nystrom)17737d5
Added Lox language parser (from Crafting Interpreters, by Robert Nystrom)a147c9d
Added Lox language parser (from Crafting Interpreters, by Robert Nystrom)9c6f1fe
Prep for 3.0.9 releasea73af6a
Update UML class diagram, and add SVG rendering77206de
Fix .rst markup for tables and some code samplese9e56bd
Added notes to HowToUsePyparsing.rst for using Unicode language sets17a39e8
Added test case to bigquery_view_parser.py from #2910ec8031
Added another test case to bigquery_view_parser.pyed37b35
Update CHANGES to reflect latest fixesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)