A program that produces its source code as output

prakash.athani

prakash.athani

@prakashathani-RsvHp8 Oct 26, 2024
Can anyone think about a program in any programming language of your choice which will post its own source code as output?

Replies

Welcome, guest

Join CrazyEngineers to reply, ask questions, and participate in conversations.

CrazyEngineers powered by Jatra Community Platform

  • Kaustubh Katdare

    Kaustubh Katdare

    @thebigk Oct 7, 2008

    No tries here? Where are our *crazy* computer engineers?
  • sauravgoswami

    sauravgoswami

    @sauravgoswami-UAfTlI Oct 7, 2008

    well its possible to write a programme to generate source codes,and it is possible here too,but the challenge is to generate codes according to the need of the hour,say less memory space,more sturdy,preference of tools so.on...
  • sriramchandrk

    sriramchandrk

    @sriramchandrk-wt4rlR Oct 9, 2008

    There are 3 types of executable programs (interpreted(basic, perl) , compiled programs (c, pascal) & semi interpreted (java) )

    You can produce its own source code as output only in interpreted programs.

    its possible for semi interpreted using a process called as decompilation but the output may not be exactly same as initial source.

    It not possible for compiled program.

    example for interpreted program using perl.
    =========================

    #!/usr/bin/perl

    open(INFILE, $0);
    while(<INFILE>)
    {
    print "$_";
    }

    =========================

    Thanks & Regards
    Sriram
  • aashu_itdude

    aashu_itdude

    @aashu-itdude-YKuvro Oct 10, 2008

    this c++ code reads the source file and displays the code as output. Its not a perfect code for this query but it can be further developed.

    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    #include<fstream.h>
    void main()
    {
    clrscr();
    int c=0;
    char a[238];
    ifstream fin("out.cpp"); //name of program
    while(!fin.eof())
    {
    fin.read(a,238);
    }
    puts(a);
    getch();
    }
  • emYth

    emYth

    @emyth-rTOL7D Oct 12, 2008

    Assuming that the source file names test.cpp

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        freopen("test.cpp","rt",stdin);
        string g;
        while(getline(cin,g)&&cin)
        {
          cout<<g<<endl;
        }
        return 0;
    }
    
  • Predictor

    Predictor

    @predictor-lfVrRm Feb 23, 2010

    sriramchandrk
    There are 3 types of executable programs (interpreted(basic, perl) , compiled programs (c, pascal) & semi interpreted (java) )
    ...but there have been BASIC compilers and C interpreters. ???


    -Will Dwinnell
    <a href="https://matlabdatamining.blogspot.com/" target="_blank" rel="nofollow noopener noreferrer">Data Mining in MATLAB</a>
  • Manish Goyal

    Manish Goyal

    @manish-r2Hoep Feb 23, 2010

    import java.io.*;
    class Source
    {
    public static void main(String args[])throws IOException
    {
    FileReader fr=new FileReader("Source.java");
    int c;
    while((c=fr.read())!=-1)
    {
    System.out.print((char)c);
    }
    }
    }
    
    
  • malardevi

    malardevi

    @malardevi-aD4KBK Feb 23, 2010

    prakash.athani
    Can anyone think about it and post replies?
    I think try it by using the same file name in that program. open the same file read it and then print it. just try it.
  • trishna05

    trishna05

    @trishna05-dzSjuq Jun 28, 2012

    #include <stdio.h>
    char*s="#include <stdio.h>%c char*s=%c%s%c;%c int main(void){printf(s,10,34,s,34,10,10);}";
    int main(void)
    {
    printf(s,10,34,s,34,10,10);
    }
  • Sahithi Pallavi

    Sahithi Pallavi

    @sahithi-oJZaYj Jun 28, 2012

    😕 😲 😒

    PS : sorry for spamming.