Startseite > Archiv > Interpreter-Entwicklung auf Basis von Irony

Interpreter-Entwicklung auf Basis von Irony

dotnetpro 02/2009 Von Andreas Maslo erschienen in dotnetpro 02/2009 auf Seite 50
Code: A0901Irony
Keine Bewertung

Wenn Sie eine neue Programmiersprache auf Quelltextebene definiert haben, zerlegen Sie diese mit Irony in abstrakte Syntaxbäume. Diese bilden die Grundlage für die spätere Quelltextausführung oder Übersetzung. Irony bietet derzeit noch keine Funktionen zum Kompilieren eines Programms in eine Assembly. Mit dem zerlegten Code sorgen Sie – im eigenen Interpretermodus – dennoch sehr leicht für eine Ausführung.

Artikel Download

Als Abonnent können Sie den gesamten Artikel als PDF abrufen und die zugehörigen Quelltexte direkt downloaden.

Sie sind bereits Abonnent? Dann registrieren Sie Ihr Abonnement jetzt online und greifen Sie sofort auf das komplette Artikelarchiv zu.

Einzelheft-Bestellung

Sie interessieren sich für diesen Artikel und haben noch kein Abonnement? Dann bestellen Sie doch einfach diese Ausgabe der dotnetpro als Einzelheft.

Abo-Bestellung

Probeabo
Wenn Sie die dotnetpro kennenlernen wollen, ist das Probeabo genau richtig für Sie. Lesen Sie die aktuelle sowie die kommende Ausgabe zu einem besonders günstigen Preis.








Abo
Wenn Sie die neue Ausgabe der dotnetpro als Erster lesen wollen, dann liegen Sie mit einem Abo genau richtig – zwölf Mal pro Jahr druckfrisch in Ihrem Briefkasten und das noch bevor das Heft am Kiosk erhältlich ist.

Sie finden diesen Artikel interessant? Dann helfen Sie anderen ihn zu finden und kicken Sie ihn bei www.dotnet-kicks.de!

Tags

_Interpreter   050dnp_Irony   108ff   2008   2009   91ff   A0902Irony   Abbildung   Abbildungen   aber   Abfragedialog   Abfragen   abgebildet   abgefragt   abgeru   abrufbar   abschließende   abstrakte   abstrakten   abwarten   abweichende   achten   Achtung   Aktionen   aktualisiert   aktuell   aktuellen   alle   allen   aller   Allerdings   Alles   also   älteren   alternativ   analysieren   analysiert   Anbindung   Anbindungsfunktionen   andere   anderen   Ändern   anders   Änderungen   anderweitig   AndIdentifier   Andreas   Anfänge   anfügen   ange   angeboten   angebun   angepasst   angezeigt   anhand   Anheften   Anlegen   anpassen   anschließend   Ansicht   ante   anwei   Anweisun   Anweisung   Anweisungen   Anweisungsknoten   Anzeige   Anzeigen   anzuzeigenden   Application   arbeiten   archischen   Assembler   Assemblercode   Assembly   assign   AssignVariables   AssignVariablesNames   AssignVariablesValues   AstNode   AstNodeList   auch   auchVariablen   Aufbau   aufbereiten   Aufbereitung   Aufga   Aufgabe   aufgrund   Auflistung   Aufruf   aufrufende   Aufschluss   Aufwand   Aufwandverbunden   Ausbau   Ausbaustufe   Ausdruck   Ausdrücke   Ausdrücken   Ausdrucks   ausfilterbar   ausführ   ausführba   ausführbar   ausführbaren   ausführbares   ausführen   Ausführung   Ausführungsfunktion   Ausgabe   Ausgangsknoten   ausge   ausgebaut   ausgeben   ausgeführt   ausgegeben   ausgelesen   ausgewählte   auskommt   Auslesen   Ausrufungssymbol   ausschließlich   auswählen   Auswer   Auswerten   Auswertung   auszu   auszuführen   Auszug   auszuwerten   Autor   bare   Basic   basierend   Basis   Batch   BatchCompiler   BatchRuntime   Baum   Bedingung   Beenden   beendet   befasst   Befeh   Befehl   Befehle   Befehlsauswertung   Befehlsknotens   Befehlsparameter   Befehlsverarbeitung   Befehlsverkettun   Beginn   behandelt   Behandlung   beiden   beim   beinhalten   beinhaltet   Beispiel   Beispielanwendung   Beispiele   Beispielpro   Beispielprogramm   beispiels   beispielsweise   beitbare   beitung   bekannt   bekannten   bekanntenWur   bekommen   beliebig   beliebige   benötigen   Benutzer   benutzerdefi   benutzerdefiniert   benutzerdefinierte   benutzerdefinierten   Berater   Berechnungen   bereit   bereitgestellt   bereits   bereitstellen   berück   berücksichtigt   Berücksichtigung   beschrieben   Bestandteil   Bestätigung   bestimmt   Betrieb   beurteilen   bezeichnet   beziehungsweise   Biblio   Bibliothek   Bibliotheksfunktion   Bibliotheksfunktionen   Bibliotheksrouti   Bibliotheksroutinen   bietet   bilden   BinaryExpression   bitte   Bleibt   blen   blennamen   Blick   Blue   braucht   brechen   btnExecute   btnExecute_Click   ByVal   Calc   Carriage   Case   Category   chen   chend   chender   cher   cherten   Child   ChildNodes   Click   cNodes   Code   codeplex   codiert   Codierung   color   Command   CommandKey   CommandNode   Comment   Comments   Compi   Compiler   Compilerbau   CompilerObj   CompileWinbatch   CompileWinbatchFile   CompressedAst   CompressedLineNodes   CompressNodes   concat   ConcatIdentifier   content   Core   count   dabei   damit   dann   darauf   darf   darge   darin   Darüber   dass   Datei   Dateikürzeln   Daten   Datenfeld   Datenfeldern   Datenfeldes   Datentyp   Datentypen   dazu   defi   definierbar   Definieren   definiert   definierte   definierten   deklariert   deln   dementsprechend   dene   denen   Dennoch   denWurzelknoten   deren   dern   derzeit   deshalb   dessen   desTaschenrechners   deutigen   Development   Diagnostics   Dialekte   Dialog   Dialogen   DieletztgenannteVari   dienen   dies   diese   diesem   diesen   dieser   dieVerarbeitung   DieVerkettung   dige   Dipl   direkt   direkte   direkten   direkter   DLLsund   dnpCode   doppelter   Dort   DoStmt   dotnetpro   drücken   drucks   drucksdefinition   durch   durchgeführt   durchgeführte   Durchlauf   durchlaufen   durchläuft   durchsucht   dürfen   dynamisch   Each   ebenfalls   eckige   ehemals   eige   Eigen   eigene   eigenen   Eigenschaft   eigentliche   Einblicke   eine   eineAssembly   eineAusführung   einem   einen   einenWert   einer   einerWertzuweisung   eines   einfa   einfache   einfachen   einfachsten   einfacht   einfachten   Eingabe   Eingabedia   Eingabedialog   Eingaben   eingangs   eingeben   eingefasst   eingeführt   eingegebene   eingeleitet   eingesehen   eingesetzt   einheitli   einmal   Einnahmen   Einrichtung   einzeilige   einzel   einzelne   einzelnen   einzige   einzusetzen   Element   Elemente   else   Elseif   Ende   Engine   entfernen   entgegen   entgegennehmen   enthält   enthalten   entierte   entschei   entspre   entsprechend   entsprechende   entsprechenden   entsprechendes   entstehen   entweder   entwickelt   Entwicklung   Environment   Ereignisprozedur   erfinden   erfolgen   erfolgt   erforderlich   erfordern   ergänzen   ergänzt   Ergebnis   Ergebnisse   ergibt   erhal   erhält   erhalten   erhöhen   erhöhter   erkannt   erkennbar   erlauben   erlaubt   erleichtern   ermitteln   ermittelt   ermöglichen   erneut   erreichen   erscheint   ersetzt   erst   erste   erstellen   ersten   Erwar   erwartet   erwecken   erweitert   erweiterten   Erweiterungen   erzeugen   erzeugten   etwa   EventArgs   Exclamation   ExclamationMsgDlg   Execute   ExecuteAssign   ExecuteBatch_AST   ExecuteCom   ExecuteCommand   ExecuteExclamationMsgDlg   ExecuteExpression   ExecuteInfoMsgDlg   ExecuteShell   ExecuteWaitUntilExecuted   ExecuteWarningMsgDlg   ExecuteWinbatchFile   ExecuteWriteToLog   exemplarisch   Existenz   Exists   Exit   Expand   Explorer   Expres   Expression   externe   externer   Fachbuch   Fall   Fällen   FallzunächsteinenVerweisaufdenNamens   Fassung   Fast   Feed   fehlerfrei   fehlerfreie   fehlerfreien   fehlsspezifisch   fehlsspezifischen   fern   ferner   festgelegt   festlegen   File   FileName   filtert   finden   flexibel   Fluss   Folgenden   folgt   forderlich   ForeColor   Form   formationen   Forms   Formulierung   ForStmt   fortge   fortgesetzt   fragen   Framework   Frameworks   freien   freier   frmMain   fügung   führen   führt   führung   Function   funden   Funk   Funktion   Funktionalität   Funktionalitäten   Funktionen   Funktions   Funktionsbibliothek   Funktionsna   Funktionsnamen   Funktionsumfanges   fürs   gänzlich   Ganzzahlen   geändert   geben   gebenen   gebildet   gebliebenen   gefiltert   gefragt   geführt   gefüllten   gegeben   gegebenenfalls   gegenüber   gekenn   geklammert   gela   geladen   gelegt   gelesenen   geln   gemacht   genaue   Genauigkeit   generieren   generiert   generierte   generierten   genutzt   geordneten   gepasst   geprüft   gerecht   geringfügig   gesamte   geschach   gesetzt   gesi   gesichert   gespeichert   gestartete   gestarteten   gestraffte   gestrafften   GetAssignValue   GetContent   getrennt   gewählte   gewählten   gewohnter   gezeigt   gezielt   ggfs   gibt   gilt   gleiche   Gleichheitszeichen   gleichzeitig   globalen   Gram   gramm   Grammar   grammierung   grammlaufes   greifen   Grenzen   groß   Grund   Grundaufbau   Grundlage   Grundlagen   grundlegend   grundlegende   gültige   haben   Handles   HasExited   häufig   Hauptdialog   Hauptfor   Hauptformular   Hauptknoten   Hauptprogramm   heißt   heraus   Herausfiltern   Hervorhebung   hier   Hierarchieebene   hierarchischen   Hilfe   hingegen   Hinter   Hinzufügen   hinzugefügt   hinzuweisen   hochgezählt   Hochkomma   Identifier   Identifizierer   identischer   IfThenStmt   Ihnen   ihren   ihrerseits   Ihres   immer   Implemen   implementation   implementiert   implementierte   ImWesentli   Index   Indexwert   info   InfoMsgDlg   Informatio   Information   Informationen   Ingenieurbüro   IngES   Inhalt   Inhalte   initialisierten   iNode   InputBox   InputDlg   Insbesondere   InStr   Integer   integrierte   integriertem   intern   interne   internen   Interpreter   Interpretermodus   Interpretern   Interpreters   Interpretieren   inTestphasen   inVariablen   Irony   Jede   jedem   jeden   jeder   jederzeit   jetzt   jeweiligen   jeweils   Journalist   kann   kannt   kaum   keine   keiner   kennenge   kennzeichnet   kettet   Klammern   Klasse   Klassenbiblio   Klassenbibliothek   klasseninternen   Kleinschrift   Knoten   Knotenauflistung   Knotenauflistungen   Knotenbezeichnern   Knoteneigenschaften   Knoteneintrag   Knotenelement   Knotenobjekt   Knotentext   Knotenverarbeitung   Kombination   kombiniert   komfortablereVarian   Kommando   Kommandos   Kommandostruktur   kommen   Kommenta   Kommentare   kömmlichen   kompakten   Kompilieren   komplex   komprimieren   komprimierten   können   könnte   Konstrukt   Konstrukte   Kontrolle   kontrollieren   kontrolliert   Kontrollkonstrukte   Kontrollstrukturen   konvertieren   Konvertierfunktion   korrekt   kümmern   kursiv   lagen   Language   lassen   lässt   laufen   lauffähiges   Laufzeit   Laufzeitbibliothek   Laufzeitmodul   Layout   Leben   ledig   lediglich   leer   Leerzeilen   Legen   leicht   leichter   leitet   lerbau   lermeldung   lernt   letzten   letztendlich   letztgenannten   lich   liefert   liger   Line   LineNodes   Linker   Liste   Listing   Literale   Literalen   logen   Loop   LoopStmt   LoopUntil   macht   Makro   Makroprogrammierung   male   mand   Maslo   MaxIndex   mCommands   Meer   mehr   mehre   mehrere   mehrzei   mehrzeilige   mehrzeiligen   Mein   Meis   melden   meldungen   Meldungs   Meldungsdialog   Meldungsdialoge   Meldungstext   mengefasst   Merk   Methode   Methoden   mieren   mithilfe   mitsamt   Mittel   mittelt   mittlerweile   mLines   modalen   möglich   MsgBox   MsgBoxStyle   mspaint   mulars   muss   müssen   myname   nach   nachdem   nachfolgend   nachfolgenden   näher   Name   Namen   nannten   Neben   nehmen   Nein   neue   neuen   neuer   Next   NextStmt   nicht   niert   nierte   nimmt   nipulation   nition   nLines   nList   noch   node   Nodes   NonTerminal   Normal   Notepad   nothing   nProgram   Number   Numerische   nutzbar   nutzen   nutzerdefinierte   nutzerdefinierten   nutzt   oben   object   Objekt   Objekte   Objektes   objektori   oder   oderAssembliesistmiterhöhtem   offen   Offenlegen   Offenlegung   öffnen   öffnet   Ohne   OkOnly   Operatoren   optimieren   Optimierung   Optimierungen   OSVersion   Pack   Parameter   Parameter1   Parameter2   Parent   Parsen   Parser   Passagen   passend   pelverarbeitungsdatei   Platform   Plattform   Präfix   Praxis   Preserve   pression   prgMainNode   primierten   Prinzipiell   prinzipielleVerfah   privat   private   Problem   Process   ProcessWindowStyle   ProgNodes   Program   Programm   Programmabschluss   Programmaufbau   Programmaus   Programmausführung   Programme   Programmentwicklung   Programmerzeugung   Programmier   Programmiersprache   Programmiersprachen   Programms   Programmstruktur   Projekt   Protokoll   Prozeduren   prüft   public   Publikationen   putDlg   QdnpCodeA0812Irony   QdnpCodeA0901Irony   Quell   Quellcodes   Quellda   Quelldatei   Quelltext   Quelltextausführung   Quelltextebene   Quelltextes   Quelltextknoten   Quelltextladen   Quelltextzeilen   Quelltextzeileninhalten   Quelltextzerlegung   Rahmen   rameter   Rapid   rationale   Raum   ReDim   reduzieren   referenzieren   Regel   Regeln   Register   reits   rekt   REPLACE   return   riable   riablenwertes   rogrammiersprachen   Rolle   Rückgabe   Rückgabewerte   rückgeliefert   rückzugreifen   rufe   rufen   rule   samt   Sand   Scannen   Scanner   schachtelung   Schachtelungen   schaft   Schaltfläche   Schaltflächen   schen   schinencode   Schlei   Schleife   Schleifen   Schleifenbeginn   Schleifenkon   Schleifenkonstrukte   Schlie   schließen   schließend   schließlich   Schlüs   Schluss   Schlüsselwort   Schlüsselworte   schreiben   Schritt   schrittweise   Schwachpunkte   sehen   Sehr   sein   Seite   selbst   SELECT   selwort   sender   sentlichen   Serie   Service   ServicePack   setzen   setzt   Shell   ShellStmt   Show   ShowAST   ShowCompressedAst   ShowLog   ShowMemory   ShowSys   ShowSystem   ShowUser   ShowVersion   sich   sichergestellt   sichern   sichtigen   siehe   SieWinBatch   signVariablesNames   SimpleTest   sind   sinn   sinnvoll   sion   Skript   Sobald   sodass   sofern   soft   sogar   soge   soll   sollten   sondern   sondert   sorgen   source   sowie   sowieWert   später   spätere   spätereVerteilung   Speicher   speichern   spezifische   spielt   Spra   Sprachdefi   Sprachdefini   Sprachdefinition   Sprachdefinitionen   Sprache   Sprachelemente   sprachen   SpracheWinBatch   sprechen   sprechende   sprechenden   Sprungmarken   Standardan   Standardanweisung   Stapel   Stapelverarbeitung   Stapelverarbeitungs   Stapelverarbeitungsdatei   Start   starten   StartInfo   static   stehen   steht   Stelle   stellt   Step   Straffung   strakten   string   StringLiteral   strukte   Struktur   Strukturansicht   Strukturansichten   Strukturanzeige   strukturierter   Strukturierung   Strukturkno   Stufe   stützt   Substring   suchende   Suffix   sung   sungen   symbol   Syntax   Syntaxbaum   Syntaxbäume   Syntaxbaumes   system   Systeminforma   Systeminformationen   tare   Taschenrechner   tätig   tatsächlichen   taxbäume   teien   Teil   Teilelemente   Teilwerte   telbar   telte   tenauflistung   tenliterale   tenstruktur   teren   Term   Terminal   terpretation   terpreter   Testprogramm   Text   thek   theken   theksfunktionen   THEN   thode   tieren   ting   tion   tionen   tNode   Token   TokenCategory   ToLower   TOOLS   ToString   trägt   TreeNode   TreeNodeCollection   TreeView   trifft   Trim   true   TryCast   tung   turn   tvAST   tvAstNodes   txt2   txtFile   TypeOf   Typkennzeichen   Typkennzeichnen   Typkürzel   über   überarbeitet   Überarbeitung   überführt   Übergabe   übergeben   übergebene   übergebenen   übergeordne   übergeordnete   überladen   überladene   Übernahme   übernehmen   übernimmt   übernommen   überschaubar   übersetzen   übersetzt   Übersetzung   Übersicht   übrig   umfassen   umgekehrt   umgeleitet   umgesetzt   umleiten   Umsetzung   Umsetzungsziel   Umso   umwan   UnaryExpression   ungültige   unkomprimiert   unmit   unten   unter   unterbrochen   untergeordne   untergeordnete   untergeordneten   Unterknoten   unterschieden   unterschiedlicheVarianten   unterstützt   unterstützung   untersucht   Until   unveränderte   unveränderten   unveränderter   unwe   VALUES   Varia   Variable   Variablen   Variablennamen   Variablentypen   Variablenvergleich   Variablenverwaltung   Variablenwert   Variablenwerte   Variablenzuweisungen   Variante   Varianten   vbCrLf   verantwortlich   verar   Verarbei   verarbeitbare   verarbeitbaren   verarbeiten   verarbeitenden   verarbeitet   Verarbeitung   verarbeitungspracheWinBatch   verbirgt   verbunden   vereinfachen   vereinfacht   vereinfachte   vereinfachten   verfügbar   Verfügung   vergleiche   vergleichen   verhältnismäßig   verketten   Verkettung   verlassen   Verschaffen   Version   Versionsinformationen   Versionsnummer   VersionString   verteilt   Verwal   verwalten   verwaltet   Verwaltungsbedarf   verzichtet   viele   Visual   vollstän   vollständig   vollständige   vollständigen   vordefi   vordefinierte   vordefinierten   vordefinierter   Vorgabetexte   vorhanden   vorliegen   Vorteil   Vorüberlegungen   vorzeitig   wachen   wählen   wählt   wahlweise   Während   WaitUntilExecuted   wandeln   wareentwicklung   WarningMsgDlg   weil   weiligen   weise   weisung   weisungen   weitere   weiteren   weitreichend   welche   welcher   Wend   wendet   WendStmt   wenig   weniger   Wenn   werden   Wert   Werte   Werteingabe   Werterückgabe   wertet   wertung   Wertverlust   Wertzuweisung   Wertzuweisungen   wesentliche   wesentliches   while   WhileStmt   wieder   wiederum   wiesen   WinBatch   WinBatchCompiler   WinBatchRuntime   WINDOWS   WindowStyle   wird   With   wobei   Wollen   worden   WordPad   WorkNode   WriteToLog   wurde   wurden   Wurzeleintrag   Wurzelknoten   Wurzelknotens   YesNoDlg   Zahl   Zahlen   Zeichenket   Zeichenkette   Zeichenketten   Zeichenkettenformat   Zeichenkettenliteral   Zeichenkettenliterale   Zeichenkettenvaria   Zeichenkettenvariable   Zeichenkettenvariablen   Zeichenkettenzuweisung   zeichnet   zeigt   Zeilen   Zeilenauflistung   Zeilenaus   Zeilenauswertung   Zeilenelemente   Zeileninhalt   zeilenweise   Zeit   zelknoten   zerlegen   zerlegenundverarbeiten   zerlegt   zerlegten   Zerlegung   Ziel   Zieldatenfelder   zielles   Zielsprache   Ziffern   Zudem   zugehörige   zugehörigen   zugeordneten   zugewiesen   zugreifen   zugreift   Zugriff   zulässig   zunächst   zurück   zurückgeliefert   zurückliefern   zusam   zusammenfassen   zusammensetzen   zusammenstellen   Zusatzinformationen   Zusätzlich   zuweisbar   zuweisen   Zuweisung   Zuweisungen   zuwenden   Zwar   zweifach   zwischen

Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Wie zufrieden sind Sie mit Ihrem Gehalt?




Ergebnis anzeigen