summaryrefslogtreecommitdiff
path: root/cpp/config/makeprops.py
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-02-01 17:09:49 +0000
committerBernard Normier <bernard@zeroc.com>2007-02-01 17:09:49 +0000
commitabada90e3f84dc703b8ddc9efcbed8a946fadead (patch)
tree2c6f9dccd510ea97cb927a7bd635422efaae547a /cpp/config/makeprops.py
parentremoving trace message (diff)
downloadice-abada90e3f84dc703b8ddc9efcbed8a946fadead.tar.bz2
ice-abada90e3f84dc703b8ddc9efcbed8a946fadead.tar.xz
ice-abada90e3f84dc703b8ddc9efcbed8a946fadead.zip
Expanded tabs into spaces
Diffstat (limited to 'cpp/config/makeprops.py')
-rw-r--r--cpp/config/makeprops.py372
1 files changed, 186 insertions, 186 deletions
diff --git a/cpp/config/makeprops.py b/cpp/config/makeprops.py
index 3c448a025ba..aec33ea0a39 100644
--- a/cpp/config/makeprops.py
+++ b/cpp/config/makeprops.py
@@ -33,12 +33,12 @@ def progError(msg):
def removeOutputFiles():
global outputFiles
for entry in outputFiles:
- try:
- if os.path.exists(entry[0]):
- os.remove(entry[0])
- except EnvironmentError, ex:
- progError("warning: could not unlink `" + entry[0] + "': " + ex.strerror + \
- " -- generated file contains errors");
+ try:
+ if os.path.exists(entry[0]):
+ os.remove(entry[0])
+ except EnvironmentError, ex:
+ progError("warning: could not unlink `" + entry[0] + "': " + ex.strerror + \
+ " -- generated file contains errors");
def handler(signum, frame):
removeOutputFiles()
@@ -48,11 +48,11 @@ def openOutputFile(filename):
global outputFiles
try:
outfile = file(filename, 'w')
- outputFiles.append([filename, outfile])
+ outputFiles.append([filename, outfile])
except IOError, ex:
progError("cannot open `" + filename + "' for writing: " + ex.strerror)
- removeOutputFiles()
- sys.exit(1)
+ removeOutputFiles()
+ sys.exit(1)
def writePreamble(lang):
global progname
@@ -61,117 +61,117 @@ def writePreamble(lang):
global classname
for entry in outputFiles:
- file = entry[1]
- file.write("// **********************************************************************\n")
- file.write("//\n")
- file.write("// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.\n")
- file.write("//\n")
- file.write("// This copy of Ice is licensed to you under the terms described in the\n")
- file.write("// ICE_LICENSE file included in this distribution.\n")
- file.write("//\n")
- file.write("// **********************************************************************\n")
- file.write("\n")
- file.write("// Generated by " + progname + " from file `" + infile + "', " + time.ctime() + "\n")
- file.write("\n")
- file.write("// IMPORTANT: Do not edit this file -- any edits made here will be lost!\n");
- if lang == "cpp":
- continue
- if lang == "java":
- file.write("\n");
- file.write("package IceInternal;\n")
- file.write("\n")
- file.write("public final class " + classname + '\n');
- file.write("{\n")
- continue
- if lang == "cs":
- file.write("\n");
- file.write("namespace IceInternal\n")
- file.write("{\n")
- file.write(" public sealed class " + classname + '\n')
- file.write(" {\n");
- continue
- progError("Internal error: impossible language: `" + lang + "'")
- sys.exit(1)
+ file = entry[1]
+ file.write("// **********************************************************************\n")
+ file.write("//\n")
+ file.write("// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.\n")
+ file.write("//\n")
+ file.write("// This copy of Ice is licensed to you under the terms described in the\n")
+ file.write("// ICE_LICENSE file included in this distribution.\n")
+ file.write("//\n")
+ file.write("// **********************************************************************\n")
+ file.write("\n")
+ file.write("// Generated by " + progname + " from file `" + infile + "', " + time.ctime() + "\n")
+ file.write("\n")
+ file.write("// IMPORTANT: Do not edit this file -- any edits made here will be lost!\n");
+ if lang == "cpp":
+ continue
+ if lang == "java":
+ file.write("\n");
+ file.write("package IceInternal;\n")
+ file.write("\n")
+ file.write("public final class " + classname + '\n');
+ file.write("{\n")
+ continue
+ if lang == "cs":
+ file.write("\n");
+ file.write("namespace IceInternal\n")
+ file.write("{\n")
+ file.write(" public sealed class " + classname + '\n')
+ file.write(" {\n");
+ continue
+ progError("Internal error: impossible language: `" + lang + "'")
+ sys.exit(1)
if lang == "cpp":
header = outputFiles[1][1]
- header.write("\n");
- header.write("#ifndef ICE_INTERNAL_" + classname + "_H\n");
- header.write("#define ICE_INTERNAL_" + classname + "_H\n");
- header.write("\n")
- header.write("#include <Ice/Config.h>")
- header.write("\n")
- header.write("namespace IceInternal\n")
- header.write("{\n")
- header.write("\n")
- header.write("class " + classname + '\n')
- header.write("{\n")
- header.write("public:\n")
- header.write("\n")
- file = outputFiles[0][1]
- file.write("\n");
- file.write("#include <Ice/" + classname + ".h>\n")
+ header.write("\n");
+ header.write("#ifndef ICE_INTERNAL_" + classname + "_H\n");
+ header.write("#define ICE_INTERNAL_" + classname + "_H\n");
+ header.write("\n")
+ header.write("#include <Ice/Config.h>")
+ header.write("\n")
+ header.write("namespace IceInternal\n")
+ header.write("{\n")
+ header.write("\n")
+ header.write("class " + classname + '\n')
+ header.write("{\n")
+ header.write("public:\n")
+ header.write("\n")
+ file = outputFiles[0][1]
+ file.write("\n");
+ file.write("#include <Ice/" + classname + ".h>\n")
def writePostamble(lang, labels, commandLineLabels):
file = outputFiles[0][1]
if lang == "cpp":
header = outputFiles[1][1]
- header.write("\n")
+ header.write("\n")
- header.write(" static const char* const* validProps[];\n")
- file.write("\n");
+ header.write(" static const char* const* validProps[];\n")
+ file.write("\n");
file.write("const char* const* IceInternal::" + classname + "::validProps[] =\n")
- file.write("{\n")
- for label, line in labels.iteritems():
- file.write(" " + label + "Props,\n")
- file.write(" 0\n");
- file.write("};\n")
-
- header.write(" static const char* clPropNames[];\n")
- file.write("\n");
+ file.write("{\n")
+ for label, line in labels.iteritems():
+ file.write(" " + label + "Props,\n")
+ file.write(" 0\n");
+ file.write("};\n")
+
+ header.write(" static const char* clPropNames[];\n")
+ file.write("\n");
file.write("const char* IceInternal::" + classname + "::clPropNames[] =\n")
- file.write("{\n")
- for label in commandLineLabels:
- file.write(" \"" + label + "\",\n")
- file.write(" 0\n");
- file.write("};\n")
-
- header.write("};\n")
- header.write("\n")
- header.write("}\n")
- header.write("\n")
- header.write("#endif\n");
- return
+ file.write("{\n")
+ for label in commandLineLabels:
+ file.write(" \"" + label + "\",\n")
+ file.write(" 0\n");
+ file.write("};\n")
+
+ header.write("};\n")
+ header.write("\n")
+ header.write("}\n")
+ header.write("\n")
+ header.write("#endif\n");
+ return
if lang == "java":
file.write(" public static final String[] validProps[] =\n")
- file.write(" {\n")
- for label, line in labels.iteritems():
- file.write(" " + label + "Props,\n")
- file.write(" null\n")
- file.write(" };\n\n");
+ file.write(" {\n")
+ for label, line in labels.iteritems():
+ file.write(" " + label + "Props,\n")
+ file.write(" null\n")
+ file.write(" };\n\n");
file.write(" public static final String clPropNames[] =\n")
- file.write(" {\n")
- for label in commandLineLabels:
- file.write(" \"" + label + "\",\n")
- file.write(" null\n")
- file.write(" };\n");
+ file.write(" {\n")
+ for label in commandLineLabels:
+ file.write(" \"" + label + "\",\n")
+ file.write(" null\n")
+ file.write(" };\n");
file.write("}\n");
return
if lang == "cs":
file.write(" public static string[][] validProps =\n")
- file.write(" {\n")
- for label, line in labels.iteritems():
- file.write(" " + label + "Props,\n")
- file.write(" null\n")
- file.write(" };\n\n");
+ file.write(" {\n")
+ for label, line in labels.iteritems():
+ file.write(" " + label + "Props,\n")
+ file.write(" null\n")
+ file.write(" };\n\n");
file.write(" public static string[] clPropNames =\n")
- file.write(" {\n")
- for label in commandLineLabels:
- file.write(" \"" + label + "\",\n")
- file.write(" null\n")
- file.write(" };\n");
+ file.write(" {\n")
+ for label in commandLineLabels:
+ file.write(" \"" + label + "\",\n")
+ file.write(" null\n")
+ file.write(" };\n");
file.write(" }\n");
file.write("}\n");
return
@@ -179,21 +179,21 @@ def writePostamble(lang, labels, commandLineLabels):
def startSection(lang, label):
if lang == "cpp":
header = outputFiles[1][1]
- header.write(" static const char* " + label + "Props[];\n")
+ header.write(" static const char* " + label + "Props[];\n")
file = outputFiles[0][1]
if lang == "cpp":
- file.write("\n");
+ file.write("\n");
file.write("const char* IceInternal::" + classname + "::" + label + "Props[] =\n")
file.write("{\n");
- return
+ return
if lang == "java":
file.write(" public static final String " + label + "Props[] =\n");
- file.write(" {\n")
- return
+ file.write(" {\n")
+ return
if lang == "cs":
file.write(" public static string[] " + label + "Props =\n");
- file.write(" {\n")
+ file.write(" {\n")
return
def endSection(lang):
@@ -201,32 +201,32 @@ def endSection(lang):
if lang == "cpp":
file.write(" 0\n");
file.write("};\n");
- return
+ return
if lang == "java":
- file.write(" null\n");
- file.write(" };\n");
+ file.write(" null\n");
+ file.write(" };\n");
file.write("\n")
- return
+ return
if lang == "cs":
- file.write(" null\n");
- file.write(" };\n");
+ file.write(" null\n");
+ file.write(" };\n");
file.write("\n")
- return
+ return
wildcard = re.compile(".*<any>.*")
def writeEntry(lang, label, entry):
file = outputFiles[0][1]
if lang == "cpp":
- file.write(" \"" + label + '.' + string.replace(entry, "<any>", "*") + "\",\n")
+ file.write(" \"" + label + '.' + string.replace(entry, "<any>", "*") + "\",\n")
elif lang == "java":
- pattern = string.replace(entry, ".", "\\\\.")
- pattern = string.replace(pattern, "<any>", "[^\\\\s]+")
- file.write(" " + "\"^" + label + "\\\\." + pattern + "$\",\n")
+ pattern = string.replace(entry, ".", "\\\\.")
+ pattern = string.replace(pattern, "<any>", "[^\\\\s]+")
+ file.write(" " + "\"^" + label + "\\\\." + pattern + "$\",\n")
elif lang == "cs":
- pattern = string.replace(entry, ".", "\\.")
- pattern = string.replace(pattern, "<any>", "[^\\s]+")
- file.write(" " + "@\"^" + label + "\\." + pattern + "$\",\n")
+ pattern = string.replace(entry, ".", "\\.")
+ pattern = string.replace(pattern, "<any>", "[^\\s]+")
+ file.write(" " + "@\"^" + label + "\\." + pattern + "$\",\n")
def processFile(lang):
@@ -235,17 +235,17 @@ def processFile(lang):
#
global infile
try:
- f = file(infile, 'r')
+ f = file(infile, 'r')
except IOError, ex:
- progError("cannot open `" + infile + "': " + ex.strerror)
- sys.exit(1)
+ progError("cannot open `" + infile + "': " + ex.strerror)
+ sys.exit(1)
#
# Set up regular expressions for empty and comment lines, section headings, and entry lines.
#
- ignore = re.compile("^\s*(?:#.*)?$") # Empty line or comment line
+ ignore = re.compile("^\s*(?:#.*)?$") # Empty line or comment line
section = re.compile("^\s*([a-zA-Z_]\w*)\s*:\s*([a-zA-Z]\w*)?\s*$") # Section heading
- entry = re.compile("^\s*([^ \t\n\r\f\v#]+)(?:\s*#.*)?$") # Any non-whitespace character sequence, except for #
+ entry = re.compile("^\s*([^ \t\n\r\f\v#]+)(?:\s*#.*)?$") # Any non-whitespace character sequence, except for #
#
# Install signal handler so we can remove the output files if we are interrupted.
@@ -261,14 +261,14 @@ def processFile(lang):
classname, ext = os.path.splitext(os.path.basename(infile))
openOutputFile(classname + '.' + lang)
if(lang == "cpp"):
- openOutputFile(classname + ".h")
+ openOutputFile(classname + ".h")
- labels = {} # Records the line number on which each label is defined
+ labels = {} # Records the line number on which each label is defined
commandLineLabels = [] # The set of labels which are command line processing is enabled
- atSectionStart = 0 # True for the line on which a label is defined
- seenSection = 0 # Set to true (and the remains as true) once the first label is defined
- numEntries = 0 # Number of entries within a section
- errors = 0 # Number of syntax errors in the input file
+ atSectionStart = 0 # True for the line on which a label is defined
+ seenSection = 0 # Set to true (and the remains as true) once the first label is defined
+ numEntries = 0 # Number of entries within a section
+ errors = 0 # Number of syntax errors in the input file
#
# Write preamble.
@@ -281,57 +281,57 @@ def processFile(lang):
global lineNum
lines = f.readlines()
for l in lines:
- lineNum += 1
-
- #
- # Ignore empty lines and comments.
- #
- if ignore.match(l) != None:
- continue
-
- #
- # Start of section.
- #
- labelMatch = section.match(l)
- if labelMatch != None:
- if atSectionStart:
- fileError("section `" + label + "' must have at least one entry")
- label = labelMatch.group(1)
- try:
- badLine = labels[label]
- fileError("duplicate section heading: `" + label + "': previously defined on line " + badLine)
- except KeyError:
- pass
- if label == "validProps":
- fileError("`validProps' is reserved and cannot be used as a section heading")
+ lineNum += 1
+
+ #
+ # Ignore empty lines and comments.
+ #
+ if ignore.match(l) != None:
+ continue
+
+ #
+ # Start of section.
+ #
+ labelMatch = section.match(l)
+ if labelMatch != None:
+ if atSectionStart:
+ fileError("section `" + label + "' must have at least one entry")
+ label = labelMatch.group(1)
+ try:
+ badLine = labels[label]
+ fileError("duplicate section heading: `" + label + "': previously defined on line " + badLine)
+ except KeyError:
+ pass
+ if label == "validProps":
+ fileError("`validProps' is reserved and cannot be used as a section heading")
if labelMatch.group(2) != "false":
commandLineLabels.append(label)
- labels[label] = lineNum
- if seenSection:
- endSection(lang)
- numEntries = 0
- startSection(lang, label)
- seenSection = 1
- atSectionStart = 1
- continue
-
- entryMatch = entry.match(l)
- if entryMatch != None:
- writeEntry(lang, label, entryMatch.group(1))
- atSectionStart = 0
- numEntries += 1
- continue
-
- fileError("syntax error")
+ labels[label] = lineNum
+ if seenSection:
+ endSection(lang)
+ numEntries = 0
+ startSection(lang, label)
+ seenSection = 1
+ atSectionStart = 1
+ continue
+
+ entryMatch = entry.match(l)
+ if entryMatch != None:
+ writeEntry(lang, label, entryMatch.group(1))
+ atSectionStart = 0
+ numEntries += 1
+ continue
+
+ fileError("syntax error")
if len(labels) == 0:
- fileError("input must define at least one section");
+ fileError("input must define at least one section");
#
# End the final section.
#
if numEntries == 0:
- fileError("section `" + label + "' must have at least one entry")
+ fileError("section `" + label + "' must have at least one entry")
endSection(lang)
#
@@ -347,8 +347,8 @@ def processFile(lang):
# Remove the output files if anything went wrong, so we don't leave partically written files behind.
#
if errors != 0:
- removeOutputFiles()
- sys.exit(1)
+ removeOutputFiles()
+ sys.exit(1)
outputFiles = []
#
@@ -364,12 +364,12 @@ if len(sys.argv) == 1:
# Find where the root of the tree is.
#
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "makeprops.py")):
- break
+ toplevel = os.path.normpath(toplevel)
+ if os.path.exists(os.path.join(toplevel, "config", "makeprops.py")):
+ break
else:
- progError("cannot find top-level directory")
- sys.exit(1)
+ progError("cannot find top-level directory")
+ sys.exit(1)
infile = os.path.join(toplevel, "config", "PropertyNames.def")
lang = "all"
@@ -377,17 +377,17 @@ if len(sys.argv) == 1:
else:
option = sys.argv[1]
if option == "--cpp":
- lang = "cpp"
+ lang = "cpp"
elif option == "--java":
- lang = "java"
+ lang = "java"
elif option == "--cs":
- lang = "cs"
+ lang = "cs"
elif option == "-h" or option == "--help" or option == "-?":
- usage()
- sys.exit(0)
+ usage()
+ sys.exit(0)
else:
- usage()
- sys.exit(1)
+ usage()
+ sys.exit(1)
infile = sys.argv[2]
if lang == "all":