Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

1

30.12.2013, 22:37

Die Programmiersprache XièXiè (v.2.0)

UPDATE: (14.05.2015)

Hier stelle ich das Projekt für meine kleine Programmiersprache, dem dazugehörigen Compiler und Virtuelle Maschine vor.
Die Sprache heißt XièXie (gesprochen in etwa "ChiChi"), das chinesische Wort für "Danke".

Das Projekt in der 2. Version befindet sich auf Github:
https://github.com/LukasBanana/XieXie-2

Offen zugänglich ist das Projekt unter der 3-Klausel BSD Lizenz.

Die Sprache wurde beeinflusst durch: C#, Java, Swift, Python, C++
Sie soll als Skript Sprache dienen, u.a. für das Event Handling in Video Spielen.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »LukasBanana« (14.05.2015, 18:55)


Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

2

30.12.2013, 23:54

Hast du schonmal daran gedacht zum Beispiel den LLVM als Basis zu verwenden?
Dann muss man sich keine großen Gedanken zu verschiedenen Platformen, Optimierung und Debugging mehr machen.

llvm.org/docs/tutorial

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

3

31.12.2013, 00:54

Interessant. Sowas ähnliches ist meine Bachelor Arbeit. :D
Wie kamst du dazu? Reine Neugierde?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

4

31.12.2013, 13:30

@Spiele Programmierer: LLVM kenne ich bereits durch ein Seminar in dem ich derzeit noch bin. Allerdings habe ich mich mit dem Framework bislang noch nicht genau auseinander gesetzt.
Ich habe aber ohnehin vorgehabt, meinen Compiler von Grund auf selbst zu entwickeln. Endlich mal wieder ein Projekt, das keine Abhängigkeiten zu anderen Bibliotheken hat :D
Vor allem aber weil ich zur Zeit noch die "Compiler 1" Vorlesung an unserer Uni besuche und zu Lernzwecken alles selbst machen will. Deshalb habe ich auch kein Lex und Jack verwendet.

@Architekt: Die Idee dazu habe ich schon länger, weil es mich schon immer mal gereizt hat, eine eigene Sprache mit Compiler etc. zu entwickeln.
Den Namen habe ich schon seit einigen Monaten im Kopf und damit hat das Projekt dann im Grunde auch angefangen ^^.

So ähnlich hat ja auch Bjarne Stroustrup die erste Version von "C with Classes" gemacht bzw. das Programm "cfront" hat Code von "C with Classes" in C code als Zwischendarstellung übersetzt.

Gruß,
Lukas

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

31.12.2013, 16:18

Dann gutes Gelingen. :) Es macht wirklich Spaß, ist aber manchmal echt nervenaufreibend. :)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

6

31.12.2013, 16:40

Ich verstehe nicht den Schritt zu C++, warum nicht gleich zu C? Dann hast du wesentlich mehr Freiheiten, weil dir C++ ja wesentlich mehr vorgibt als C. Und der C-Compiler ist ja um einiges leichtgewichtiger als der von C++ (soweit wie ich das sehe). Vor allem die meisten Source to Source compiler gehen eigentlich auf C. Aber auch nur aus reiner Neugier. Dadurch hättest du auch die Chance, ein eigenes, Typsystem à la C# oder Generics an statt Templates zu implementieren.

Aber eine Vereinfachung finde ich auf jeden Fall gut!

7

01.01.2014, 03:36

Ich verstehe nicht den Schritt zu C++, warum nicht gleich zu C? Dann hast du wesentlich mehr Freiheiten, weil dir C++ ja wesentlich mehr vorgibt als C.

Das verstehe ich jetzt wiederum nicht. Wenn C doch eine Untermenge von C++ ist, wie könnte es dich dann einschränken? Und vielleicht kann man ja ein paar highlevel Features der neuen Sprache auf highlevel Features von C++ abbilden, was die Sache sogar vereinfachen könnte.
Lieber dumm fragen, als dumm bleiben!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

01.01.2014, 10:14

Wenn C doch eine Untermenge von C++ ist
Ist es das denn wirklich noch?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

01.01.2014, 11:45

Wenn C doch eine Untermenge von C++ ist
Ist es das denn wirklich noch?

In erster Näherung schon. ;)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

10

01.01.2014, 12:19

Für mich an seiner Stelle wäre C++ kein Mehrwert. Das fällt dadurch schon auf, dass man sich anscheinend auf Templates versteifen muss und keine Generics implementieren kann - ich wüsste zumindest nicht wie. Ein Weitere vorteil von C ist meiner Meinung nach, dass durch das fehlende Klassenkonzept die Codegeneratoren sogar noch einfacher sein sollten.
Den einzigen Nachteil sehe ich in den Bibliotheken, die in C teilweise fehlen. Aber rein aus Codetransformationssicht halte ich für C++ so ziemlich das schwierigste Ziel, was man sich an Land ziehen kann. Wie gesagt, es wird schon gutee Gründe geben, die ich vielleicht auch gar nicht sehe, warum nach C und nicht C++ generiert wird.
Ich weiß auch aus eigener Erfahrung, das Code generieren teilweise wirklich ziemlich tricky ist. Ich hab sogar nur die vereinfachte Form mit T4-Templates angewendet, was vergleichsweile "pille-palle" ist, aber da kann man auch schon ordentlich Zeit versenken. Daher kann ich mir im Compilerbau vorstellen, dass das viel komplizierter ist.

Werbeanzeige