https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120786
--- Comment #2 from Simon Sobisch <simonsobisch at gnu dot org> ---
Just keep in mind that a , and ; are valid separators as well, not only spaces
(they can be inserted nearly every place where a space can, with the exception
of places where they are required).
Rechecked with MF:
program-id.t.
data Division.
WORKING-STORAGE Section.
01 var pic 9.
PROCEDURE Division.
if var NOT= var DISPLAY "BAD".
if var NOT<=-var+ 9 DISPLAY "GOOD". *> does not work when the
space before 9 is removed as well
goback.
compiles without any warnings. And indeed there are > 30 programs in my test
bed using this code.
The lexical rule implied in GC and seemingly in MF: scan for
">="
"<="
">"
"<"
"="
" -"
"- "
" +"
"+ "
and transfer those to their own token.
As those "basic special characters" may not be part of a COBOL word, this was
doable.