summaryrefslogtreecommitdiffstats
path: root/Grammar
Commit message (Collapse)AuthorAgeFilesLines
* Disambiguate the grammar for backtick.Guido van Rossum2002-05-241-1/+3
| | | | | | The old syntax suggested that a trailing comma was OK inside backticks, but in fact (due to ideosyncrasies of pgen) it was not. Fix the grammar to avoid the ambiguity. Fred: you may want to update the refman.
* John Aycock correctly pointed out that the grammar forTim Peters2002-05-231-1/+1
| | | | "power" was formally ambiguous. Here's his fix.
* Very subtle syntax change: in a list comprehension, the testlist inGuido van Rossum2001-10-151-1/+2
| | | | | | | | | | | | | | | "for <var> in <testlist> may no longer be a single test followed by a comma. This solves SF bug #431886. Note that if the testlist contains more than one test, a trailing comma is still allowed, for maximum backward compatibility; but this example is not: [(x, y) for x in range(10), for y in range(10)] ^ The fix involved creating a new nonterminal 'testlist_safe' whose definition doesn't allow the trailing comma if there's only one test: testlist_safe: test [(',' test)+ [',']]
* Implement PEP 238 in its (almost) full glory.Guido van Rossum2001-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This introduces: - A new operator // that means floor division (the kind of division where 1/2 is 0). - The "future division" statement ("from __future__ import division) which changes the meaning of the / operator to implement "true division" (where 1/2 is 0.5). - New overloadable operators __truediv__ and __floordiv__. - New slots in the PyNumberMethods struct for true and floor division, new abstract APIs for them, new opcodes, and so on. I emphasize that without the future division statement, the semantics of / will remain unchanged until Python 3.0. Not yet implemented are warnings (default off) when / is used with int or long arguments. This has been on display since 7/31 as SF patch #443474. Flames to /dev/null.
* Merging the gen-branch into the main line, at Guido's direction. Yay!Tim Peters2001-06-181-1/+2
| | | | | Bugfix candidate in inspect.py: it was referencing "self" outside of a method.
* remove commented-out vestiges of access statementJeremy Hylton2001-02-271-5/+0
|
* Superseded by $(srcdir)/Makefile.pre.in.Neil Schemenauer2001-02-031-54/+0
|
* Fix typo: config.stat --> config.statusFred Drake2000-09-281-1/+1
|
* Support for three-token characters (**=, >>=, <<=) which was written byThomas Wouters2000-08-241-3/+4
| | | | | Michael Hudson, and support in general for the augmented assignment syntax. The graminit.c patch is large!
* Added note stating that the parser module will need updating for mostFred Drake2000-08-231-0/+7
| | | | changes to this file.
* require list comprehensions to start with a for clauseSkip Montanaro2000-08-221-1/+1
|
* PEP 214, Extended print Statement, has been accepted by the BDFL.Barry Warsaw2000-08-211-2/+2
| | | | | This change modifies Python's grammar to include the extended print form.
* Ignore Grammar/Makefile now that it's a made Makefile.Thomas Wouters2000-08-211-0/+1
|
* Apply SF patch #101135, adding 'import module as m' and 'from module importThomas Wouters2000-08-171-1/+3
| | | | | | | | name as n'. By doing some twists and turns, "as" is not a reserved word. There is a slight change in semantics for 'from module import name' (it will now honour the 'global' keyword) but only in cases that are explicitly undocumented.
* Fix up problems when compiling in a directory other than the sourceSjoerd Mullender2000-08-172-33/+54
| | | | directory.
* add dummy 'add2lib' target to Grammar/Makefile so non-GNU makes don't bail outTrent Mick2000-08-161-0/+3
| | | | | This closes patch: http://sourceforge.net/patch/index.php?func=detailpatch&patch_id=101176&group_id=5470
* list comprehensions. seeSkip Montanaro2000-08-121-1/+6
| | | | | | http://sourceforge.net/patch/?func=detailpatch&patch_id=100654&group_id=5470 for details.
* added .cvsignore so cvs doesn't complain about the generated graminit.h andSkip Montanaro2000-07-271-0/+2
| | | | graminit.c files.
* slightly modified version of Greg Ewing's extended call syntax patchJeremy Hylton2000-03-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | executive summary: Instead of typing 'apply(f, args, kwargs)' you can type 'f(*arg, **kwargs)'. Some file-by-file details follow. Grammar/Grammar: simplify varargslist, replacing '*' '*' with '**' add * & ** options to arglist Include/opcode.h & Lib/dis.py: define three new opcodes CALL_FUNCTION_VAR CALL_FUNCTION_KW CALL_FUNCTION_VAR_KW Python/ceval.c: extend TypeError "keyword parameter redefined" message to include the name of the offending keyword reindent CALL_FUNCTION using four spaces add handling of sequences and dictionaries using extend calls fix function import_from to use PyErr_Format
* Make first raise argument optionalGuido van Rossum1998-04-091-1/+1
|
* OK, ready to make 'assert' a keyword (instead of '__assert__').Guido van Rossum1997-04-161-1/+1
|
* Added __assert__ statement (later to be renamed)Guido van Rossum1997-04-021-1/+2
|
* Disable support for access statementGuido van Rossum1996-08-121-5/+6
|
* Changes for stride in slices (x[a:b:c]) and ellipses (x[a,...,z])Guido van Rossum1996-07-301-2/+4
|
* Added power (**) operatorGuido van Rossum1996-01-121-3/+4
|
* new grammar for 3rd raise arg and keyword parametersGuido van Rossum1995-07-071-3/+6
|
* changed import to support NAME.NAME...NAMEGuido van Rossum1995-01-071-1/+2
|
* Got rid of history (was beginning to get silly).Guido van Rossum1994-09-291-100/+10
| | | | Removed a few diagram breaks since Kees' program is now cleverer
* Added #diagram:... comments for Kees Blom's railroad diagram generatorGuido van Rossum1994-08-171-3/+19
|
* Bring alpha100 revision back to mainlineGuido van Rossum1994-08-011-3/+12
|
* Added (dummy) depend targetGuido van Rossum1993-12-281-0/+2
|
* Py -> IncludeGuido van Rossum1993-12-261-1/+1
|
* NoneGuido van Rossum1993-12-241-0/+28
|
* * Grammar: corrected old typo (class instead of 'class')Guido van Rossum1993-12-201-1/+1
| | | | | | | * dosmodule.c: MSDOS specific stuff from posixmodule.c. * posixmodule.c: removed all MSDOS specific stuff. * tokenizer.h, parsetok.h: in prototypes, don't mix named and unnamed parameters (MSC doesn't like this).
* change syntactical position of lambdef (was an atom, now is a test)Guido van Rossum1993-11-301-4/+2
|
* * import.c (get_module): pass .py filename to parse_file, not .pyc filename!Guido van Rossum1993-11-301-4/+8
| | | | | | | | | | | * funcobject.c (func_repr): don't call getstringvalue(None) for anonymous functions. * bltinmodule.c: removed lambda (which is now a built-in function); removed implied lambda for string arg to filter/map/reduce. * Grammar, graminit.[ch], compile.[ch]: replaced lambda as built-in function by lambda as grammar entity: instead of "lambda('x: x+1')" you write "lambda x: x+1". * Xtmodule.c (checkargdict): return 0, not NULL, for error.
* Committing the correct graminit.c; also changed confusing comments in Grammar.Guido van Rossum1993-10-271-2/+1
|
* * compile.[ch]: support for lambda()Guido van Rossum1993-10-261-3/+7
| | | | | | | | | | * PROTO.h, mymalloc.h: added #ifdefs for TURBOC and GNUC. * allobjects.h: added #include "rangeobject.h" * Grammar: added lambda_input; relaxed syntax for exec. * bltinmodule.c: added bagof, map, reduce, lambda, xrange. * tupleobject.[ch]: added resizetuple(). * rangeobject.[ch]: new object type to speed up range operations (not convinced this is needed!!!)
* * bltinmodule.c: removed exec() built-in function.Guido van Rossum1993-10-181-2/+7
| | | | | | | * Grammar: add exec statement; allow testlist in expr statement. * ceval.c, compile.c, opcode.h: support exec statement; avoid optimizing locals when it is used * fileobject.{c,h}: add getfilename() internal function.
* * Lots of small changes related to access.Guido van Rossum1993-05-211-1/+1
| | | | | | | * Added "access *: ...", made access work for class methods. * Introduced subclass check: make sure that when calling ClassName.methodname(instance, ...), the instance is an instance of ClassName or of a subclass thereof (this might break some old code!)
* Several changes in one:Guido van Rossum1993-05-191-7/+13
| | | | | | | | | | | | | | | | (1) dictionaries/mappings now have attributes values() and items() as well as keys(); at the C level, use the new function mappinggetnext() to iterate over a dictionary. (2) "class C(): ..." is now illegal; you must write "class C: ...". (3) Class objects now know their own name (finally!); and minor improvements to the way how classes, functions and methods are represented as strings. (4) Added an "access" statement and semantics. (This is still experimental -- as long as you don't use the keyword 'access' nothing should be changed.)
* Added missing change log entriesGuido van Rossum1992-04-061-0/+6
|
* Use only '*' for varargs listGuido van Rossum1992-04-061-1/+1
|
* Tighten syntax for try statementsGuido van Rossum1992-03-311-1/+2
|
* Allow NEWLINE* after eval input.Guido van Rossum1992-03-041-1/+4
|
* Add '*' for varargs list.Guido van Rossum1992-01-261-1/+5
|
* Added varargs syntax "def f(a, b, +c): ..."Guido van Rossum1992-01-141-5/+11
|
* Don't allow '==' at top level yet, to catch conversion errors.Guido van Rossum1992-01-011-3/+2
|
* Allow trailing comma after fplist; '=' is no longer comparison;Guido van Rossum1991-12-311-4/+11
| | | | expr/assignment statement now allows testlists.
* Added 'global' and new class syntax.Guido van Rossum1991-12-101-4/+12
|