Erstellen Sie eine Programmier-Sprache C#
Erste von allen, ich will eine Programmier-Sprache, um die Wechselwirkungen zwischen Sprache und meine Anwendung Umgebung. Ich habe etwas geschrieben, was genau weiß if
, void
und function
Variablen mit Ihren Fernrohren und natürlich aufrufen eingebauter Funktionen, die Sie alle arbeiten perfekt. Aber jetzt bin ich stecken mit einigen teilen und erkannte, dass ich kann nicht weiter mit nur einfachen text-parsing und es gibt viele Dinge, die ich nicht tun kann.
Also für das, dass ich gesucht zu diesem Thema und ich habe Erstellen Programmiersprache mit C#. Es war in Ordnung, aber ich habe zwei Probleme mit ihm.
- Ich es nicht verstehen kann.
- Es generiert Konsole-codes, aber ich möchte, um Sie in einer Windows Forms-Anwendung.
Kurz, gibt es jemanden, der weiß, wie ich das machen kann eine Sprache ohne das lernen über Lexers, Reflexionen ...
Dank.
- "_For kurz, Ist da jemand, der weiß, wie kann ich meine eigene Sprache ohne Kurse wie lexer, Reflexionen ... _" ... äääh, Nein. Sie müssen lernen, die Grundlagen zu verstehen, wie man erstellen Sie Ihre eigenen, wirklich einzigartigen Sprache. Was brauchen Sie für diese ? Denken Sie daran, wir haben die DLR, das ermöglicht das einbetten einer Skriptsprache in eine app geben, wäre das ausreichend für Sie ?
- Ist das eine lernaufgabe? Oder sind Sie tatsächlich versuchen, do etwas. Wenn letzteres, gibt es eine Menge von scripting Sprachen, die Sie verwenden können innerhalb der c# - die "Eisen" (iron python, Eisen, ruby, etc), boo, f#, JavaScript-engines; wahrscheinlich lua, etc...
- Es ist nicht Lern-Aufgabe-und ich brauche diese für mein Motor!. Ich habe eine schöne 2d-level-editor denke ich und ich will mit ihm interagieren mit den codes. DLR? hmm, ich glaube, ich habe es aber nie wissen, seinen Namen. Oh! DLR-ich habe vergessen, was war, dass, ja, aber ich habe nie versucht einzubetten. Ich sollte es versuchen.
- Dann mein Tipp: verwenden Sie etwas, das bereits vorhanden ist, und verbringen Sie Ihre Zeit mit dem schreiben die Sachen, die einzigartig für Ihr Projekt, anstatt das schreiben einer engine. Doing dieses Zeug gut ist wirklich wirklich hart und nimmt Expertenwissen. Tut es schlecht ist, nur "hart" und werden buggy und langsam.
Du musst angemeldet sein, um einen Kommentar abzugeben.
diesen Artikel Lesen :
Implementierung von Programmiersprachen mit C# 4.0
Ich bin mir nicht sicher, ob ich wirklich verstehe Ihre Frage.
Ist dies eine Erweiterung Ihres Programms? Eine Sammlung von Bibliotheksfunktionen in C# geschrieben?
Oder eine komplett eigenständige Sprache, für die Sie schreiben, einen interpreter in C#? (was ich denke)
Wenn es das Letzte ist, in den guten alten Tagen ich würde hingewiesen haben du bei Lex/Yacc (GIYF).
Gerade jetzt, ich kann nur sagen ANTLR. Überprüfen Sie heraus die Fünf Minuten Einführung in ANTLR 3 und ANTLR v3 C# - Code-generator und-Laufzeit-Bibliothek
Nur check-out die screenshots der IDE auf dieser Seite
Erstellung Ihrer eigenen Sprache, ist möglich, aber sehr anspruchsvoll. Sie können es nicht gut ohne Dinge wie lexers.
Erstellung Ihrer eigenen Sprache zwingt auch Ihre Kunden zu erfahren, noch eine andere Sprache, und es werden keine vorhandenen third-party-code oder-Bibliotheken für diese vermeintliche Sprache.
Wäre eine alternative zum einbetten einer vorhandenen Sprache und setzen die Funktionalität Ihrer Anwendung durch. Python ist eine sehr häufige Wahl für die Einbettung, aber es gibt viele andere Optionen. Ich empfehle, für diese Aufgabe, Sie betrachten die Einbettung einer vorhandenen Sprache als vielmehr erfinden Sie Ihre eigenen.