The code is littered with hard coded REGEX
This means that, every time a regex fails because of un unprecedented exception, we have to fix it in many places.
For example in
replace_real_declaration the regex:
_match = re.search('^\s*\w?(real).*(::|(function))', line, flags=re.I)
is supposed to match with pure
REAL declaration, but it matches also with something like:
type(treal_at_qn3d) :: nodval(3)
I already created a module, RegexPattern, where I started storing those regex. With this issue I'll document the migration of the regex, adding also a test for the ones that I fix.