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


Groups > comp.lang.c > #390012

Re: transpiling to low level C

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: transpiling to low level C
Date 2025-01-13 08:10 -0800
Organization A noiseless patient Spider
Message-ID <86tta266fc.fsf@linuxsc.com> (permalink)
References (4 earlier) <vjpn29$17jub$1@dont-email.me> <86ikrdg6yq.fsf@linuxsc.com> <vk78it$77aa$1@dont-email.me> <86ed20g0ww.fsf@linuxsc.com> <vk7m3a$9l2b$1@dont-email.me>

Show all headers | View raw


Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:

> On 21.12.2024 22:51, Tim Rentsch wrote:
>
>> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>>
>>> On 21.12.2024 02:28, Tim Rentsch wrote:
>>>
>>>> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>>>>
>>>>> On 16.12.2024 00:53, BGB wrote:
>>>>>
>>>>>> [...]
>>>>>>
>>>>>> Pretty much all higher level control flow can be expressed via
>>>>>> goto.
>>>>>
>>>>> A 'goto' may be used but it isn't strictly *necessary*. What
>>>>> *is* necessary, though, that is an 'if' (some conditional
>>>>> branch), and either 'goto' or recursive functions.
>>>>
>>>> Conditional branches, including 'if', '?:', etc., are not
>>>> strictly necessary either.
>>>
>>> No? - Can you give an example of your statement?
>>>
>>> (Unless you just wanted to say that in some HLL abstraction like
>>> 'printf("Hello world!\n")' there's no [visible] conditional
>>> branch.  Likewise in a 'ClearAccumulator' machine instruction, or
>>> the like.)
>>>
>>> The comparisons and predicates are one key function (not any
>>> specific branch construct, whether on HLL level, assembler
>>> level, or with the (elementary but most powerful) Turing
>>> Machine).  Comparisons inherently result in predicates which is
>>> what controls program execution).
>>>
>>> So your statement asks for some explanation at least.
>>
>> Start with C - any of C90, C99, C11.
>>
>> Take away the short-circuiting operators - &&, ||, ?:.
>>
>> Take away all statement types that involve intra-function
>> transfer of control:  goto, break, continue, if, for, while,
>> switch, do/while.  Might as well take away statement labels too.
>>
>> Take away setjmp and longjmp.
>
> And also things like the above mentioned 'printf()' that most
> certainly implies an iteration over the format string checking for
> it's '\0'-end.

The *printf() functions can be implemented in standard C, under the
above stated limitations, without needing iteration.

> And so on, and so on. - What will be left as "language".

I think most C developers would be able to answer that question
given the above stated description.  Is there some part that isn't
clear to you?

> Would you be able to formulate functionality of the class of
> Recursive Functions (languages class of a Turing Machine with
> Chomsky-0 grammar).

General rewrite grammars, which is another name IIRC for Chomsky
Type 0 languages, are computationally equivalent to Turing Machines
(which incidentally takes me back almost five decades to my formal
computability education).  The answer is yes.


>> Rule out programs with undefined behavior.
>>
>> The language that is left is still Turing complete.
>
> Is it? 

Yes, it is.

> But wouldn't that be just the argument I mentioned above;  that a,
> say, 'ClearAccumulator' machine statement wouldn't contain any
> jump?

No, afaict the two questions have nothing to do with each other.


>> Proof: exercise for the reader.
>
> (Typical sort of your reply.)

I expect you will see better results if you put more effort into
listening and thinking, and less effort into making ad hominem
remarks.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 00:05 -0300
  Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-15 04:31 +0000
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 07:44 -0300
      Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-15 22:22 +0000
        Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 20:22 -0300
          Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-16 01:02 -0600
            Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-16 08:17 -0300
            Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 11:46 +0000
            Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 19:44 +0000
            Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-16 13:59 -0800
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 23:36 +0000
  Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-14 20:39 -0800
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 07:49 -0300
      Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-15 13:01 -0800
        Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-02-15 21:01 -0800
          USENET and spam (Was: Re: transpiling to low level C) Salvador Mirzo <smirzo@example.com> - 2025-02-16 10:17 -0300
  Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-15 11:28 +0000
    Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 08:46 -0300
      Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-15 09:13 -0300
  Re: transpiling to low level C Bonita Montero <Bonita.Montero@gmail.com> - 2024-12-15 20:08 +0100
    Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-15 21:32 +0000
      Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-15 17:53 -0600
        Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-16 10:36 +0100
        Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-16 08:21 -0300
          Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 01:03 -0600
            Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 14:55 -0300
              Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 14:59 -0300
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 15:16 -0300
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 18:37 +0000
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 16:07 -0300
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 19:42 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:51 -0600
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-18 16:43 -0300
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 18:27 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 00:35 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 23:46 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 11:27 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-19 14:36 -0600
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-20 05:10 -0600
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-23 02:08 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-23 05:15 -0600
              Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 13:07 -0600
                Re: transpiling to low level C Thiago Adams <thiago.adams@gmail.com> - 2024-12-17 16:33 -0300
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:51 -0600
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-21 05:34 +0000
        Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-16 18:12 +0100
          Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 18:37 +0000
            Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-16 21:39 +0100
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-16 23:26 +0000
                Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-16 17:19 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 00:40 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 16:17 +0000
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-17 18:18 +0100
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-17 18:46 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 22:45 +0000
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-18 00:23 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 01:24 +0000
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-18 03:51 +0000
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-18 17:26 +0100
                Re: transpiling to low level C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2024-12-17 12:13 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-18 17:19 +0100
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-17 18:29 +0100
          Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-20 17:28 -0800
            Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-21 21:31 +0100
              Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-21 13:51 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:22 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-13 08:10 -0800
              Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 00:20 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:13 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 02:18 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 01:39 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 03:04 +0200
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 03:06 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 17:39 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-23 02:41 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 08:43 +0100
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 00:51 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-28 09:20 -0800
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-04 12:12 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-01-04 12:53 -0800
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2025-01-05 11:18 +0000
                Re: transpiling to low level C James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-05 12:04 -0500
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-07 21:38 -0800
                Re: transpiling to low level C James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-12-21 22:17 -0500
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 19:51 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-06-06 11:50 -0700
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 13:02 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 13:25 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 15:50 -0800
              Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 06:01 +0000
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-22 11:22 +0200
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-22 11:35 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 10:38 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 19:44 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-04 11:18 -0800
                Re: transpiling to low level C Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-12-22 20:41 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 00:20 +0200
                Re: transpiling to low level C scott@slp53.sl.home (Scott Lurndal) - 2024-12-23 15:41 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-23 15:51 +0000
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 18:05 +0200
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 14:05 -0800
                Re: transpiling to low level C antispam@fricas.org (Waldek Hebisch) - 2024-12-22 23:29 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 09:46 +0100
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-23 11:35 +0000
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 13:18 +0100
                Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-23 13:40 +0200
                Re: transpiling to low level C David Brown <david.brown@hesbynett.no> - 2024-12-23 13:24 +0100
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 13:18 -0800
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-24 00:41 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 20:55 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 03:41 -0600
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-25 15:43 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-28 09:24 -0800
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-28 13:59 -0600
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-31 04:57 -0800
                Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 13:28 -0800
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-23 14:00 -0800
              Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-22 14:19 +0000
                Re: transpiling to low level C Ben Bacarisse <ben@bsb.me.uk> - 2024-12-22 15:30 +0000
              Re: transpiling to low level C Kaz Kylheku <643-408-1753@kylheku.com> - 2024-12-22 21:45 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-22 23:22 +0000
                Re: transpiling to low level C Kaz Kylheku <643-408-1753@kylheku.com> - 2024-12-22 23:47 +0000
                Re: transpiling to low level C Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-22 17:22 -0800
        Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 21:23 +0000
          Re: transpiling to low level C Michael S <already5chosen@yahoo.com> - 2024-12-17 11:16 +0200
          Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 12:04 +0000
            Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-17 12:51 -0600
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 12:08 +0000
                Re: transpiling to low level C BGB <cr88192@gmail.com> - 2024-12-18 12:50 -0600
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-18 23:37 +0000
            Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-17 19:40 +0000
              Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 19:45 +0000
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-17 22:25 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-17 22:55 +0000
                Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-18 05:55 +0000
                Re: transpiling to low level C bart <bc@freeuk.com> - 2024-12-19 00:32 +0000
    Re: transpiling to low level C Lawrence D'Oliveiro <ldo@nz.invalid> - 2024-12-16 21:22 +0000
      Re: transpiling to low level C Rosario19 <Ros@invalid.invalid> - 2024-12-26 13:16 +0100
  Re: transpiling to low level C User One <noreply@invalid.com> - 2025-02-09 17:51 +0000
    Re: transpiling to low level C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2025-02-09 12:43 -0800

csiph-web