Mein erstes programm
-
Was diese Sprache macht findest du bei Wikipedia, wie sie funktioniert in unzähligen Tutorials im Internet. Aber wenn du keine Ahnung von Prolog hast könnte es uU schwer werden einen Parser dafür zu schreiben.
Lass dir am besten eine einfache Minimal-Sprache selbst einfallen. Basic-Like, sth like that:
OUT Hello World FOR %i FROM 1 TO 10 OUT Ich bin in Schleifendurchgang %i
Lies eine solche Datei mit deiner Sprache ein, parse sie und übersetze sie in ein C-Programm. Das heißt dein Programm soll aus dem obrigen Code eine Datei mit folgendem Inhalt erstellen:
printf("Hello World\n"); for(int i = 1; i <= 10; ++i) printf("Ich bin in Schleifendurchgang %d\n",i);
Je nachdem wie umfangreich du deine Mini-Sprache machst wird dein Programm schwerer.
MfG SideWinder
-
schau mal hier:
http://de.wikipedia.org/wiki/Parser
http://de.wikipedia.org/wiki/Prolog_(Programmiersprache)mfg
rifkin
-
Also kann man mit prolog:
1. Eine eigenen kleine sprache entwickeln ?
2. Eine art übersetzer entwickeln ( wie ein disammbler ) ??PS: Könnt ihr mal bitte aufhören euch immer so kompliziert auszudrücken *trän* ?? .....
PPS: Mein kopf tut schon weh.....
-
Nein, Prolog ist wie C eine Sprache.
Für Prolog gibts genauso wie für C Compiler.
Für Prolog schreiben genauso Leute Source-Code wie für C.Deine Aufgabe ist es nun mit Hilfe eines C-Programms Prolog-Source-Code zu verwerten. Aber vergiss das. Mach lieber eine kleine eigene Sprache und parse diese
MfG SideWinder
-
Kann ich damit meine eigene kleine sprache "bauen"?
-
eine Aufgabe ist es nun mit Hilfe eines C-Programms Prolog-Source-Code zu verwerten.
Achso. Ich soll mit c ein programm schreiben, der die prolog code ...
a) zu einem programm macht.
b) auf c übersetzt.
???für b) : Also auf der basic anweisung PRINT "ada" -> printf ("ada"); macht ?
-
Richtig :D, aber Prolog ist für den Anfang da imho etwas ungeeignet. Vor allem a).
Also bastel dir statt Prolog eine eigene Mini-Sprache und übersetz von der den Code nach C.
Also aus "OUT Hello World" -> printf("Hello World\n") etc.
MfG SideWinder
-
Sag mal ehrlich. Glaubstdu nicht es ist ein bisschen schwer eine geigene sprache zu entwickeln?
Wie würdest du es den machen? Mit if anweisungen? Ich schetz mal du hast auch ma so eine eigenen kleine sprache entwickelt. Kannst du mir mal dein grundgerüst zeigen?
-
Ich frag mich auch, wie man sowas verwirklichen kann. Ich warte mal auf neh antwort.
@SideWinder: Würde es mit if (eingabe== adh) { sdsdasdasd } gehen
-
Habe ich ihrgendwas falsch verstanden/gesagt, oder warum antwortet niehmand mehr?
-
neh ich will doch lieber ganz bei c und den c headern bleiben. Hat jemand noch andere idden?
-
ausserdem wird er bei einem parser wohl eher stdio maltretieren :-))
-
???? was ????