Startseite > Archiv > Makroprogrammierung mit .NET und Compilerbau mit Irony

Makroprogrammierung mit .NET und Compilerbau mit Irony

dotnetpro 12/2008 Von Andreas Maslo erschienen in dotnetpro 12/2008 auf Seite 91
Code: A0812Irony
Keine Bewertung

Was tun bei sehr speziellen Aufgaben? Eigene Makros schreiben. Und wenn das nicht ausreicht? Eine eigene Sprache definieren. dotnetpro zeigt, wie beides geht. Wer eigene Anwendungen mit speziellen Makrofunktionen ausstatten will, für den reichen die Bordmittel von .NET aus. Und bei der Definition eigener Sprachen kommt Irony zum Einsatz, das .NET Language Implementation Kit.

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

_Makroprogrammierung   091dnp_irony   114ff   132ff   2004   2008   2Output   96ff   A0812Irony   Abbildung   aber   abgefragt   abgeschlossen   Abhängigkeit   Abrufen   Abschließend   abschließende   abstract   abstrakter   abweichen   abweichende   abzusehen   AddRange   Aktion   aktuel   aktuell   aktuelle   aktuellem   aktuellen   aktuelles   alle   allen   Allerdings   allgemeine   alpha   also   Alten   alternativ   Analyse   Analysen   analysieren   Analyzer   anbie   anbieten   andere   anderen   Ändern   Änderung   Änderungen   Andreas   anerkennen   ange   angefügt   angegeben   angegebene   angegegeben   angelegt   angelegte   angelegten   angezeigt   anhand   Anlage   anle   Anlegen   another   anpas   anschließend   Ansonsten   ANTLR   Anwahl   anwählen   anwei   Anweisungen   Anwen   Anwender   Anwendung   Anwendungen   AnwendungodereineDLL   Anzahl   Anzeige   Anzeigen   anzulegen   Äquivalente   arbeiten   arbeitung   Artikel   ASPX   Assem   Assemblies   Assembly   Assemblyinformationen   AssemblyName   Attribute   auch   Aufbau   aufbereiten   Aufgaben   aufgebaut   aufgeführt   Auflistung   aufneh   Aufru   aufrufen   aufrufende   aufzu   Ausdruckssyntax   auseinandersetzen   ausführbar   ausführbare   ausführbaren   ausführen   ausführende   Ausführung   Ausgabe   Ausgabeassembly   Ausgabebereich   Ausgabefunktion   Ausgabetext   Ausgabetextfeld   ausgeben   ausgeführt   ausgegeben   ausgehend   ausgeliefert   ausgewertet   ausreicht   ausschließlich   ausstatten   Auswer   Auswerten   Auswertung   auszuführen   auszustatten   Backus   Basic   basieren   basierend   basierende   basiert   basierte   Basis   baut   bearbeiten   Bearbeitungs   Bearbeitungsbe   Bearbeitungsbereich   Bedarf   bedient   befasst   Befehl   Befehlsschaltflä   Befehlsschaltfläche   befindet   beginnen   beginnt   behandelt   beides   beinhaltet   Beispiel   Beispielan   Beispielanwen   Beispielanwendung   Beispiele   Beispielprogramm   Beispielprogramme   Beispielspra   beispielsweise   bekannten   bekommt   beliebig   beliebigen   benanntes   bene   benötigte   Benutzer   benutzerdefinier   benutzerdefinierte   benutzerdefinierten   Benutzerober   Berater   Berechnungen   Bereich   bereit   bereitge   bereitgestellt   bereitgestellten   bereits   berücksichtigen   berücksichtigt   Beschreibung   beschrieben   beschriebenen   bestim   bestimmen   bestimmt   bestimmte   bestimmten   betrachtet   Betrachtung   Betriebssystemen   Bevor   Bezeichner   bezeichneter   bezie   bezieht   beziehungsweise   beziehungsweiseTranslator   Bezug   Biblio   Bibliothek   bieten   bietet   Bilddateien   binden   Bleibt   blen   Blick   blies   Bordmittel   bottles   Broelemann   btnCompile   btnCompile_Click   btnCompileAndRun   btnCompileAndRun_Click   btnGenerateMacro   btnGenerateMacro_Click   btnRun   btnRun_Click   buggen   bung   Bytecode   ByVal   Cache   CalcGrammar   Carriage   cense   ChangeExtension   Checked   chen   cher   cherinternerfolgensoll   chern   cheVisual   chung   ckus   class   ClearOutput   Click   COBOL   Coco   Code   CodeDOM   CodeGear   Codegeneratoren   Codegenerierung   codeplex   codeproject   Column   CompileAssembly   CompileAssemblyFromFile   CompileAssemblyFromSource   CompiledAssembly   CompileFile   CompileIt   Compiler   Compilerbau   CompilerError   Compilerfunktionalitätender   Compilergeneratoren   Compilern   Compileroptionen   CompileroptionenerreichenSieesbeispiels   CompilerOptions   CompilerParameter   CompilerParameters   CompilerResults   Compilers   compilertools   CompileText   compilieren   Compreter   contra   Core   count   Cross   CSharpCode   dabei   dafür   damit   dann   darauf   Daraufhinwird   daraus   dardsprache   dargestellt   darin   darstellen   Darü   Darüber   dass   data   Datei   Dateikürzel   Dateina   Dateiname   Dateinamen   dateiorientiert   dateiorientierten   Datentypen   dazu   Debuggerinformationen   Debugging   DebugInformation   defi   definie   Definieren   definiert   definierten   Definitio   Definition   definitionen   deklariert   Delphi   delt   Dement   demToolkit   demTutorial   demVisualWeb   denen   denVorteil   denWert   deren   dern   derzeit   Deserialisierung   dessen   deutlich   develop   Developer   Dialog   Dialoge   Dialoges   Dialogfeld   Dialogfunktionen   dient   DieParameterbestimmen   dies   diese   diesem   diesen   dieser   dieses   dieVariable   dieWeitergabe   dinosaur   Dipl   direkt   direkte   direkten   diverse   dnpCode   doch   Domain   dotnetpro   dows   Draw   Drawing   dung   dungen   durch   durchführen   durchge   durchlaufen   durchzuführen   dynamisch   Dynamische   Each   ebenfalls   Editionen   ehemals   eige   Eigen   eigene   eigenen   eigener   Eigenschaften   eigentlichen   Einblick   eindeutige   eine   einem   einen   einenTranspiler   einer   eines   einfa   einfach   einfachen   einfacher   einfachsten   Eingabe   eingeben   eingegeben   eingesetzt   einheitliche   einhergehend   Einrichtung   Einsatz   einsetzen   einToolkit   Eintrag   einzelne   einzelnen   einzelnes   einzige   einziges   einzubinden   elegantereWeg   Elementen   else   Ende   enthaltenen   entnehmen   entpackt   entsprechen   entsprechend   entsprechende   entsprechenden   entwerfen   Entwickeln   entwickelt   Entwickler   Entwicklung   Entwicklungsplattform   Entwicklungstools   Entwicklungsum   Entwicklungsumge   Entwicklungsumgebung   Entwicklungsumgebungen   Entwicklungswerkzeugen   Entwicklungszyklen   erfinden   erfolgen   erfolgreicher   erfolgt   erforder   erforderlich   erfordern   Ergänzung   Ergeb   ergeben   Ergebnis   Ergebnisse   erhalten   erkannt   Erkannte   erkannten   erkanntenFehlerwirdüberdieCount   erlaubt   erleichtern   ermittelt   ermöglichen   erneut   erreichen   ErrorNumber   errors   ErrorText   ersetzt   erst   erstellen   Erstellung   ersten   erstgenannte   erstgenannten   erwartet   erweitern   erweitert   erweiterte   Erweiterter   Erweiterungen   Erwerben   erzeugen   erzeugt   etwa   Exclamation   Execute   ExecuteGe   ExecuteGeneratedAssembly   exeFile   Exists   Exit   Explo   Explorer   Expression   Fachbuchautor   facht   Fall   false   farblich   Fassung   Fast   Fehler   Fehleranzahl   Fehlerauflistung   Fehlerbeschreibung   Fehlererkennung   Fehlermeldun   Fehlermeldung   Fehlernummer   fende   Fenster   fentlich   ferner   fert   fest   festgelegt   festlegen   File   FileName   finden   finition   fläche   flex   fName   folgt   Form   Forms   Fortran   Frage   Framework   Frameworks   frei   freie   freier   freieTurbo   frmCompileIt   FromFile   FromSourcealsauchüberdieMethodeCom   frühen   fügbar   fügbaren   fügung   führbare   führbaren   führen   führt   FullName   Function   fünf   Funk   funktio   Funktionalitä   Funktionalität   Funktionalitäten   Funktionen   Funktionserweiterung   Funktionsnamen   Funktionsparameter   fürVisual   gabetextfeld   Game   geändert   geänderten   geben   gebnisse   gebungen   geführt   gegebe   Gegen   gehen   gehörige   geht   geladen   gelegt   gemacht   gemein   gemeldet   genannten   gende   genen   Genera   GeneratedAssembly   GenerateExecutable   GenerateInMemory   generator   Generatoren   Generatortool   generieren   generiert   generierte   generierten   generiertes   generierung   genommen   genüberdieObjektvariablecrdesTypsCom   genutzt   geöff   geplanten   Gerätesteuerung   Gerüst   gerüste   gerüstes   Gesamtheit   geschrieben   gesehen   gesichert   gesicherten   gesonder   gesonderte   gesonderten   gespeichert   gespeicherte   gesteuerten   gewähl   gewählt   geworfen   gewünscht   gewünschter   gezielt   ggfs   gibt   gisterseite   gleiche   gleichzeitig   Global   Gram   gramm   Grammar   Grammatik   grammgenerierung   grammiersprache   grammierung   grammspezifisch   grammübersetzung   gration   greifen   großer   Grund   Gründen   Grundgerüst   Grundlagen   grundle   grundlegend   Grüßen   gung   GWBasic   haben   HabenSie   Hallo   halten   handelt   Handles   häufig   Heft   heraus   hergehend   heruntergeladen   herunterladen   hervorge   hier   Hilfe   Hilfsprogramme   hingegen   Hinweis   Hinweise   hinzu   hobenen   hörigen   HTTP   hungsweise   Ihnen   Ihre   Ihrer   ihrerseits   immer   Implemation   implementation   implementierten   importiert   Imports   Include   IncludeDebugInformation   indem   Index   ineineInformationszeichenketteumgewan   Informa   Informationen   Ingenieurbüro   IngES   Inhalt   Inhalte   Inhaltes   innerhalb   insge   Installati   instanzie   instanzierten   inte   Integer   Integration   integrieren   interaktive   interessan   intern   Internet   Internetadresse   Interpreter   Interpretern   interpretiert   interpretiertes   inVerbindung   Irony   irony_all   IsWarning   Java   JavaCC   JavaScript   jedem   jeder   jedes   jedoch   jekt   jekten   jektphase   jeweils   Journalist   JSBasic   JScriptCodePro   Just   kann   kannten   Kasten   kein   keine   keinen   Klasse   Klassen   Klassenbibliotheken   Klaus   kleines   Knoten   Kombination   Kombinationslistenfeld   Kommt   Kompilieren   komplett   komplette   komplexen   komplexer   Komponenten   können   könnenSiesehrleichtdieAusgabezwischen   Konsolen   Konsolenanwendung   Konsolenprogramm   kontert   Kontextmenübefehl   Kontrollanweisungen   kontrolliert   korrekte   korrigieren   Kosten   kostenfreie   kostenfreienVarianten   kostenfreier   kros   Kürzel   laden   lange   Language   lassen   lässt   laufen   lauffähig   Laufzeit   Layout   ledig   lediglich   Leerzei   Legen   legt   leicht   leistungsfähige   leistungsfähigen   leistungsfähiges   leitet   letzten   letztgenannte   letztgenannten   Lexer   Lexical   Lexikalische   library   lich   liegen   Line   Linefeed   Linux   Linz   Liste   Listing   lität   lizenzrechtlichen   Lizenzvertrag   Load   Logo   lohnt   machen   MacroClass   Main   Makro   Makroausführung   Makrobearbeitung   Makroda   Makrodatei   Makrodateien   Makrodateiname   Makrodateinamen   Makrofähigkei   Makrofunktiona   Makrofunktionali   Makrofunktionalitäten   Makrofunktionen   Makroklasse   Makropro   Makroprogrammierung   Makroquelldatei   Makros   Makrosprache   Manchmal   mandozeilenebene   markiert   Maschinencode   Maschinensprache   Maslo   mäßig   mehr   mehre   mehrere   mehreren   mehrzeilige   meldet   Meldung   meldungen   Meldungs   Meldungstext   Menübefehl   merziell   Metasprache   Metasyntax   Metho   Methode   MethodeExecuteGeneratedAssemblyverant   Methoden   MethodeSendLine2OutputdirektindasAus   mFile   Michael   Microsoft   mierung   Mischvariante   mithilfe   mitsamt   mittlerweile   mitunter   möchten   Modula   möglich   Möglichkeiten   MsgBox   MsgBoxResult   MsgBoxStyle   mularklasse   müssen   nach   nachbearbeitet   nachbearbeiteten   nachbilden   nachdem   nachfolgend   nachfolgenden   nagement   näher   näheren   nalität   nalitäten   Name   Namen   Namensräume   Namespace   native   natürlich   Naur   Naur_Form   nehmen   nenfalls   neratedAssembly   nerhalb   nern   neue   neuen   neuer   neues   Next   nicht   niert   nimmt   nitionen   noch   nundenzugehörigenQuelltextzumBeispiel   nundieSchaltflächeParsean   nutzen   nutzt   Nutzung   obeineaus   oben   oberen   Oberon   Objekt   Objektvariable   oder   oderToolkits   offen   öffnen   Ohne   Open   Opera   Operatoren   optimiert   optimierte   Optimierung   Optimierungstools   Option   Optionsfeld   Optionsfeldes   output   OutputAssembly   Parameter   Params   Parsen   Parser   Parsern   Pascal   passt   Path   Pfad   Phoenix   pileAssemblyFromFile   pileAssemblyFromSource   pilerResults   pilers   pilieren   Platt   Plattform   plettes   Plotter   Power   praktischen   Praxis   Praxisbeispiel   Praxisteil   Press   Prinzipiell   private   Problem   Problema   Process   Program   Programm   Programmarchiv   Programmausführung   Programmcode   Programmdatei   Programme   Programmerzeu   Programmgerüst   Programmgerüstes   Programmgrund   Programmier   Programmierspra   Programmiersprache   Programmiersprachen   programmierter   Programmierung   Programms   Programmteil   Programmüberset   Programmübersetzung   Programmveröffentli   Projects   Projek   Projekt   Projektda   Projekte   Projektes   Projektgruppe   Projektmappe   Projektver   Projektverzeichnis   Prolog   protsyk   Provider   Providers   Prozedur   prüfen   prüft   pseudo   public   Publikationen   Quell   Quellcode   Quellcodefenster   Quelldatei   Quelldateien   Quelldateinamen   quellen   Quelltex   Quelltext   Quelltextanweisungen   Quelltexte   Quelltextebene   Quelltextes   Quelltextver   Question   Quick   Rahmen   rangestellt   rbCode   rbFile   realisieren   Realizer   recipes   recognition   ReferencedAssemblies   referenzieren   referenzierte   referenzierten   Reflection   Regel   Register   Registerseite   Registerseiten   reich   reichen   reicht   reits   rekt   rektaufruf   rersdirektausgebenlassen   Research   resultieren   return   Richling   Richten   Ruby   Rückgabe   rückgreifen   rufen   sammenzufassen   Samples   samt   Scan   Scannen   Scanner   Scannern   schaft   Schalt   Schaltfläche   Schaltflächenfunktion   Scheme   schied   schine   Schleife   Schlüsselwör   schon   schreiben   schrieben   Scrip   Script   scriptdotnet   Sehr   sein   Seite   selbst   selbstgebau   selbstverständlich   selten   semantisch   semantische   semantischen   sembly   semblyName   SendLine   SendLine2Output   sentlicher   serfunktionalität   Serialisierung   Serie   setzen   setzt   Shared   Shell   ShowCompileResults   shtml   sich   sichern   siehe   siert   sind   sinnvoll   Sinnvollerweise   sinnvollerweiseeinkomplexeresProjektma   sisch   Skripten   Skriptfähigkeiten   Skriptsprache   sofern   soft   Software   soll   sollen   sollten   Solution   Sonderfunktio   sondern   sondert   sorgt   source   sourceforge   SourceSamples   sowie   Spalte   Spaltennummer   später   späteren   specific   spei   Speicher   speichern   spezielle   speziellen   spezifische   Spiel   Spiele   spielsweise   Spra   sprach   Sprachde   Sprachdefi   Sprachdefini   Sprachdefinitio   Sprachdefinition   Sprachdefinitionen   Sprache   sprachen   Sprachentwicklung   sprachspezifische   sprachspezifischen   sprachspezifischer   Sprachvarianten   sprechend   sprechende   sprechenden   sprechender   sprengen   stan   Standard   Standardanweisung   Standardcompilern   Standardmä   Standardmäßig   Standardname   Standardsyntax   ständig   standteil   stanzierten   Stapelverarbeitungssprachen   Start   Starte   starten   startet   Startpro   Startprojekt   Statt   stehen   Stelle   stellt   string   Studio   sual   Such   Suchpfad   sungen   sungenandenreferenziertenAssembliesin   synonym   syntaktische   Syntax   Syntax_diagram   Syntaxbaum   Syntaxbäume   Syntaxbäumen   Syntaxdefinition   Syntaxdefinitionen   Syntaxdiagramme   system   Systems   Sytax   Tabelle   Target   tätig   tatsächlich   teExecutable   teien   telbar   tentypen   tergeordneten   Terminale   Terminalklassen   Terminals   ternativ   ternet   ternetadresse   Test   testen   Tests   Text   Textdatei   Texteingabefeld   Textfeld   Textfeldes   Textfeldinhalt   thefreecountry   thek   THEN   thode   Time   ting   tion   tionalität   tionalitäten   tionen   tisch   Tobias   Token   Tool   Toolkit   toren   trakten   Trans   Transcompiler   Translator   Transpiler   Transpilers   TreatWarningsAs   TreatWarningsAsErrors   Tree   Trim   true   tung   Turbo   TurboVision   Tutorial   txtCode   txtFile   txtOutput   Typs   über   ÜberdenParameterCompilerOptionsgeben   überfüh   überführen   überführt   überge   übergeben   übergebene   übergebenen   Überladens   überlassen   übernimmt   übernommen   Überprüfung   überschreiben   überschrieben   überset   übersetzen   übersetzt   übersetzte   übersetzten   übersetztes   Übersetzung   Übersetzungfehler   Übersetzungser   Übersetzungsfunktion   Übersicht   umgesetzt   Umsetzungen   Umweg   unbearbeiteter   unddasVorhandenseinderDatei   UndmithilfegeringfügigerÄnderungen   undWindows   Unicon   unmit   unmittel   unmittelbar   unter   untere   unterliegt   unterstützen   unterstützt   unterstützung   ussten   Varia   Variante   variieren   VBCodeProvider   vbCrLf   vbmacro   VbScripting   veraltete   veranschaulicht   Verant   Verarbeitung   verein   vereinfa   vereinfacht   vereinfachten   Verfahren   verfüg   verfügbar   verfügbare   Verfügung   vergeben   verglei   vergleiche   vergleicheAbbildung6   verlangen   versehen   Version   Versionen   Versuchen   verteilt   vertraut   verwaltet   verwalteten   Verweis   verweist   verwenden   verwendet   verwendete   verwendeten   verwendeter   verwiesene   Verzeichnis   vider   viele   Vista   Visual   VisualBasic   voll   vollen   vollständig   vollständigen   voraus   Vorbereitungen   vordefinierte   vordefinierten   vorgegeben   vorgegebene   vorgehen   vorgestell   vorhan   vorhanden   vorhandene   vorhandenen   vorhandener   vorliegen   vorliegendes   vorneh   vornehmen   Vorteil   VSShell   wählen   wahlweise   wann   wäre   wareentwicklung   Warnung   Warnungen   wechseln   WechselnSieda   weder   Wege   weiligen   weise   weite   weiter   weitere   weiteren   weiterer   Weiterführende   welche   welchem   Welt   wendung   Wenn   werden   Wert   wesentlicher   wichtige   widmet   wiederzubeleben   Wiki   wikipedia   will   Willers   WINDOWS   winexe   wird   With   wohl   Wollen   WollenSieprogrammspezifischeFunktio   worden   wortlich   wurde   würde   wurden   Yacc   YesNo   YourFirstDSL   Zahl   Zahlen   Zeichenkette   Zeichenkettenvariable   zeichnet   zeichnis   zeigt   Zeile   Zeilen   zeilennummernbasierter   zeilenweise   Zeit   Zeitrah   zerlegt   Ziel   Ziele   Zielpfad   Zielspra   Zudem   zuerst   zuge   zugehörige   zugehörigem   zugehörigen   zugeordnet   zugewiesen   Zugriff   Zuhilfenahme   zukünftigen   zulässig   zuletzt   zunächst   zung   zungen   zungsfunktion   zurück   zurückgegeben   zurückgegebene   zurückgeliefert   zurückgelieferte   zurückgreifen   zurückliefern   zurückliefert   zurVer   zurVerfügung   zusammenge   zusammengefasst   Zusätz   Zusatzbibliothe   Zusätzlich   zusätzliche   Zusatztools   zuvor   zwangsläufig   Zwar   zwischen   Zwischencode

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