hi.
ich suche nach einem guten Tutorial wie man eine Computersprache von Grund auf entwickelt, also mit eigener Syntax, etc. Es geht mir ums verstehen, nicht darum eine Sprache zu entwickeln die irgendwas neues tolles kann.
Mich interessiert beides interpretierte Scriptsprache also auch wie man einen simplen Compiler konstruiert.
wie eine Programmiersprache entwickeln?
Re: wie eine Programmiersprache entwickeln?
Hallo,
Was interessiert dich denn wirklich, die Logik einer Sprache oder deren praktische Umsetzung auf bestehende Hardware?
gruss neuss
So ganz verstehe ich deine Frage nicht. Eine Programmiersprache ist doch in in erster Linie dazu da, eine Aufgabe leichter und verständlicher lösen zu können.startx hat geschrieben:Es geht mir ums verstehen, nicht darum eine Sprache zu entwickeln die irgendwas neues tolles kann.
Sprache und Interpreter / Compiler sind verschiedene paar Schuhe, auch wenn die Sprache in der Praxis oftmals dem Compiler, also der Hardware Tribut zollen muss.startx hat geschrieben:Mich interessiert beides interpretierte Scriptsprache also auch wie man einen simplen Compiler konstruiert.
Was interessiert dich denn wirklich, die Logik einer Sprache oder deren praktische Umsetzung auf bestehende Hardware?
gruss neuss
stell dir vor, es geht, und keiner kriegt es hin.
Re: wie eine Programmiersprache entwickeln?
Vielleicht kannst du so etwas gebrauchen:
1. http://compilers.iecc.com/crenshaw/
2. http://www.thefreecountry.com/sourcecode/grammars.shtml
3. http://ubuntuforums.org/showthread.php?t=351973
4. http://www.planet-source-code.com/vb/sc ... 6&lngWId=7
5. http://www.planet-source-code.com/vb/sc ... 4&lngWId=7
1. http://compilers.iecc.com/crenshaw/
2. http://www.thefreecountry.com/sourcecode/grammars.shtml
3. http://ubuntuforums.org/showthread.php?t=351973
4. http://www.planet-source-code.com/vb/sc ... 6&lngWId=7
5. http://www.planet-source-code.com/vb/sc ... 4&lngWId=7
Re: wie eine Programmiersprache entwickeln?
Oder google mal nach Übersetzerbau und Compilerbau, da gibts einige Vorlesungsskripte dazu.
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: wie eine Programmiersprache entwickeln?
Hallo,
zur logischen Struktur und Aufbau von Programmen/Programmiersprachen wird der MIT-Insasse mit sowas hier behandelt. Auch heute noch.
Falls Du es noch nicht kennst, zieh Dir die Videos per torrent und danach ins Gemüt.
Grosser Geekspass!
Groetjes, niels
zur logischen Struktur und Aufbau von Programmen/Programmiersprachen wird der MIT-Insasse mit sowas hier behandelt. Auch heute noch.
Falls Du es noch nicht kennst, zieh Dir die Videos per torrent und danach ins Gemüt.
Grosser Geekspass!
Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
- Sid Burn
- Beiträge: 47
- Registriert: 16.11.2006 15:18:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /universe/earth/europe/germany/nrw/essen
-
Kontaktdaten:
Re: wie eine Programmiersprache entwickeln?
Das erste was du schonmal lernen kannst ist es das es sowas wie eine "Skriptsprache" oder "Kompilierte" Sprache nicht gibt. Eine Sprache besteht erstmal nur aus Syntax Regeln. Sprich deiner Grammatik. Wie du diese Sprache nun dazu bewegst das es das tut was es tun soll ist ein anderer Hut.Mich interessiert beides interpretierte Scriptsprache also auch wie man einen simplen Compiler konstruiert.
Du kannst ein Compiler bauen oder einen Interpreter. Und selbst da sind die unterschiede eigentlich nicht so riesieg. Du must erstmal einen Parser haben bei beiden der deine Sprache "Lesen" kann. Ein Compiler wandelt dann deine Sprache in eine andere Sprache um. Wie die andere Sprache nun ausschaut ist auch egal, Sprich ob es nun Assembler ist oder spezielle Opcodes die von einem Interpreter (in diesem Fall sagt man oft VM (=Virtuelle Maschiene)) Interpretiert wird spielt dann keine Rolle.
Eine Programmiersprache kann beliebig Kompiliert oder Interpretiert werden. Ist halt einfach eine Sache welche Implementierungen du baust. Du kannst auch einen Interpreter bauen der C Interpretiert (gibt es schon).
Die Unterteilung in "Programmiersprache", "Kompilierte Sprache" oder "Interpretierte Sprache (Skriptsprache)" ist also total Schwachsinnig da die Sprache nicht an Ihre Implementierung gebunden ist.
Ansonsten musst du dich da mit Compilern, Parsern auseinander setzen. Die "Bibel" dazu soll wohl angeblich das sogenannte "Dragon" Book sein. http://en.wikipedia.org/wiki/Compilers: ... _and_Tools
Meist sollte das wohl mit C und Tools wie Yacc, Bison etc. nutzen. Allerdiengs bin ich da auch kein experte auf dem Gebiet.
Wenn du etwas Moderners haben willst dann schau doch mal in der Entwicklung von Parrot vorbei. Wenn du Parrot nicht kennst: Es ist eine allgemeine neue VM die primär für Perl 6 gedacht ist. Allerdiengs kann Parrot nicht direkt Perl 6 ausführen sondern nur "Zwischencode" (Opcodes, Bytecodes). Parrot ist darauf ausgelegt das es später alles beliebiege ausführen kann. Nunja eigentlich versteht es ja nur die Zwischencodes du musst halt nur Compiler Schreiben die die eine oder andere Sprache eben in einem Zwischencode umwandelt der von Parrot verstanden wird. Aber die Entwicklung um Parrot ist verdamt groß.
Und Parrot selber ist mitlerweile schon zu einem Entwicklungskit herangewachsen mit dennen du deine eigene Sprachen realisieren kannst. Vielleicht findest du da ja noch gute Infos und evtl. kannst da gleich Praktisch ans Werk gehen.