1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
def getVariable(name):
print "%s?" % name
return raw_input()
def readLines(file):
f = open(file, 'r')
lines = f.readlines()
f.close()
return lines
def writeLines(file, lines):
f = open(file, 'w')
lines = f.writelines(lines)
f.close()
def findMarker(lines, marker):
for index,line in enumerate(lines):
if line.find(marker) != -1:
return index
def backup(file):
f = open(file, 'r')
lines=f.readlines()
f.close()
f = open(file+".txt",'w')
f.writelines(lines)
f.close()
def assemble_variables(need_default=False, need_write=False):
vn=0
variables=[]
while True:
set = []
print "Type %i?" % (vn+1)
set.append(raw_input())
if not set[0]:
break
else:
print "Name %i?" % (vn+1)
set.append(raw_input())
print "get name %i?" % (vn+1)
set.append(raw_input())
print "format %i" % (vn+1)
set.append(raw_input())
if need_default:
print "default %i" % (vn+1)
set.append(raw_input())
if need_write:
print "write %i" % (vn+1)
set.append(raw_input())
variables.append(tuple(set))
vn+=1
return variables
def assemble_constructor_define(variables):
constructor="mname("
for v in variables:
if v==variables[-1]:
constructor+="%s %s" % (v[0], v[1])
else:
constructor+="%s %s, " % (v[0], v[1])
constructor+=")"
return constructor
def assemble_declare_get_functions(variables):
declare_functions=""
for v in variables:
declare_functions+="\n"
declare_functions+=" ///Retrieves %s\n" % v[1]
declare_functions+=" %s %s() const;\n" % (v[0], v[2])
return declare_functions
def assemble_declare_variables(variables):
declare_variables=""
if variables:
declare_variables+="private:\n"
for v in variables:
declare_variables+=" %s %s;\n" % (v[0], v[1])
return declare_variables
def assemble_initialize_variables(variables):
initialize_variables=""
for v in variables:
initialize_variables+="%s(%s)" % (v[1], v[1])
if v!=variables[-1]:
initialize_variables+=", "
return initialize_variables
def assemble_initialize_variable_defaults(variables):
initialize_variables=""
for v in variables:
initialize_variables+=" %s(%s)" % (v[1], v[4])
if v!=variables[-1]:
initialize_variables+=","
return initialize_variables
def assemble_format_variables(variables):
format = " std::ostringstream s;\n"
format+= " s<<\"mname("
if variables:
format+="\""
for v in variables:
format+="<<\"%s=\"<<%s<<\"; \"" % (v[3], v[3])
format+="<<\""
format+=")\";"
return format
def assemble_compare_variables(variables):
scode = ""
if variables:
scode+=" const mname& r = dynamic_cast<const mname&>(rhs);\n"
scode+=" if("
for v in variables:
scode+="r.%s == %s" % (v[1], v[1])
if v!=variables[-1]:
scode+=" && "
scode+=")\n"
scode+=" return true;"
else:
scode+=" //const mname& r = dynamic_cast<const mname&>(rhs);\n"
scode+=" return true;"
return scode
def assemble_get_function_definitions(variables):
scode = ""
for v in variables:
scode+="%s mname::%s() const\n" % (v[0], v[2])
scode+="{\n"
scode+=" return %s;\n" % (v[1])
scode+="}\n\n\n\n"
return scode
|