I took the 142 rules of the MISRA-C:2004 “Guidelines for the use of the C language in critical systems” and applied them to Oberon-07. I discovered that more than 70% of the rules are not required when programming in Oberon-07. They are either already enforced by the language or are not applicable.
Examples of MISRA rules that are not applicable to Oberon-07:
Rule 14.4: The goto statement shall not be used. (Oberon-07 does not have GOTO)
Rule 14.5: The continue statement shall not be used. (Oberon-07 does not have CONTINUE)
Examples of MISRA rules that are enforced by the design of Oberon-07:
Rule 14.7: A function shall have a single point of exit at the end of the function.
Rule 16.6: The number of arguments passed to a function shall match the number of parameters.
The remaining 30% of MISRA rules that also need to be checked when using Oberon-07 include:
Rule 2.4 (advisory): Sections of code should not be “commented out”.
Rule 20.4: Dynamic heap memory allocation shall not be used.
#programming #oberon-2 #oberon-07 #oberon #misra #safety #safe #guidelenies