Re: Everyone here seems to consistently lie about this

Liste des GroupesRevenir à theory 
Sujet : Re: Everyone here seems to consistently lie about this
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theory
Date : 05. Aug 2024, 08:23:52
Autres entêtes
Organisation : -
Message-ID : <v8pum8$ibmo$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Unison/2.2
On 2024-08-04 12:30:26 +0000, olcott said:

On 8/4/2024 1:11 AM, Fred. Zwarts wrote:
Op 03.aug.2024 om 17:01 schreef olcott:
On 8/3/2024 9:54 AM, Fred. Zwarts wrote:>>>
Talking nonsense does not hide you problem. I don't disagree with that semantics.
It is HHH that deviates from the semantics of the x86 language by skipping the last few instructions of a halting program, changing its behaviour in this way.
 There are no last few instructions of any halting program
that DDD correctly emulated by HHH skips.
 Why substituting facts by dreams?
DDD halts when HHH halts. HHH skips tte last cycle of the simulated HHH,after which it would return to DDD, which would then return too.
 
 Within the semantics of C and the semantics of the x86
language (thus specifying a correct simulation) the call
to HHH(DDD) from the simulated DDD cannot possibly return.
 
 Indeed, that is why it is incorrect.
 Would the call from DDDD to ExecuteInput(DDDD) return?
 // This is ordinary C and I compiled and ran it.
 typedef void (*ptr)();
 void ExecuteInput(ptr x)
{
   x();
}
 void DDDD()
{
   ExecuteInput(DDDD);
   return;
}
 int main()
{
   ExecuteInput(DDDD);
}
Most likely it will abort or clrash for stack overflow. A compiler may
detect that the functions have no side effects and no return value and
traslate them as
void DDDD() {
  reurn;
}
or, if it also detects that there is a indirect infinite recursion,
as
void DDDD() {
  LOOP: goto LOOP;
}
but your compiler doesn't think so much.
--
Mikko

Date Sujet#  Auteur
5 Jul 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal