"I inherited this program to maintain/emulate/port and I don't understand it. Heck, I'm not even sure what language it's written in!"Usually, the questioner's first guess is COBOL. (It's old and incomprehensible, so it must be COBOL, amirite?) Such was the surmise of user1381537, who offered this source file. Other posters and I quickly disabused him of the notion that it was written in COBOL; Gilbert Le Blanc figures that it's Caché MultiValue Basic.
I amused myself by pointing out some of the less obvious aspects of the program, and by flipping through the documentation to understand some of the peculiarities of this BASIC dialect. In a 1970s-vintage program, just finding the main processing loop can be a challenge. GOSUBs are a feature that is, Fox be thanked, no longer maintstream. I like the compactness of the bracket syntax for performing substring operations. And I envy user1381537's innocence that he/she has never encountered a zero-suppression format string that looks like "ZZ,ZZ9".