Re: Parsing a language with optional spaces

"John P. Hartmann" <[email protected]>
Newsgroups gmane.comp.parsers.bison.general
Message-ID <[email protected]>
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).
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.