INNER CODE UNIT · Python
unescape
introlab/rtabmap · doxygen/generate_parameters_page.py:112
def unescape(literal):
"""Concatenate adjacent C string literals and undo their escapes."""
out = []
for chunk in re.findall(r'"((?:[^"\\]|\\.)*)"', literal):
out.append(chunk.replace('\\"', '"').replace('\\n', ' ')
.replace('\\t', ' ').replace('\\\\', '\\'))
return ''.join(out) if out else literal.strip()
def parse(path):
"""Return the parameters of Parameters.h, in declaration order."""
with open(path, newline='') as f:
lines = f.read().replace('\r\n', '\n').split('\n')
params, order = {}, []
conditions = [] # #if nesting, innermost last; None marks an #else
statement, collecting = '', False
in_class = False