| 183 | return newstr |
| 184 | |
| 185 | def process_str(allstr): |
| 186 | newstr = allstr |
| 187 | writestr = '' |
| 188 | |
| 189 | struct = parse_structure(newstr) |
| 190 | |
| 191 | oldend = 0 |
| 192 | names = {} |
| 193 | names.update(_special_names) |
| 194 | for sub in struct: |
| 195 | cleanedstr, defs = find_and_remove_repl_patterns(newstr[oldend:sub[0]]) |
| 196 | writestr += cleanedstr |
| 197 | names.update(defs) |
| 198 | writestr += expand_sub(newstr[sub[0]:sub[1]], names) |
| 199 | oldend = sub[1] |
| 200 | writestr += newstr[oldend:] |
| 201 | |
| 202 | return writestr |
| 203 | |
| 204 | include_src_re = re.compile(r"(\n|\A)\s*include\s*['\"](?P<name>[\w\d./\\]+\.src)['\"]", re.I) |
| 205 | |