Deutsch   English   Français   Italiano  
<vipbsh$qllb$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
Newsgroups: comp.lang.c
Subject: Re: question about linker
Date: Wed, 4 Dec 2024 11:45:36 +0100
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <vipbsh$qllb$1@dont-email.me>
References: <vi54e9$3ie0o$1@dont-email.me> <vicque$15ium$2@dont-email.me>
 <vid110$16hte$1@dont-email.me> <87mshhsrr0.fsf@nosuchdomain.example.com>
 <vidd2a$18k9j$1@dont-email.me> <8734j9sj0f.fsf@nosuchdomain.example.com>
 <vidnuj$1aned$1@dont-email.me> <87ttbpqzm1.fsf@nosuchdomain.example.com>
 <vie0j5$1g968$1@dont-email.me> <vieun5$1mcnr$3@dont-email.me>
 <vihamj$2cflq$1@dont-email.me> <vihili$2f79m$1@dont-email.me>
 <vihu63$2ipg0$1@dont-email.me> <vii3kq$2kmc8$1@dont-email.me>
 <vikqvf$3fhce$1@dont-email.me> <jNm3P.7909$XuU6.3431@fx40.iad>
 <vinkbv$8r4i$1@dont-email.me> <vinm3p$9auh$1@dont-email.me>
 <vinqt2$bede$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 04 Dec 2024 11:45:38 +0100 (CET)
Injection-Info: dont-email.me; posting-host="710b50e4e72628794832f3555de01104";
	logging-data="874155"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/OeTFDxbkkPnkKXtnyWEbx"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
Cancel-Lock: sha1:EbArPuu0A1PjHO2bgetZQIma9f0=
In-Reply-To: <vinqt2$bede$1@dont-email.me>
X-Enigmail-Draft-Status: N1110
Bytes: 3826

On 03.12.2024 21:49, BGB wrote:
> On 12/3/2024 1:27 PM, Janis Papanagnou wrote:
>> On 03.12.2024 19:57, BGB wrote:
>>> On 12/2/2024 12:13 PM, Scott Lurndal wrote:
>>>>
>>>> Indeed.  One wonders at Bart's familiarity with formal grammars.
>>>
>>> In my case, personally I haven't encountered much that doesn't work well
>>> enough with a recursive-descent parser.
>>
>> Is that meant as a contradiction? - If so, how?
> 
> Formal grammars and parser generators aren't usually necessary IME,
> since recursive descent can deal with most everything (and is generally
> more flexible than what one can deal with in a formal grammar).

Hmm, okay. We obviously widely disagree here. IMO a language needs a
consistent grammar that one can look up to understand the syntactic
structure of a language as a clean basis for its semantics. (I don't
usually want to read [language implementation-]code (if available in
the first place) to understand the languages' syntactical structure.)

Language and grammar belongs together. Implementing a compiler or an
interpreter for a language where no grammar was (or can be?) defined
sounds absolutely odd to me.

Of course you don't "need" a grammar to _implement_ a language tool,
but it serves (and not only) to build a coherent language. Once you
have a grammar for your language you can then make use of tools and
formal rules to create a reliable outcome.

(There's a small textbook from N. Wirth where he explains compiler
construction (or rather, a specific, simple form of it) based on an
LL(1) grammar and implemented that by a Recursive Descent parser. -
Emphasis on the _grammar_ as base of the design and development! -
I pointed to this example because - I think for simplicity - it also
decided to implement the language using a Recursive Descent parser.
Usually more powerful grammars and parsers are used; LR, LALR, ...)

> 
> Though, it seems I didn't read enough, they were debating about
> syntactic use of semicolons as a separator rather than parser writing...

Right. (Semicolons are a very basic element of a language and its
"formal grammar" that Scott was referring to.)

Janis

> [...]