MetOffice / MetOffice/SimSys_Scripts

Identification of CPP directives in UMDP3_checker

Offen
#240 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @r-sharp Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Python
Sterne
9
Forks
19
Ø Merge
5 T. 48 Min.
Gemergte PRs (30 T.)
4

Beschreibung

The current C pre-processor pattern assumes that there are no spaces between the start of a line and the `#` symbol:

```py
comment_line = re.compile(r"!.*$")
cpp_command_line = re.compile(r"^#.*$")
word_splitter = re.compile(r"\b\w+\b")
```

However, the [GNU C pre-processor manual](https://gcc.gnu.org/onlinedocs/cpp/The-preprocessing-language.html) explicitly says that spaces before the hash symbol are allowed:

> Preprocessing directives are lines in your program that start with ‘#’. Whitespace is allowed before and after the ‘#’. The ‘#’ is followed by an identifier, the directive name. It specifies the operation to perform.

The pattern should probably allow leading whitespace. This doesn't seem to cause problems for the UM, but it may result in unexpected failures in other code bases.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.