Use string.ascii_letters instead of string.letters (SF bug #226706).
Move computation of sets of characters out of the body of the function that
uses them.
diff --git a/Tools/modulator/modulator.py b/Tools/modulator/modulator.py
index 23a2539..add8b6a 100755
--- a/Tools/modulator/modulator.py
+++ b/Tools/modulator/modulator.py
@@ -30,13 +30,16 @@
 
 oops = 'oops'
 
+IDENTSTARTCHARS = string.ascii_letters + '_'
+IDENTCHARS = string.ascii_letters + string.digits + '_'
+
 # Check that string is a legal C identifier
 def checkid(str):
     if not str: return 0
-    if not str[0] in string.letters+'_':
+    if not str[0] in IDENTSTARTCHARS:
         return 0
     for c in str[1:]:
-        if not c in string.letters+string.digits+'_':
+        if not c in IDENTCHARS:
             return 0
     return 1