help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Language Versions


From: Arthur Schwarz
Subject: Re: Language Versions
Date: Thu, 15 Sep 2022 13:59:56 -0700
User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2

Hi;

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.


This puzzles me. You can't put a single line in for each language telling the user what the baseline language is? I don't believe this has anything to do with the skeletons, unless the skeletons are linked to a different language, and in this case the baseline language is the language version for the skeleton. I am truly mystified. You have already said what the Bison language version choices are (see below), what is being asked for is that  you include them in the manual. Something like, "Bison output is compilable using version C(), C++(), and D()", where the language version used is inserted in the "()". You might need to use prettier words but the sense is that you know the answer, and the user's of Bison should know it also.

Perpetually Confused;
art

On 9/9/2022 11:52 PM, Akim Demaille wrote:
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!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]