Re: Writing own source disk

Liste des GroupesRevenir à l c 
Sujet : Re: Writing own source disk
De : ben (at) *nospam* bsb.me.uk (Ben Bacarisse)
Groupes : comp.lang.c
Date : 03. Jun 2024, 13:58:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <87bk4ime5r.fsf@bsb.me.uk>
References : 1 2 3 4 5
User-Agent : Gnus/5.13 (Gnus v5.13)
bart <bc@freeuk.com> writes:

On 03/06/2024 10:31, Ben Bacarisse wrote:
bart <bc@freeuk.com> writes:
 
On 02/06/2024 23:17, Ben Bacarisse wrote:
Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes:
>
Writing a prgram which writes its own source to standard output is a
standard programming problem. It's called a quine.
A quine must also not process any input.
>
No input at compile-time or runtime?
The program isn't running at compile time.
 
A compiler necessarily has to have the source code of the program as input,
so what are the limitations?
The compiler can do what it likes!
 
A C program can use #include; does that extend
to directives like #embed, or is that considered cheating?
There's nothing wrong with using either, but a C quine that uses #embed
relies on knowing the name of the file in which it is stored.
>
I assume you can use __FILE__ with #embed? (I can do that with my version
of it).
>
Then it doesn't need to know the actual name of the file.

I don't know if that is guaranteed by the standard as I've not really
looked at C23, but if is it, that would be a way to write a (rather
boring) quine in C23.

 It is a
"fixed point of the execution environment", but it's probably the least
interesting C quine possible -- much like
   1
is a quine in languages that evaluate and print an expression.
>
Not really.

What part are you objecting to?  That the above (a C quine using #embed)
in not a fixed point of the execution environment?  That it's not an
uninteresting quine?  Or that it's not "much like" self-evaluating
expression quines?

You said "not really" in reply to a moderately complex paragraph.

I've just added this line:
>
  puts(strinclude(__FILE__));

I think I'm missing your point.  That does input at run-time (if my
guess about strinclude is correct).

--
Ben.

Date Sujet#  Auteur
2 Jun 24 * Writing own source disk43Malcolm McLean
3 Jun 24 +* Re: Writing own source disk32Ben Bacarisse
3 Jun 24 i+* Re: Writing own source disk9Malcolm McLean
3 Jun 24 ii+- Re: Writing own source disk1Lawrence D'Oliveiro
3 Jun 24 ii`* Re: Writing own source disk7Ben Bacarisse
4 Jun 24 ii `* Re: Writing own source disk6Malcolm McLean
4 Jun 24 ii  `* Re: Writing own source disk5Ben Bacarisse
4 Jun 24 ii   +- Re: Writing own source disk1Malcolm McLean
4 Jun 24 ii   `* Re: Writing own source disk3bart
5 Jun 24 ii    `* Re: Writing own source disk2Mikko
5 Jun 24 ii     `- Re: Writing own source disk1bart
3 Jun 24 i`* Re: Writing own source disk22bart
3 Jun 24 i +- Re: Writing own source disk1Malcolm McLean
3 Jun 24 i +- Re: Writing own source disk1Malcolm McLean
3 Jun 24 i `* Re: Writing own source disk19Ben Bacarisse
3 Jun 24 i  +* Re: Writing own source disk16bart
3 Jun 24 i  i+* Re: Writing own source disk7Ben Bacarisse
3 Jun 24 i  ii`* Re: Writing own source disk6bart
3 Jun 24 i  ii +- Re: Writing own source disk1bart
3 Jun 24 i  ii +* Re: Writing own source disk3Ben Bacarisse
3 Jun 24 i  ii i`* Re: Writing own source disk2bart
3 Jun 24 i  ii i `- Re: Writing own source disk1Ben Bacarisse
4 Jun 24 i  ii `- Re: Writing own source disk1Malcolm McLean
4 Jun 24 i  i`* Re: Writing own source disk8Keith Thompson
4 Jun 24 i  i `* Re: Writing own source disk7Keith Thompson
4 Jun 24 i  i  +- Re: Writing own source disk1David Brown
5 Jun 24 i  i  `* Re: Writing own source disk5Mikko
5 Jun 24 i  i   +- Re: Writing own source disk1Lawrence D'Oliveiro
5 Jun 24 i  i   `* Re: Writing own source disk3Keith Thompson
5 Jun 24 i  i    `* Re: Writing own source disk2Keith Thompson
5 Jun 24 i  i     `- Re: Writing own source disk1David Brown
4 Jun 24 i  `* Re: Writing own source disk2Lawrence D'Oliveiro
4 Jun 24 i   `- Re: Writing own source disk1Ben Bacarisse
3 Jun 24 +- Re: Writing own source disk1Lawrence D'Oliveiro
3 Jun 24 `* Re: Writing own source disk9Michael S
3 Jun 24  `* Re: Writing own source disk8Ben Bacarisse
4 Jun 24   `* Re: Writing own source disk7Malcolm McLean
4 Jun 24    `* Re: Writing own source disk6Ben Bacarisse
4 Jun 24     `* Re: Writing own source disk5Malcolm McLean
4 Jun 24      +- Re: Writing own source disk1Richard Harnden
6 Jun 24      `* Re: Writing own source disk3Ben Bacarisse
6 Jun 24       `* Re: Writing own source disk2Malcolm McLean
7 Jun 24        `- Re: Writing own source disk1Ben Bacarisse

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal