Generating AX.25 code from the specification
AX.25 is the link-layer protocol most of amateur packet radio runs on. The v2.2 specification ends with a set of SDL diagrams (figures C4.1 to C4.7) that draw the connected-mode state machine: states like Disconnected, Awaiting Connection, Connected and Timer Recovery, with every event, guard and action on the arrows. Each AX.25 stack I know of is somebody’s reading of those figures, typed into a switch statement. The readings differ in small ways, and when two stacks disagree there is nothing executable to check against, because the reference is a PDF. ...