Commit 2074723f authored by Wander Lairson Costa's avatar Wander Lairson Costa Committed by Gabriele Monaco
Browse files

rv/rvgen: extract node marker string to class constant



Add a node_marker class constant to the Automata class to replace the
hardcoded "{node" string literal used throughout the DOT file parsing
logic. This follows the existing pattern established by the init_marker
and invalid_state_str class constants in the same class.

The "{node" string is used as a marker to identify node declaration
lines in DOT files during state variable extraction and cursor
positioning. Extracting it to a named constant improves code
maintainability and makes the marker's purpose explicit.

Signed-off-by: default avatarWander Lairson Costa <wander@redhat.com>
Reviewed-by: default avatarGabriele Monaco <gmonaco@redhat.com>
Link: https://lore.kernel.org/r/20260223162407.147003-17-wander@redhat.com


Signed-off-by: default avatarGabriele Monaco <gmonaco@redhat.com>
parent 8aee49c5
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ class Automata:

    invalid_state_str = "INVALID_STATE"
    init_marker = "__init_"
    node_marker = "{node"
    # val can be numerical, uppercase (constant or macro), lowercase (parameter or function)
    # only numerical values should have units
    constraint_rule = re.compile(r"""
@@ -112,7 +113,7 @@ class Automata:
        for cursor, line in enumerate(self.__dot_lines):
            split_line = line.split()

            if len(split_line) and split_line[0] == "{node":
            if len(split_line) and split_line[0] == self.node_marker:
                return cursor

        raise AutomataError("Could not find a beginning state")
@@ -127,9 +128,9 @@ class Automata:
                continue

            if state == 0:
                if line[0] == "{node":
                if line[0] == self.node_marker:
                    state = 1
            elif line[0] != "{node":
            elif line[0] != self.node_marker:
                break
        else:
            raise AutomataError("Could not find beginning event")
@@ -151,7 +152,7 @@ class Automata:
        # process nodes
        for line in islice(self.__dot_lines, cursor, None):
            split_line = line.split()
            if not split_line or split_line[0] != "{node":
            if not split_line or split_line[0] != self.node_marker:
                break

            raw_state = split_line[-1]