Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #2848

Re: What is the meaning of an expression?

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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