From 76139f3934419bac8100a31ef394e31eccb12a14 Mon Sep 17 00:00:00 2001 From: "Tobias.Baumgartl" Date: Fri, 14 Mar 2025 13:22:10 +0100 Subject: [PATCH] added new compile time const event parsing --- fsfwgen/events/event_parser.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/fsfwgen/events/event_parser.py b/fsfwgen/events/event_parser.py index 0581548..7e161a3 100644 --- a/fsfwgen/events/event_parser.py +++ b/fsfwgen/events/event_parser.py @@ -186,9 +186,20 @@ class EventParser(FileParser): r"static const(?:expr)? Event[\s]*([\w]*)[\s]*=[\s]*" r"MAKE_EVENT\((0x[0-9a-fA-F]+|[0-9]{1,3}),[\s]*severity::([A-Z]*)\)[\s]*;" ) - else: - regex_string = r"static const(?:expr)? Event\s*([\w]+)\s*=\s*event::makeEvent\(([\w:]+),\s*(0x[0-9a-fA-F]+|[0-9]{1,3})\s*,\s*severity::([A-Z]+)\)\s*;" + return re.search(regex_string, full_string) + + # Non compiletime const version kept for backwards compatibility + regex_string = r"static const(?:expr)? Event\s*([\w]+)\s*=\s*event::makeEvent\(([\w:]+),\s*(0x[0-9a-fA-F]+|[0-9]{1,3})\s*,\s*severity::([A-Z]+)\)\s*;" event_full_match = re.search(regex_string, full_string) + + # Using old, non compiletime const version + if event_full_match: + return event_full_match + + # Using compiletime const version + regex_string = r"static const(?:expr)? Event\s*([\w]+)\s*=\s*event::makeEvent<([\w:]+),\s*(0x[0-9a-fA-F]+|[0-9]{1,3})\s*,\s*severity::([A-Z]+)>\(\)\s*;" + event_full_match = re.search(regex_string, full_string) + return event_full_match def __build_multi_line_event_string(self, first_line: str, moving_window: List[str]) -> str: