summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES22
1 files changed, 22 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 471fac1..9e7dcfb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -50,6 +50,28 @@ help from Devin J. Pohly in structuring the code to enable this peaceful transit
of single-line or multiline quoted strings defined in Python. (Inspired
by discussion with Andreas Schörgenhumer in Issue #421.)
+- Added new class method `ParserElement.using_each`, to simplify code
+ that creates a sequence of `Literals`, `Keywords`, or other `ParserElement`
+ subclasses.
+
+ For instance, to define suppressable punctuation, one would previously
+ write:
+
+ LPAR, RPAR, LBRACE, RBRACE, SEMI = map(Suppress, "(){};")
+
+ You can now write:
+
+ LPAR, RPAR, LBRACE, RBRACE, SEMI = Suppress.using_each("(){};")
+
+ `using_each` will also accept optional keyword args, which it will
+ pass through to the class initializer. Here is an expression for
+ single-letter variable names that might be used in an algebraic
+ expression:
+
+ algebra_var = MatchFirst(
+ Char.using_each(string.ascii_lowercase, as_keyword=True)
+ )
+
- Added bool `embed` argument to `ParserElement.create_diagram()`.
When passed as True, the resulting diagram will omit the `<DOCTYPE>`,
`<HEAD>`, and `<BODY>` tags so that it can be embedded in other