summaryrefslogtreecommitdiffstats
path: root/Modules/parsermodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #16714: use 'raise' exceptions, don't 'throw'.Andrew Svetlov2012-12-181-3/+3
| | | | Patch by Serhiy Storchaka.
* Issue #15604: Update uses of PyObject_IsTrue() to check for and handle ↵Antoine Pitrou2012-08-151-5/+13
| | | | | | errors correctly. Patch by Serhiy Storchaka.
* #15512: Declarations reorganizationJesus Cea2012-08-031-21/+23
|
* Closes #15512: Correct __sizeof__ support for parserJesus Cea2012-08-031-2/+21
|
* #11515: fix several typos. Patch by Piotr Kasprzyk.Ezio Melotti2011-03-151-1/+1
|
* Issue #9130: Fix validation of relative imports in parser module.Mark Dickinson2010-07-041-3/+4
|
* Issue #9128: Validate class decorator syntax correctly in parser module.Mark Dickinson2010-07-041-8/+9
|
* Issue #9125: Update parser module for "except ... as ..." syntax.Mark Dickinson2010-06-301-4/+7
|
* Untabify C files. Will watch buildbots.Antoine Pitrou2010-05-091-99/+99
|
* Issue #2333: Backport set and dict comprehensions syntax.Alexandre Vassalotti2010-01-111-32/+56
|
* Issue #2335: Backport set literals syntax from Python 3.x.Alexandre Vassalotti2010-01-091-23/+50
|
* Allow multiple context managers in one with statement, as proposedGeorg Brandl2009-05-251-15/+18
| | | | | | | in http://codereview.appspot.com/53094 and accepted by Guido. The construct is transformed into multiple With AST nodes so that there should be no problems with the semantics.
* Issue #5918: Fix a crash in the parser module.Antoine Pitrou2009-05-141-2/+2
| | | | Patch by Amaury.
* #4529: fix parser's validation for try-except-finally statements.Georg Brandl2008-12-051-23/+23
|
* #4396 make the parser module correctly validate the with syntaxBenjamin Peterson2008-11-241-1/+37
|
* #4048 make the parser module accept relative imports as validBenjamin Peterson2008-11-031-2/+2
|
* make sure the parser flags and passed onto the compilerBenjamin Peterson2008-10-311-7/+36
| | | | | This fixes "from __future__ import unicode_literals" in an exec statment See #4225
* 3k-warn about parser's "ast" aliases.Georg Brandl2008-07-231-5/+37
|
* This reverts r63675 based on the discussion in this thread:Gregory P. Smith2008-06-091-7/+7
| | | | | | | http://mail.python.org/pipermail/python-dev/2008-June/079988.html Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names in the spirit of 3.0 are available via a #define only. See the email thread.
* Renamed PyString to PyBytesChristian Heimes2008-05-261-7/+7
|
* Revert copy_reg -> copyreg rename.Georg Brandl2008-05-201-1/+1
|
* Added module stub for copy_reg renaming in 3.0.Alexandre Vassalotti2008-05-111-1/+1
| | | | | | Renamed copy_reg to copyreg in the standard library, to avoid spurious warnings and ease later merging to py3k branch. Public documentation remains intact.
* Patch #1759: Backport of PEP 3129 class decoratorsChristian Heimes2008-02-231-10/+25
| | | | with some help from Georg
* Modified PyImport_Import and PyImport_ImportModule to always use absolute ↵Christian Heimes2008-01-031-1/+1
| | | | | | imports by calling __import__ with an explicit level of 0 Added a new API function PyImport_ImportModuleNoBlock. It solves the problem with dead locks when mixing threads and imports
* #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and ↵Christian Heimes2007-12-191-3/+3
| | | | Py_REFCNT. Macros for b/w compatibility are available.
* PEP 3123: Provide forward compatibility with Python 3.0, while keepingMartin v. Löwis2007-07-211-5/+4
| | | | | backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and PyVarObject_HEAD_INIT.
* Expose column offset information in parse trees.Jeremy Hylton2006-08-221-15/+30
|
* Replace PyObject_CallFunction calls with only object argsGeorg Brandl2006-05-251-2/+2
| | | | with PyObject_CallFunctionObjArgs, which is 30% faster.
* Update for new grammarNeal Norwitz2006-04-121-4/+4
|
* Years in the making.Tim Peters2006-03-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | objimpl.h, pymem.h: Stop mapping PyMem_{Del, DEL} and PyMem_{Free, FREE} to PyObject_{Free, FREE} in a release build. They're aliases for the system free() now. _subprocess.c/sp_handle_dealloc(): Since the memory was originally obtained via PyObject_NEW, it must be released via PyObject_FREE (or _DEL). pythonrun.c, tokenizer.c, parsermodule.c: I lost count of the number of PyObject vs PyMem mismatches in these -- it's like the specific function called at each site was picked at random, sometimes even with memory obtained via PyMem getting released via PyObject. Changed most to use PyObject uniformly, since the blobs allocated are predictably small in most cases, and obmalloc is generally faster than system mallocs then. If extension modules in real life prove as sloppy as Python's front end, we'll have to revert the objimpl.h + pymem.h part of this patch. Note that no problems will show up in a debug build (all calls still go thru obmalloc then). Problems will show up only in a release build, most likely segfaults.
* SF #1445431, fix some leaks in error conditions.Neal Norwitz2006-03-201-9/+14
|
* Patch #1440601: Add col_offset attribute to AST nodes.Martin v. Löwis2006-03-011-1/+1
|
* SF patch #1438387, PEP 328: relative and absolute imports.Thomas Wouters2006-02-281-13/+28
| | | | | | | | | | | | | | | | | | | | | | | - IMPORT_NAME takes an extra argument from the stack: the relativeness of the import. Only passed to __import__ when it's not -1. - __import__() takes an optional 5th argument for the same thing; it __defaults to -1 (old semantics: try relative, then absolute) - 'from . import name' imports name (be it module or regular attribute) from the current module's *package*. Likewise, 'from .module import name' will import name from a sibling to the current module. - Importing from outside a package is not allowed; 'from . import sys' in a toplevel module will not work, nor will 'from .. import sys' in a (single-level) package. - 'from __future__ import absolute_import' will turn on the new semantics for import and from-import: imports will be absolute, except for from-import with dots. Includes tests for regular imports and importhooks, parser changes and a NEWS item, but no compiler-package changes or documentation changes.
* unconst.Martin v. Löwis2006-02-271-9/+9
|
* Update for PEP 308 patch.Thomas Wouters2006-02-271-3/+54
|
* Use Py_ssize_t for counts and sizes.Martin v. Löwis2006-02-161-1/+1
|
* Merge ssize_t branch.Martin v. Löwis2006-02-151-5/+6
|
* Check return result from Py_InitModule*(). This API can fail.Neal Norwitz2006-01-191-0/+2
| | | | Probably should be backported.
* Add const to several API functions that take char *.Jeremy Hylton2005-12-101-9/+9
| | | | | | | | | | | | | | | | | | | In C++, it's an error to pass a string literal to a char* function without a const_cast(). Rather than require every C++ extension module to put a cast around string literals, fix the API to state the const-ness. I focused on parts of the API where people usually pass literals: PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type slots, etc. Predictably, there were a large set of functions that needed to be fixed as a result of these changes. The most pervasive change was to make the keyword args list passed to PyArg_ParseTupleAndKewords() to be a const char *kwlist[]. One cast was required as a result of the changes: A type object mallocs the memory for its tp_doc slot and later frees it. PyTypeObject says that tp_doc is const char *; but if the type was created by type_new(), we know it is safe to cast to char *.
* PEP 342 implementation. Per Guido's comments, the generator throw()Phillip J. Eby2005-08-021-11/+44
| | | | | method still needs to support string exceptions, and allow None for the third argument. Documentation updates are needed, too.
* Flush out support for ``class B(): pass`` syntax by adding support to theBrett Cannon2005-04-091-6/+15
| | | | | | 'parser' module and 'compiler' package. Closes patch #1176012. Thanks logistix.
* SF patch #1007189, multi-line imports, for instance:Anthony Baxter2004-08-311-36/+88
| | | | | "from blah import (foo, bar baz, bongo)"
* This is Mark Russell's patch:Michael W. Hudson2004-08-171-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ 1009560 ] Fix @decorator evaluation order From the description: Changes in this patch: - Change Grammar/Grammar to require newlines between adjacent decorators. - Fix order of evaluation of decorators in the C (compile.c) and python (Lib/compiler/pycodegen.py) compilers - Add better order of evaluation check to test_decorators.py (test_eval_order) - Update the decorator documentation in the reference manual (improve description of evaluation order and update syntax description) and the comment: Used Brett's evaluation order (see http://mail.python.org/pipermail/python-dev/2004-August/047835.html) (I'm checking this in for Anthony who was having problems getting SF to talk to him)
* PEP-0318, @decorator-style. In Guido's words:Anthony Baxter2004-08-021-9/+62
| | | | | "@ seems the syntax that everybody can hate equally" Implementation by Mark Russell, from SF #979728.
* SF patch #872326: Generator expression implementationRaymond Hettinger2004-05-191-6/+115
| | | | | | | | | | | | | | (Code contributed by Jiwon Seo.) The documentation portion of the patch is being re-worked and will be checked-in soon. Likewise, PEP 289 will be updated to reflect Guido's rationale for the design decisions on binding behavior (as described in in his patch comments and in discussions on python-dev). The test file, test_genexps.py, is written in doctest format and is meant to exercise all aspects of the the patch. Further additions are welcome from everyone. Please stress test this new feature as much as possible before the alpha release.
* Getting rid of all the code inside #ifdef macintosh too.Jack Jansen2003-11-201-4/+0
|
* Merge 23c1-branch back into the head. Barry will send email about theTim Peters2003-07-211-4/+12
| | | | | | New Plan (releases to be made off the head, ongoing random 2.4 stuff to be done on a short-lived branch, provided anyone is motivated enough to create one).
* Don't use (PyObject *)PyObject_Type(x). It is a leaky and verbose wayGuido van Rossum2003-04-091-2/+2
| | | | of saying x->ob_type.
* Remove duplicate code introduced by fixing bug #678518Neal Norwitz2003-02-101-3/+0
|
* Remove unused variable.Guido van Rossum2003-02-091-1/+0
|