Eigene Programmiersprache erstellen

  • Ersteller Ersteller Imbericle
  • Erstellt am Erstellt am
I

Imbericle

Gast
ch habe bereits in Java, AutoIt html, CSS, php und javascript geschrieben.

Doch es regt mich auf, dass ich etwas benutze was jemand anderes sich ausgedacht hat und alles was ich in der Sprache schreibe bereits "vorgesehen" ist

und ich nichts machen kann was die Entwickler der Sprache nicht bedacht haben.

Will heißen ich will einen Compiler schreiben in dem ich meine Sprache definieren kann.


Was mich eben stört, ist dass ich weiß wie n Computer funktioniert, ich auch schon Transistorschaltungen nachgebastelt hab' und weiß wie ne Programmiersprache aufgebaut ist,

doch allerdings ist mir das zwischen drin wie es funzt das wenn ich zb. bei Javascript alert() eingebe, das dann auf einmal ein Nachrichtenfenster kommt.

Ich hoffe das ich meinen Wunsch verständlich gemacht habe.

MfG
 
Zuletzt bearbeitet:
Das ist die Maschinensprache besser in besser sichtbar gemachter Form, mal sehen
 
Zuletzt bearbeitet:
Tutorialzone.de - Rubrik Assembler

Dort findest du einige gute, aber auch weniger gute Tutorials. Wirklich handfest programmiert wird da zwar nicht, aber du gewinnst einen Überblick über Assembler.

Mir persönlich hat es viel gebracht, ich fand es interessant.

Aber verstehe ich das richtig, du willst eine eigene Programmiersprache aus dem Boden stampfen?
Hochsprachen wie Java,C++ verfolgen alle bestimmte Programmier Paradigmen, objektorientiert, prozedural - wenn du deinem Programmierstil eine eigene Handschrift geben willst, oder eigene Elemente implementieren willst wäre es da nicht geeigneter eigene Bibliotheken zu erstellen,Plugins, . . . mit denen du dann besser zurecht kommst als mit anderen Entwicklerwerkzeugen?

Oder definier einfach genauer worum es dir bei deinem Vorhaben.
 
Ich will net mehr mit Sachen arbeiten die irgendjemand irgendwann festgelegt hat, und die zwar ne Logik haben oftmals gegen meine logik und Syntaxvorstellungen gehen xD (insbesondere Java)
Daher will ich ein ein eigenes Format will heißen dateien mit meiner sprache schreiben können die dann zb. Programm.psfd heißen.
 
Zuletzt bearbeitet:
Man könnte auch was ähnlich wie groovy aufbauen, dann wirds ned gar so aufwändig wie wenn man was komplett auf Assemblerbasis baut.
Aber: Das wird auf jedem Fall ein enormer Aufwand (vor Allem wenn mans allein angeht); hast du ein paar Jahre Zeit?
 
Imbericle schrieb:
und ich nichts machen kann was die Entwickler der Sprache nicht bedacht haben.
Die üblichen, verbreiteten Programmiersprachen sind sehr universell einsetzbar. Was die Sprachen selbst nicht bieten, läßt sich oft in Form irgendwelcher Erweiterungen (neue Typen, Operatoren, Bibliotheken, ...) "dranbauen". Was _genau_ fehlt dir denn denn. Bringe mal ein paar Beispiele, was dir z.B. an C++ oder Java fehlt.


Imbericle schrieb:
Will heißen ich will einen Compiler schreiben in dem ich meine Sprache definieren kann.
Gutes Ziel. Erstmal solltest du dich dazu bischen mit der Theorie von formalen Sprachen beschäftigen. Ohne Theorie geht da mMn gar nichts. Schau dir die Grammatik-Typen der Chomsky-Hierarchie an. Mache dich mit dem Vokabular der Sprachentwickler vertraut. Du würdest sonst die Anleitungen der Werkzeuge zum Bauen eines Compilers gar nicht verstehen. Durch die Theorie sollte dir klarwerden, was für einen Typ Sprache du entwickeln möchtest.

Mit dem Wissen kannst du dann deine neue Programmiersprache formal definieren und aufschreiben. Das Bauen des Compilers für die Sprache ist dann der eher einfache Teil. Dazu gibts ebenfalls viel Literatur und starke Werkzeuge, die dir aus deiner formalen Sprachdefinition einen Compiler generieren - jedenfalls das Frontend, was deine Programme einliest und analysiert. Das Backend, was den Zielcode generiert, klaust du dir am besten von einem anderen Compiler.
 
Was mich eben stört, ist dass ich weiß wie n Computer funktioniert, ich auch schon Transistorschaltungen nachgebastelt hab' und weiß wie ne Programmiersprache aufgebaut ist,

sagen viele leute.. allerdings nur solange bis sie informatik studiert haben =)

Sprachen und Compiler sind weit komplizierter als es auf den ersten Blick scheint, glaubs mir. Es gibt allerdings Bücher zu dem Thema. Such mal bissl in Google.
 
@Imbericle

ich will ja nicht deine Fähigkeit in Frage stellen - aber das ist fürwahr ein Unternehmen, was einfacherer wäre sind eigene Entwicklungen wie JRuby, Sprachen die sich an existierende Hochsprachen anlehnen.

Bei JRuby an Java, d.h. dein erzeugter Binärcode wird auch über die Java Runtime Machine verarbeitet.

Was sagt dir bei Java denn beispielsweise nicht zu ? Java ist objektorientiert vielleicht ist es ja auch genau das, was du nicht so magst.
Vielleicht bevorzugst du ja prozedurale Programmiersprachen wie C oder ältere Sprachen die anders arbeiten mit indexierten Dateien beispielsweise wie COBOL... es gibt so viele Sprachen.

Nur weil beispielsweise eine dir nicht richtig zusagt, heisst das ja nicht, dass du gleich anfangen solltest eine neue Sprache zu definieren.
Kann es nicht sein, dass du einfach Lust hast eine andere auszuprobieren?
 
wer schon streikt, sich die syntax einer x-beliebigen programmiersprache einzutrichtern, wird erst recht scheitern, wenn er sich 'nen eigenen compiler stricken will. ein ansinnen, welches erfolglos im sand verlaufen wird ...
 
Der Compiler will ja auch erstmal geschrieben werden. Und das geht ja nicht mit Deiner gerade erdachten Programmiersprache (Henne - Ei - Problem).

Also wirste wohl oder übel ein ziemlich großes Projekt in einer Programmiersprache schreiben die Du offensichtlich nicht leiden kannst....

Ein wenig müsig - Ich würd mir auch lieber ne Sprache aussuchen die mir gefällt und dann ist gut...
 
Kann meinem Vorredner nur zustimmen. Deine Fähigkeiten in allen Ehren, aber Compilerbau ist weitaus komplexer als man im erstem Moment denkt. Da sind die Chomsky Hierarchien nur der Ast des Baumes.
Mich würden allerdings auch deine "Mängel" an den vorhandenen Hochsprachen interessieren, ausser die "Wiederbenutzung" deinerseits einer bestehenden funktionierenden sowie modernen Sprache wie Java.

Sicherlich hat jede Sprache Vor- und Nachteile. Ein Beispiel was mir auf Anhieb zu Java einfällt wäre die dauernde Referenzierung der verschiedenen Objekte, was in C wiederrum anders gelöst ist. Die Frage ob das besser oder schlechter ist, sollte jeder für sich selbst beantworten, denn da teilen sich die Meinungen ungemein!

Wenn du mal ein bisschen weiter über den Tellerrand gucken willst, kann ich dir Ruby empfehlen. Ruby ist eine äusserst moderne Sprache, und bietet ziemlich viele nette Features die abgekupfert wurden von den Hochsprachen. Ausserdem ist Ruby noch sehr stark in der Entwicklung. Wenn es dich wirklich interessiert, wäre eine Entwicklungsarbeit/Hilfe in dieser Sparte vielleicht eine denkbare Alternative für dich.
 
fett ruby sieht geil aus, dass könnt was sein
sehr einfach strukturiert, ich glaube ich habe meine große liebe gefunden^^
 
Der hier genannte Vorschlag, Assembler nachzubauen ist im Kontext 'Compilerbau' noch die einfachste Variante - die paar Register und Möglichkeiten und die simple Syntax - Spaziergang...


Aber ich weiß immer noch nicht, was der Topicstarter will - kann mich mal jemand erleuchten?
 
Hast du schon die Grammatik für deine neue Sprache? Wenn nein, würde ich erst an der arbeiten.
Du brauchst Syntax und Semantik ;)
hier les das mal. erster suchergebnis aus dem google!
Uni-Magdeburg
ich denke dir wird vorerst die lust an der neue Sprache zu arbeiten vergehen :P
besuch doch mal die Vorlesung Softwaretechnik und Programmiersprachen oder so ähnliches.

viel erfolg!
 
Ich hab mich auch sehr für formale Sprachen und Grammatiken interessiert und kann dir sagen das Informatik hier unheimlich kompliziert wird. Compilerbau ist für mich die Königsdisziplin der Informatik.
Nachdem man sich das Grundwissen über die formale Notation der Syntax angeeignet hat und glaubt man kann jetzt einfach drauflos ne Grammatik hinklatschen hat man sich aber gewaltig geschnitten. Eine Grammatik muss bis ins allerletzte Detail ausgeplant werden. Wie kompliziert das ist hab ich am eigenen Leib erfahren als ich eine sehr simple Scriptsprache für eines meiner Programme implementiert hab. Man eckt ständig wieder an weil irgendwas nicht passt.

Ein Member einer großen deutschen Visual Basic Seite hatte übrigens schon vor Jahren den Traum einer perfekten Programmiersprache die alle Fehler derzeitiger Sprachen aus der Welt schaffen sollte. Er arbeitet nun schon seit einigen Jahren allein an der Syntax, was wohl leider auch daran liegt das er nicht viel Zeit dafür übrig hat. Aber interessant ist es allemal: http://madrat.net/caliph/

Für den Einstieg würde ich empfehlen einen kleinen formalen Formelparser zu schreiben. Dann hat man eigentlich direkt den Durchblick wie ein Compiler Frontend funktioniert.
 
Zurück
Oben