issues
search
alexmadaras00
/
BabyCobolProcessor
0
stars
0
forks
source link
Whitespace insignificance
#20
Open
brokhiv
opened
1 year ago
brokhiv
commented
1 year ago
8XP
most modern languages use whitespace as delimiters, but BabyCobol does not use it at all, following old versions of FORTRAN
whitespace characters in the input are preserved, if they occur inside quoted strings, comment line or identification division clause values
all other whitespace characters in code columns are ignored, even those breaking a keyword or field name in half
in the face of ambiguity, the original whitespace is used for resolution
assuming that ACCOUNTNUMBER, ACCOUNT-NUMBER, ACCOUNT and NUMBER are all defined fields:
IF ACCOUNT-NUMBER = 0 THEN STOP. (uses the ACCOUNT-NUMBER field)
IF ACCOUNT - NUMBER = 0 THEN STOP. (uses the difference between fields called ACCOUNT and NUMBER)
MOVE 42 TO ACCOUNTNUMBER. (assigns the value to the ACCOUNTNUMBER field)
MOVE 42 TO ACCOUNT NUMBER. (assigns the value to both fields ACCOUNT and NUMBER)
MOVE 42 TO ACCOUNT NUM BER. (invalid since whitespace information is not clear enough to disambiguate)
whitespace is the literal space symbol, tab, newline, CR/LF, etc
brokhiv
commented
1 year ago
Horrible
8XP