Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2848
| From | Hans-Peter Diettrich <DrDiettrich1@netscape.net> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: What is the meaning of an expression? |
| Date | 2022-01-20 13:02 +0100 |
| Organization | Compilers Central |
| Message-ID | <22-01-076@comp.compilers> (permalink) |
| References | (3 earlier) <22-01-066@comp.compilers> <22-01-067@comp.compilers> <22-01-068@comp.compilers> <22-01-069@comp.compilers> <22-01-070@comp.compilers> |
On 1/19/22 6:17 PM, Jan Ziak wrote: > On Wednesday, January 19, 2022 at 4:13:36 PM UTC+1, Hans-Peter Diettrich > wrote: >> On 1/19/22 12:18 AM, gah4 wrote: >>> And especially, as the question >>> needs, expressions that don't have a value? >> Aren't these called *statements*? > > One could imagine that, as a minimal requirement that has to be fulfilled by > any statement, the "value" of a statement X must include information about > what the next statement is after X is done executing, unless the programmer or > the compiler proves that the statement never terminates by itself. Can you please specify the language you have in mind? Languages like C or Pascal distinguish expressions from statements in their grammar. Allowed is to ignore the value (result) of an expression evaluation but not to use a non-expression as a value. > Back to the original post by Roger L Costello: A problem with both "The > meaning of an expression is its value" and "The semantics of an expression is > the value of the expression" is that some expressions never return a value ARAIR K&R C defined the value of a function call to be the value contained in the accumulator after return. A decision with horrible consequences if you look at compiler and library source code of that time. OTOH it derogates the meaning of an expression if at any time one can find a value in the defined result register. So I think that it's moot to discuss obscure languages that do not strictly distinguish expressions from statements. At the abstract level we could try to define what *is* an expression, with my favorite: "Evaluation of an expression yields a value." Then it should be clear that the meaning of an expression is a value. DoDi [Early C didn't have default return values, but since the compilers also didn't do much type checking, I can believe there was a code that worked by accident becaues the value of the last expression in a function happened to be in the register where the caller looked for the result. It's sort of like the Berkeley bug, that there was always a zero byte at memory location zero so dereferencing null pointers sort of worked. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
What is the meaning of an expression? Roger L Costello <costello@mitre.org> - 2022-01-14 12:15 +0000
Re: What is the meaning of an expression? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2022-01-14 18:20 +0000
Re: What is the meaning of an expression? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2022-01-15 00:28 +0100
Re: What is the meaning of an expression? gah4 <gah4@u.washington.edu> - 2022-01-14 17:58 -0800
Re: What is the meaning of an expression? George Neuner <gneuner2@comcast.net> - 2022-01-15 02:05 -0500
Re: What is the meaning of an expression? "matt.ti...@gmail.com" <matt.timmermans@gmail.com> - 2022-01-15 06:21 -0800
Re: What is the meaning of an expression? Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2022-02-03 12:50 +0000
Re: What is the meaning of an expression? Jan Ziak <0xe2.0x9a.0x9b@gmail.com> - 2022-01-16 07:44 -0800
Re: What is the meaning of an expression? Jan Ziak <0xe2.0x9a.0x9b@gmail.com> - 2022-01-17 15:45 -0800
Re: What is the meaning of an expression? Jan Ziak <0xe2.0x9a.0x9b@gmail.com> - 2022-01-18 10:03 -0800
Re: What is the meaning of an expression? gah4 <gah4@u.washington.edu> - 2022-01-18 15:18 -0800
Re: What is the meaning of an expression? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2022-01-19 11:54 +0100
Re: What is the meaning of an expression? Jan Ziak <0xe2.0x9a.0x9b@gmail.com> - 2022-01-19 09:17 -0800
Re: What is the meaning of an expression? gah4 <gah4@u.washington.edu> - 2022-01-19 14:03 -0800
Re: What is the meaning of an expression? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2022-01-20 13:02 +0100
Re: What is the meaning of an expression? dave_thompson_2@comcast.net - 2022-01-30 22:51 -0500
Re: What is the meaning of an expression? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-01-19 20:13 +0200
Re: What is the meaning of an expression? Thomas Koenig <tkoenig@netcologne.de> - 2022-01-22 20:46 +0000
Re: What is the meaning of an expression? Thomas Koenig <tkoenig@netcologne.de> - 2022-01-19 20:51 +0000
csiph-web