[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Language Versions
From: |
Akim Demaille |
Subject: |
Re: Language Versions |
Date: |
Sat, 10 Sep 2022 08:52:06 +0200 |
Hi Arthur,
> Le 6 sept. 2022 à 23:05, Arthur Schwarz <home@slipbits.com> a écrit :
>
> Hi Akim;
>
> I do mean the version of C/C++/D/Java should be stated.
It does make sense.
> For example int he C case there is the K & R version.
We aim at C90. KnR support was dropped long ago:
> * Noteworthy changes in release 2.6 (2012-07-19) [stable]
>
> ** Future changes
>
> The next major release of Bison will drop support for the following
> deprecated features. Please report disagreements to bug-bison@gnu.org.
>
> *** K&R C parsers
>
> Support for generating parsers in K&R C will be removed. Parsers
> generated for C support ISO C90, and are tested with ISO C99 and ISO C11
> compilers.
And I can't remember anyone complaining about that.
> Is this the relatively old version you mean. For C++ do you mean C++98,
> C++03, C++11?
My first sentence was unclear, but contained the answer: C++98. And compatible
with more recent versions of the language. At some point I suppose we will be
able to drop C++03 and require at least C++11, but there's no urge for this.
> All of these are relatively old.I expect that D and Java have the same
> uncertainty.
>
> That you use relatively old versions is meaningless because you haven't
> specified the version. And suppose that the version baseline changes, and
> code generated from prior versions are deprecated, or more insidious, the
> semantics are altered. You've provided no guidance.
What are you exactly referring to here? I am not aware of any case where the
semantics are actually altered.
I do agree the skeletons should specific their language requirements, you are
absolutely right. But I dispute that changing the target language version
(e.g. KnR to C90) ever changed some semantics. It certainly broke builds for
people who were still using KnR C in 2012, but it did not alter semantics in
practice.
> This is no more than a single line in the document and/or part of --help. It
> tells your audience what compilers they can use and what language elements
> are available. All with a single line.
No can do. That's something related to the skeletons. So I will complete
their documentation, yes.
Cheers!