Erstelle eine Programmiersprache mit C # [geschlossen]

8

Zunächst möchte ich eine Programmiersprache, um Interaktionen zwischen dem Code und meiner Anwendungsumgebung zu ermöglichen, und das ist mein Ziel. Ich habe so etwas wie Interpreter geschrieben, die nur if , void und function , Variablen mit ihren Scopes kennen und natürlich eingebaute Funktionen aufrufen, die alle perfekt funktionieren. Aber ich bin jetzt auf einigen Teilen fest und merke, dass ich nicht einfach mit einfachem Text-Parsing fortfahren kann und es gibt viele Dinge, die ich nicht tun kann.

Also habe ich nach diesem Thema gesucht und Programmiersprache mit C # erstellt . Es war in Ordnung, aber ich habe zwei Probleme damit.

  1. Ich kann es nicht verstehen.
  2. Es erzeugt Konsolencodes, aber ich möchte sie in winapps verwenden.

Kurz gesagt, Gibt es jemanden weiß, wie kann ich meine eigene Sprache ohne Kurse wie Lexer, Reflexionen zu machen ...

Danke.

    
MahanGM 05.11.2011, 10:29
quelle

3 Antworten

6
amir-yeketaz 05.11.2011, 10:42
quelle
4

Ich bin mir nicht sicher, ob ich deine Frage wirklich verstehe.

Soll das eine Erweiterung Ihres Programms sein? Eine Sammlung von Bibliotheksfunktionen, die in C # geschrieben wurden?

Oder eine komplett separate Sprache, für die Sie einen Interpreter in C # schreiben? (was ich denke)

Wenn es das letztere ist, hätte ich Sie in den guten alten Tagen auf Lex / Yacc (GIYF) hingewiesen.

Im Moment kann ich nur ANTLR sagen. Schauen Sie sich die Fünf Minuten Einführung in ANTLR 3 und ANTLR v3 C # Code-Generator und Runtime-Bibliothek

Schaut euch einfach die Screenshots der IDE auf dieser Seite an

    
Mawg 05.11.2011 10:39
quelle
2

Die Erstellung Ihrer eigenen Sprache ist möglich, aber sehr anspruchsvoll. Du kannst es ohne Dinge wie Lexer nicht gut machen.

Das Erstellen Ihrer eigenen Sprache zwingt auch Ihre Kunden dazu, noch eine andere Sprache zu lernen, und es wird keinen existierenden Code oder Bibliotheken von Drittanbietern für diese vermeintliche Sprache geben.

Eine Alternative wäre, eine vorhandene Sprache einzubetten und dadurch die Funktionalität Ihrer Anwendung verfügbar zu machen. Python ist eine sehr häufige Wahl für die Einbettung, aber es gibt viele andere Optionen. Ich empfehle dringend, dass Sie für diese Aufgabe eine vorhandene Sprache einbetten, anstatt Ihre eigene zu erfinden.

    
David Heffernan 05.11.2011 10:35
quelle

Tags und Links