Re: Ignore break line sometimes

"BartC" <bc@freeuk.com>
Tue, 14 Feb 2012 00:25:04 -0000

          From comp.compilers

Related articles
Ignore break line sometimes geovanisouza92@gmail.com (Geovani de Souza) (2012-02-11)
Re: Ignore break line sometimes DrDiettrich1@aol.com (Hans-Peter Diettrich) (2012-02-11)
Re: Ignore break line sometimes gneuner2@comcast.net (George Neuner) (2012-02-11)
Re: Ignore break line sometimes monnier@iro.umontreal.ca (Stefan Monnier) (2012-02-12)
Re: Ignore break line sometimes Pidgeot18@verizon.invalid (Joshua Cranmer) (2012-02-12)
Re: Ignore break line sometimes kaz@kylheku.com (Kaz Kylheku) (2012-02-13)
Re: Ignore break line sometimes bc@freeuk.com (BartC) (2012-02-14)
Re: Ignore break line sometimes genew@ocis.net (Gene Wirchenko) (2012-02-19)
Re: Ignore break line sometimes gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-02-20)
Re: Ignore break line sometimes arnold@skeeve.com (2012-02-23)
Re: Ignore break line sometimes jthorn@astro.indiana.edu (Jonathan Thornburg) (2012-02-27)
| List of all articles for this month |
From: "BartC" <bc@freeuk.com>
Newsgroups: comp.compilers
Date: Tue, 14 Feb 2012 00:25:04 -0000
Organization: A noiseless patient Spider
References: 12-02-010
Keywords: parse
Posted-Date: 13 Feb 2012 19:42:15 EST

"Geovani de Souza" <geovanisouza92@gmail.com> wrote


> I'm trying write an parser to my compiler, and I'm interessed to ignore
> the break line (\n) sometimes. E.g:
>
> if true then [\n]
> foo(); [\n]
> end; [\n]
>
> So, in the first line, the '\n' after 'then' isn't important, but in the
> second "foo();" could replace the need of the semicolon to conclude the
> statement, or still, in the 'end'.
>
> To ignore '\n' in the white lines.


I've tried a few schemes. One just converts a newline to a semicolon,
*unless* the last symbol was (for example) a comma.


This requires some sort of continuation symbol for when a semicolon would be
inappropriate.


And it helps if the grammar is tolerant of extra semicolons, otherwise the
source code could be full of continuation symbols! (After 'then' for
example.)


Whatever scheme you choose, you'll know it works well when you have
thousands of lines of code without a single semicolon, and hardly any
continuations. And that is perfectly clear to read.


--
Bartc


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.