fix #675: make 'by' a non-keyword also in .pyx files
authorStefan Behnel <scoder@users.berlios.de>
Wed, 13 Apr 2011 17:58:56 +0000 (19:58 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Wed, 13 Apr 2011 17:58:56 +0000 (19:58 +0200)
Cython/Compiler/Parsing.py
Cython/Compiler/Scanning.py
tests/run/for_decrement.pyx

index 8a123626090f06e1c7c13f8a05850723fb8e3312..a2d38fe8c79eedb07157afbcb3e8e53d6d4b1716 100644 (file)
@@ -1432,7 +1432,7 @@ def p_for_from_relation(s):
         s.error("Expected one of '<', '<=', '>' '>='")
 
 def p_for_from_step(s):
-    if s.sy == 'by':
+    if s.sy == 'IDENT' and s.systring == 'by':
         s.next()
         step = p_bit_expr(s)
         return step
index 3bb99e9a5e02f7e895d5a493ce38fbbff017cc9e..608bcb1501f1354476f8006a1dc6e84c06b076d1 100644 (file)
@@ -45,7 +45,7 @@ py_reserved_words = [
 
 pyx_reserved_words = py_reserved_words + [
     "include", "ctypedef", "cdef", "cpdef",
-    "cimport", "by", "DEF", "IF", "ELIF", "ELSE"
+    "cimport", "DEF", "IF", "ELIF", "ELSE"
 ]
 
 class Method(object):
index 57db916191323f3e1b1dc2f67479b1b449eba129..02be71f6fec9fb21210f1ebe18e69a8e5705513b 100644 (file)
@@ -33,7 +33,7 @@ def from_loop_indices():
     incremented one step after the last iteration.
     """
     cdef int i, j, k
-    for i from 0 <= i < 10 by get_step(): pass
+    for i from 0 <= i < 5+5 by get_step(): pass
     for j from 0 <= j < 10: pass
     for k from 10 > k > 0: pass
     return i, j, k