Hi, > On 7 Jul 2020, at 10:55, John P. Hartmann <jphartm...@gmail.com> wrote: > > On 7/7/20 05:35, Akim Demaille wrote: >> I believe you need to read again the documentation of / >> 'r/s' > > It is not as simple as that. As I don't speak BASIC, let me rephrase this > problem in FORTRAN IV which is also "blank agnostic": > > DO <number> <variable> = <expression> , <expression> [, <expression>] > > It is not until you reach the comma after the first expression that you know > whether the statement is the beginning of a loop or it is an assignment. And > the expression can contain commas in function calls, which defeats any > trivial lookahead scanning. E.g., > > D O 17 6PQ R=FUN X(1 4, V 8) > > is an assignment to variable DO176PQR. The function arguments can also be > expressions that contain function calls. > > As you can see, this more or less defeats any attempt to write a lex scanner. > And you cannot just squeeze out all blanks in a front end because "Hollerith > fields" can contain blanks that are significant (must remain).
Then you couple the squeeze out all blanks approach with BEGIN/END %x regions? https://lists.gnu.org/archive/html/help-bison/2020-07/msg00012.html FBCC uses regions, sorry can't find proper documentation but https://bellard.org//fbcc/ I'd rather shoot myself on a foot than use regions. IDK if that closes a loop on the elegance question. But the tool's been there since forever.