Jelle Zijlstra
24d8b88420
gh-103763 : Implement PEP 695 (#103764)
...
This implements PEP 695, Type Parameter Syntax. It adds support for:
- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Eric Traut <eric@traut.com>
Co-authored-by: Larry Hastings <larry@hastings.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-15 20:36:23 -07:00
Brandt Bucher
145bf269df
bpo-42128: Structural Pattern Matching (PEP 634) ( GH-22917 )
...
Co-authored-by: Guido van Rossum <guido@python.org>
Co-authored-by: Talin <viridia@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2021-02-26 14:51:55 -08:00
Guido van Rossum
508ed2d912
Delete remaining references to Grammar/Grammar from docs (#21624)
...
(Ironically, the file itself remains, see https://github.com/we-like-parsers/cpython/issues/135 .)
2020-07-26 08:27:52 -07:00
Pablo Galindo
78319e373d
Include soft keywords in keyword.py ( GH-20877 )
2020-06-15 03:55:15 +01:00
Lysandros Nikolaou
bcd7deed91
bpo-40939: Remove PEG parser easter egg (__new_parser__) (#20802)
...
It no longer serves a purpose (there's only one parser) and having "new" in any name will eventually look odd. Also, it impinges on a potential sub-namespace, `__new_...__`.
2020-06-11 09:09:21 -07:00
Lysandros Nikolaou
9727694f08
bpo-40939: Generate keyword.py using the new parser ( GH-20800 )
2020-06-11 13:45:15 +01:00
Pablo Galindo
91759d9801
bpo-36143: Regenerate Lib/keyword.py from the Grammar and Tokens file using pgen ( GH-12456 )
...
Now that the parser generator is written in Python (Parser/pgen) we can make use of it to regenerate the Lib/keyword file that contains the language keywords instead of parsing the autogenerated grammar files. This also allows checking in the CI that the autogenerated files are up to date.
2019-03-25 22:01:12 +00:00
Guido van Rossum
495da29225
bpo-35975: Support parsing earlier minor versions of Python 3 ( GH-12086 )
...
This adds a `feature_version` flag to `ast.parse()` (documented) and `compile()` (hidden) that allow tweaking the parser to support older versions of the grammar. In particular if `feature_version` is 5 or 6, the hacks for the `async` and `await` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than `NAME` tokens that the parser driver recognizes.)
https://bugs.python.org/issue35975
2019-03-07 12:38:08 -08:00
Jelle Zijlstra
ac317700ce
bpo-30406: Make async and await proper keywords (#1669)
...
Per PEP 492, 'async' and 'await' should become proper keywords in 3.7.
2017-10-05 23:24:46 -04:00
R David Murray
f0f7ceae3c
17830: preserve line endings of original file when updating keywords.
...
This fixes the test failures on Windows from the new tests, and
includes test fixes as well as the module fix.
2013-04-25 12:01:36 -04:00
Giampaolo Rodola'
2f50aaf2ff
modernize some modules' code by using with statement around open()
2013-02-12 02:04:27 +01:00
Éric Araujo
e1886bfaf4
Fix instructions on how to rebuild some modules
2011-11-29 16:45:34 +01:00
Florent Xicluna
7dde792e62
Use a context manager for some file objects.
2010-09-03 19:52:03 +00:00
Benjamin Peterson
90f5ba538b
convert shebang lines: python -> python3
2010-03-11 22:53:45 +00:00
Georg Brandl
86def6cb2b
Merged revisions 60151-60159,60161-60168,60170,60172-60173,60175 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60151 | christian.heimes | 2008-01-21 14:11:15 +0100 (Mon, 21 Jan 2008) | 1 line
A bunch of header files were not listed as dependencies for object files. Changes to files like Parser/parser.h weren't picked up by make.
........
r60152 | georg.brandl | 2008-01-21 15:16:46 +0100 (Mon, 21 Jan 2008) | 3 lines
#1087741: make mmap.mmap the type of mmap objects, not a
factory function. Allow it to be subclassed.
........
r60153 | georg.brandl | 2008-01-21 15:18:14 +0100 (Mon, 21 Jan 2008) | 2 lines
mmap is an extension module.
........
r60154 | georg.brandl | 2008-01-21 17:28:13 +0100 (Mon, 21 Jan 2008) | 2 lines
Fix example.
........
r60155 | georg.brandl | 2008-01-21 17:34:07 +0100 (Mon, 21 Jan 2008) | 2 lines
#1555501: document plistlib and move it to the general library.
........
r60156 | georg.brandl | 2008-01-21 17:36:00 +0100 (Mon, 21 Jan 2008) | 2 lines
Add a stub for bundlebuilder documentation.
........
r60157 | georg.brandl | 2008-01-21 17:46:58 +0100 (Mon, 21 Jan 2008) | 2 lines
Removing bundlebuilder docs again -- it's not to be used anymore (see #779825).
........
r60158 | georg.brandl | 2008-01-21 17:51:51 +0100 (Mon, 21 Jan 2008) | 2 lines
#997912: acknowledge nested scopes in tutorial.
........
r60159 | vinay.sajip | 2008-01-21 18:02:26 +0100 (Mon, 21 Jan 2008) | 1 line
Fix: #1836: Off-by-one bug in TimedRotatingFileHandler rollover calculation. Patch thanks to Kathryn M. Kowalski.
........
r60161 | georg.brandl | 2008-01-21 18:13:03 +0100 (Mon, 21 Jan 2008) | 2 lines
Adapt pydoc to new doc URLs.
........
r60162 | georg.brandl | 2008-01-21 18:17:00 +0100 (Mon, 21 Jan 2008) | 2 lines
Fix old link.
........
r60163 | georg.brandl | 2008-01-21 18:22:06 +0100 (Mon, 21 Jan 2008) | 2 lines
#1726198: replace while 1: fp.readline() with file iteration.
........
r60164 | georg.brandl | 2008-01-21 18:29:23 +0100 (Mon, 21 Jan 2008) | 2 lines
Clarify $ behavior in re docstring. #1631394.
........
r60165 | vinay.sajip | 2008-01-21 18:39:22 +0100 (Mon, 21 Jan 2008) | 1 line
Minor documentation change - hyperlink tidied up.
........
r60166 | georg.brandl | 2008-01-21 18:42:40 +0100 (Mon, 21 Jan 2008) | 2 lines
#1530959: change distutils build dir for --with-pydebug python builds.
........
r60167 | vinay.sajip | 2008-01-21 19:16:05 +0100 (Mon, 21 Jan 2008) | 1 line
Updated to include news on recent logging fixes and documentation changes.
........
r60168 | georg.brandl | 2008-01-21 19:35:49 +0100 (Mon, 21 Jan 2008) | 3 lines
Issue #1882: when compiling code from a string, encoding cookies in the
second line of code were not always recognized correctly.
........
r60170 | georg.brandl | 2008-01-21 19:36:51 +0100 (Mon, 21 Jan 2008) | 2 lines
Add NEWS entry for #1882.
........
r60172 | georg.brandl | 2008-01-21 19:41:24 +0100 (Mon, 21 Jan 2008) | 2 lines
Use original location of document, which has translations.
........
r60173 | walter.doerwald | 2008-01-21 21:18:04 +0100 (Mon, 21 Jan 2008) | 2 lines
Follow PEP 8 in module docstring.
........
r60175 | georg.brandl | 2008-01-21 21:20:53 +0100 (Mon, 21 Jan 2008) | 2 lines
Adapt to latest doctools refactoring.
........
2008-01-21 20:36:10 +00:00
Guido van Rossum
486364b821
Merged revisions 56020-56124 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
r56037 | georg.brandl | 2007-06-19 05:33:20 -0700 (Tue, 19 Jun 2007) | 2 lines
Patch #1739659: don't slice dict.keys() in pydoc.
................
r56060 | martin.v.loewis | 2007-06-21 13:00:02 -0700 (Thu, 21 Jun 2007) | 2 lines
Regenerate to add True, False, None.
................
r56069 | neal.norwitz | 2007-06-21 22:31:56 -0700 (Thu, 21 Jun 2007) | 1 line
Get the doctest working again after adding None, True, and False as kewyords.
................
r56070 | neal.norwitz | 2007-06-21 23:25:33 -0700 (Thu, 21 Jun 2007) | 1 line
Add space to error message.
................
r56071 | neal.norwitz | 2007-06-21 23:40:04 -0700 (Thu, 21 Jun 2007) | 6 lines
Get pybench working, primarily
* Use print function
* Stop using string module
* Use sorted instead of assuming dict methods return lists
* Convert range result to a list
................
r56089 | collin.winter | 2007-06-26 10:31:48 -0700 (Tue, 26 Jun 2007) | 1 line
Fix AttributeError in distutils/dir_util.py.
................
r56124 | guido.van.rossum | 2007-06-29 18:04:31 -0700 (Fri, 29 Jun 2007) | 30 lines
Merged revisions 56014-56123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r56019 | lars.gustaebel | 2007-06-18 04:42:11 -0700 (Mon, 18 Jun 2007) | 2 lines
Added exclude keyword argument to the TarFile.add() method.
........
r56023 | lars.gustaebel | 2007-06-18 13:05:55 -0700 (Mon, 18 Jun 2007) | 3 lines
Added missing \versionchanged tag for the new exclude
parameter.
........
r56038 | georg.brandl | 2007-06-19 05:36:00 -0700 (Tue, 19 Jun 2007) | 2 lines
Bug #1737864: allow empty message in logging format routines.
........
r56040 | georg.brandl | 2007-06-19 05:38:20 -0700 (Tue, 19 Jun 2007) | 2 lines
Bug #1739115: make shutil.rmtree docs clear wrt. file deletion.
........
r56084 | georg.brandl | 2007-06-25 08:21:23 -0700 (Mon, 25 Jun 2007) | 2 lines
Bug #1742901: document None behavior of shlex.split.
........
r56091 | georg.brandl | 2007-06-27 07:09:56 -0700 (Wed, 27 Jun 2007) | 2 lines
Fix a variable name in winreg docs.
........
................
2007-06-30 05:01:58 +00:00
Jack Diederich
4b7f3179ea
regenerated to reflect the addition of 'nonlocal' and removal of 'print'
2007-02-28 20:21:30 +00:00
Georg Brandl
7cae87ca7b
Patch #1550800: make exec a function.
2006-09-06 06:51:57 +00:00
Thomas Wouters
1f1c16a812
Regenerate.
2006-02-28 22:50:17 +00:00
Raymond Hettinger
bac788a3cd
Replace str.find()!=1 with the more readable "in" operator.
2004-05-04 09:21:43 +00:00
Raymond Hettinger
70ef8692a1
SF patch #852140: keyword.py - use __contains__ and bool
...
Use a set instead of dict with values equal to one.
2003-12-02 07:48:15 +00:00
Raymond Hettinger
edc853e2f4
Patrick K. O'Brien notices that kwlist was missing from __all__.
...
Added because it is part of the documented interface.
2002-10-30 05:17:22 +00:00
Tim Peters
463766816c
Updated keyword.py for "yield".
2001-06-19 00:26:25 +00:00
Eric S. Raymond
ee5e61d3bc
String method conversion.
2001-02-09 09:10:35 +00:00
Skip Montanaro
17ab123cf1
a few more modules get __all__
2001-01-24 06:27:27 +00:00
Guido van Rossum
54f22ed30b
More trivial comment -> docstring transformations by Ka-Ping Yee,
...
who writes:
Here is batch 2, as a big collection of CVS context diffs.
Along with moving comments into docstrings, i've added a
couple of missing docstrings and attempted to make sure more
module docstrings begin with a one-line summary.
I did not add docstrings to the methods in profile.py for
fear of upsetting any careful optimizations there, though
i did move class documentation into class docstrings.
The convention i'm using is to leave credits/version/copyright
type of stuff in # comments, and move the rest of the descriptive
stuff about module usage into module docstrings. Hope this is
okay.
2000-02-04 15:10:34 +00:00
Guido van Rossum
45e2fbc2e7
Mass check-in after untabifying all files that need it.
1998-03-26 21:13:24 +00:00
Guido van Rossum
9694fcab53
Convert all remaining *simple* cases of regex usage to re usage.
1997-10-22 21:00:49 +00:00
Guido van Rossum
ed57d7663e
Regenerated; __assert__ becomes assert.
1997-07-23 18:10:52 +00:00
Guido van Rossum
4d81984011
Ping's new version -- more efficient at finding the keywords.
1997-03-20 20:40:45 +00:00
Guido van Rossum
3d99e35884
Added __assert__.
1997-03-20 19:46:41 +00:00
Guido van Rossum
eb8c972648
Ka-Ping Yee's version is better:
...
Here's a "keyword" module which, in the spirit of "token.py", updates
the list of keywords automatically from a source file (in this case,
"graminit.c" seemed like a reasonable choice, easier than "Grammar/Grammar").
You get "kwlist", a sorted list of keywords; "kwdict", a dictionary
mapping each keyword to 1; and "iskeyword", a function which tells
you if a given string happens to be a keyword.
1997-03-20 19:45:51 +00:00
Guido van Rossum
90d556fb6e
Simple module to publish list of Python keywords.
1997-03-20 19:44:30 +00:00