“…The version on the left is written to make most use of problematic features of BabyCobol, while the version on the right avoids some of them and is thus easier to parse, compile and analyse, while being functionally equivalent. Lines (1) and ( 27) contain a comment ( § 3.1), lines (2), ( 6), ( 13), ( 28), (32) and (39) start separate divisions ( § 3.7), lines (8)(9) and (34)(35)(36)(37)(38) contain picture clauses ( § 4.1), lines (11)(12) -like clauses ( § 4.1), line (8) defines an identifier with a name equal to a keyword ( § 3.4), lines ( 12) and ( 22) declare an identifier and a paragraph with a dash in their names, line (14) does not use quotes and hence uses default values of three undefined fields ( § 4.4), line (16) relies on case insensitivity ( § 3.3), lines (15) and (51) execute picture-driven inputs, lines (17), (23), (43) and (49) -picture-driven output, line (16) uses a figurative constant on targets of different types ( § 4.3), lines (20) and (46) contain an out-of-line PERFORM statement ( § 5.2) calling the paragraph on lines (22)(23)(24)(25)(26) or (48)(49)(50)(51)(52), lines (25)(26) exploit whitespace insignificance ( § 3.5), lines (17), (19), (23)…”