Laden...

Eigene Sprache...

Erstellt von Timur Zanagar vor 19 Jahren Letzter Beitrag vor 19 Jahren 3.243 Views
Timur Zanagar Themenstarter:in
1.457 Beiträge seit 2004
vor 19 Jahren
Eigene Sprache...

Hallo...

Ich möchte folgende Umgebung in C# realisieren und weiß nicht wo ich da anfangen soll.

Es geht darum das ich eine Software schreiben möchte, in der ein dritter ohne weiteres auf bestimmte Funktionen, die ich anbiete, darauf zugreifen kann und eigene Funktionen schreiben kann. So eine Art Makrosprache in meiner C# Anwendung. Und wie schon erwähnt fehlt mir nun der Ansatz wie ich das ganze realisieren soll.

M
456 Beiträge seit 2004
vor 19 Jahren

Es wäre sinnvoll, dich vorher etwas mit Compilerbau zu beschäftigen.
Im .Net SDK sind einige Beispiele wie man einen Compiler für MSIL schreibt.
(Verzeichnis: (...)\Microsoft.NET\SDK\v1.1\Tool Developers Guide\Samples )

Ober du machst es dir ganz einfach und nutzt die C# Compilerklassen im Framework (Microsoft.CSharp oder VisualBasic) um Quelltexte zur Laufzeit zu kompilieren. Dein Benutzer muss dann zwar C# oder VB.NET können um Makros zu schreiben, dafür ersparts du dir ne menge Aufwand für das Schreiben eines Parsers und Compilers.

I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.

J
60 Beiträge seit 2004
vor 19 Jahren

Naja er muss nur teile der C# Syntax kennen, solche abstrakten dinge wie klassen kann man mit den genannten klassen gut verstecken.. würde gerne was posten, allerdings gehört der Quellcode meiner Arbeit, habe dort aber auch Scripts über die Compilerklassen umgesetzt, sogar ein kleiner Codeedior ist drin, über Reflektion.

wenns was einfaches sein soll: Eine Basisklasse extenden und den Code den er Schreibt in eine abstakte funktion überschreiben lassen.

lg

Ben

Das wirklich freie C# Buch für Programmieranfänger auf Wikibooks, auch du kannst helfen 😉

C
980 Beiträge seit 2003
vor 19 Jahren

Geht sowas nicht viel einfacher mit VSA (-> mit JScript.NET etc.)?

Timur Zanagar Themenstarter:in
1.457 Beiträge seit 2004
vor 19 Jahren

Ist mit diesen Ansätzen möglich die Funktionen von C# oder VB.NET einzugrenzen. Ich will nicht das der Anwender dann alle .NET Klassen nutzen kann sondern nur die Funktionen, die ich Ihm zu Verfügung stelle.

F
124 Beiträge seit 2004
vor 19 Jahren

jo ist möglich mit den sicherheitsrichtlinien. wenn du da mehr erfahren willst, kannst du mal nach planetarium oder so suchen. microsoft hat sowas laufen, wo jeder seine eigenen kleinen viecher coded und die dann auf einer gemeinsamen welt laufen. naja jedenfalls sind da zb threads verboten. musst du mal suchen und nachlesen.

J
60 Beiträge seit 2004
vor 19 Jahren

naja andere dlls erstmal nicht direkt Referenzieren, damit kann er nur was in der sprachbib ist (war glaub ich mscorb.dll). Also die ganzzahlen string char exception sind ansprechbar, der Rest müsste in System.dll und anderen liegen.

lg

Ben

Das wirklich freie C# Buch für Programmieranfänger auf Wikibooks, auch du kannst helfen 😉