![]() |
Re: programm, das eigenen Quellcode ausgibt?
Ich verstehe das hier nicht ganz, aber kann man nicht einfach die .pas als ressource speichern?
|
Re: programm, das eigenen Quellcode ausgibt?
Doch, klar kannst du das.
|
Re: programm, das eigenen Quellcode ausgibt?
ich bin mir nicht sicher (muss mir die aufgabenstellung nochmal genau durchlesen), ob externe dateien dabei sein dürfen! ich denke jedoch nicht, den sonst wärs ja zu einfach für unseren info-lehrer;)
|
Re: programm, das eigenen Quellcode ausgibt?
Wie stellt sich das euer Info-Lehrer vor? Wie sollst du aus dem kompilierten Quellcode wieder den Quelltext bekommen? Das ist unmöglich!!!
|
Re: programm, das eigenen Quellcode ausgibt?
Ich hab mir gedacht, dass das durch rekursion irgendwie machen zu können, vielleicht is das aber auch die falsche richtung!
ps: ich bezweifle (auch?), dass das mein informatiklehrer schafft! |
Re: programm, das eigenen Quellcode ausgibt?
Wenn ers schafft bekommt er den ehren DrTitel für Informatik :mrgreen:
|
Re: programm, das eigenen Quellcode ausgibt?
falls jemand BrainFuck kennt, da hab ichs schon geschafft:
Code:
aber sonst bin ich ahnungslos...
.
|
Re: programm, das eigenen Quellcode ausgibt?
Hallo!
Die Frage ist, was das Programm ausgeben soll: 1. Den eingegebenen Quellcode - dann ist das ganz einfach. Bei einer Konsolenanwendung muß man mit Readln die Quelldatei zeilenweise einlesen und mit Writeln auf dem Bildschirm ausgeben. Ein Windows-Programm könnte das Ganze sogar mit men Memo erledigen - das wäre dann ein 2-Zeiler! 2. Bei jeder Anweisung die entsprechede Source-Zeile ausgeben, also einen Ablauf-Verfolger (Trace). Das geht grundsätzlich nicht. Allenfalls könnte man das Programm erstellen und dann zusätzlich bei jede Zeile den auszuführenden Code mit Writeln ausgeben. Dazu muß aber das Programm gegenüber dem ausgegebenen "Quelltext" verändert werden.
Delphi-Quellcode:
program test;
var v:Byte; procdure up (var a:Byte); begin writeln ('procedure up (var a:Byte);'); writeln ('begin') writeln ('inc (a);'); inc (a); writeln ('end;'); end; begin writeln ('program test;'); writeln ('var v:Byte;'); writeln ('begin'); writeln ('v := 5;'); v := 5; writeln ('up (v)'); up (v); Writeln ('end.') end. Vermutlich hat der Lehrer Variante 1 gemeint! Gruß Dietmar Brüggendiek |
Re: programm, das eigenen Quellcode ausgibt?
Moin Illuminator,
Zitat:
|
Re: programm, das eigenen Quellcode ausgibt?
Schau dich mal bei
![]() Dein Programm ist theoretisch durchaus machbar, aber durch den selbstreferentiellen Bezug ist das etwas fuer Gurus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz