Startseite > Archiv > Entscheidungen und Schleifen mit Irony verarbeiten

Entscheidungen und Schleifen mit Irony verarbeiten

dotnetpro 03/2009 Von Andreas Maslo erschienen in dotnetpro 03/2009 auf Seite 90
Code: A0903Irony
Keine Bewertung

Was wäre eine Programmiersprache ohne If, While und Do Until? Jedenfalls nicht sehr nützlich. Also braucht die selbst definierte Sprache WinBatch auch solche Konstrukte. Die Definition dieser Anweisungen ist mit Irony sehr leicht. Die anschließende Umsetzung erfordert aber einigen Aufwand. dotnetpro zeigt, wie Sie benutzerdefinierte Blockstrukturen über abstrakte Syntaxbäume verarbeiten.

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

_Entscheidungen   090dnp_Irony   2008   2009   A0903Irony   Abarbeitung   Abbildung   Abbildungen   Abbruch   Abbruchbedingung   Abbruchbefehl   aber   Abfra   Abfrage   Abfragen   abgearbeitet   abgefragt   abgefragten   abgerufen   abgeschlossen   abgespalten   abgespaltenen   abhängig   Abhängigkeit   ablesValues   abrufbar   Abrufen   Abschließend   abschließende   abschließender   abspalten   abstract   abstrak   abstrakte   abstrakten   abstrakter   ähnlich   aktive   aktiven   aktiver   aktualisieren   aktualisiert   aktualisierte   aktualisierten   aktuell   aktuellen   alle   allen   aller   Allerdings   allgemeine   alpha   also   Analyse   Anbinden   anbindet   änderbar   andere   anderen   anders   Änderung   Andreas   angeboten   angegeben   angepasst   angestoßen   angezeigt   anhand   anpassen   Anpassung   Anpassungen   anschließend   anschließende   anwei   Anweisung   Anweisungen   Anweisungsausführung   Anweisungsblock   Anweisungsblöcke   Anweisungsebene   Anweisungsknoten   Anweisungswerten   Anwendern   Anwendun   Anwendung   anzu   Application   Arbeit   arbeitet   arbeitung   arbeitungfürdietemporäreMarkierungund   Architek   Assem   Assemblies   assign   AssignSymbol   AssignVa   AssignVari   AssignVariable   AssignVariables   AssignVariablesNames   AssignVariablesValues   AstNode   ASTs   auch   auchnichtalleQuelltextederVersion   auchVariablenbezeichner   Aufbauen   aufbauend   aufge   aufgerufen   Auflistung   Aufruf   aufrufende   Aufwand   Ausdruck   Ausdrücke   Ausdrücken   Ausdrucks   Ausdrucksauswertung   Ausdruckstyp   Ausfüh   ausführbar   ausführbare   ausführbaren   ausführbares   ausführen   ausführt   Ausführung   Ausführungs   Ausführungsvermerk   Ausgangs   ausge   ausgeben   ausgeführ   ausgeführt   ausgeführten   ausgegeben   ausgehend   ausgelesen   ausgewertet   auslagern   auslösenden   Auslöser   ausreichenden   ausschließlich   Auswerten   auszuführende   automatisch   Autor   balen   Basic   basierend   basiert   Basis   Batch   bauend   Baum   Bedarf   Bedeutung   Bedingung   beendet   befasst   Befehl   Befehle   befehlemitentsprechendenMarkern   Befehls   Befehlsauflis   Befehlsbezeichner   Befehlsblock   Befehlsken   Befehlsknoten   Befehlsknotens   Befehlsliste   Befehlsmarkierung   Befehlsver   Befehlsverarbeitung   Beginn   behandeln   Beide   beim   beinhaltet   Beispiel   Beispiele   Beispielskriptes   beiten   beitung   bekannte   beliebige   benenfalls   Benutzer   benutzerdefi   benutzerdefinierte   Benutzeroberfläche   BenutzeroberflächemitintegrierterFunktions   Berater   bereits   bern   berück   berücksichtigt   Beschreibung   beschrieben   beschriebenen   besitzt   Besonderheit   Bestandteil   beste   bestimmt   bestimmtes   Beurteilung   Bezeich   Bezeichner   bezeichnet   Bezug   Bezugs   Bezugsvariablen   Bibliothek   bieten   bietet   bildung   binäre   BinaryExpression   BinaryOpera   BinaryOperation   BinOp   bislang   Bleibt   blen   Blick   Block   Blockanwei   Blockanweisungen   Blockbefehle   Blöcke   Blockebene   BlockNodes   Blocks   Blockstruk   Blockstruktur   Blockstrukturen   Blockverarbeitung   Blockwechsel   Boolean   braucht   ByVal   Calc   Case   catch   chend   chert   cint   ClassesRoot   Close   cmdCounter   cmdMain   cmdNode   codeplex   codierte   codierten   Command   CommandKey   CommandLineArgs   CommandNode   Commands   Compi   Compiler   Compilerbau   CompilerObj   Computer   concat   Configuration   count   CounterVariable   CreateSubKey   CRLF   cuteCommand   cuteExpression   dabei   dadurch   dafür   damit   dann   darauf   darstellen   Darüber   dass   dassWerte   Datei   Dateiformat   Dateikürzel   Dateityp   Dateitypkennzeichen   Dateityps   Daten   Datenfeld   Datenfelder   Datenfeldern   Datentyp   Datentypformat   datentypspezi   datentypspezifisch   Dauer   davon   dazu   DazugehörendieMethoden   defi   definie   Definieren   definiert   definierte   definierten   definiertenSprachdefinitionselbst   Definition   definitionen   deklariert   DeleteSubKeyTree   Demarkierung   dementsprechend   demons   demRegistriereditoroderalternativüberdie   denVariablen   denVorteil   denWert   deren   derlich   derte   derum   derung   derVa   derVariablen   derVerar   derVerarbeitung   derverwendbare   derzeit   Designer   Detail   Details   deutlichen   Dialogmodus   dies   diese   diesem   dieser   dieses   Diesewurde   dieVariable   dieVerwaltung   dingsebensowenigberücksichtigtwiegeklam   dingung   Dipl   direkt   direkte   direkten   diverse   dnpCode   dokumentieren   Doppelklick   doppelt   Doppelte   Dort   dotnetpro   DoUntil   dows   dreimal   drücke   durch   durchführbar   durchführen   durchgeführt   durchgeführte   durchgeführteBefehlsverarbeitungvorzeitig   Durchlauf   durchlaufen   durchzu   dürfen   Each   ebenenorientiert   ebenfalls   Ebenso   eige   eigene   eigenen   eigenes   Eigenschaft   eigenständi   eigenständig   eigenständige   eigentliche   einanderausundberücksichtigtkeineIf   Einbin   eindeuti   eindeutig   eindeutiges   eine   einem   einen   einer   einergeschachteltenHauptschleifeverarbei   einerVariablen   eines   einfache   einfachen   Einführung   eingangs   Eingangsbe   eingebautem   eingeblendet   eingeführt   einheitlich   einige   einigen   Einleiten   einleitende   einleitenden   einmal   Einrichtung   Einträgen   einzeilige   einzeiligen   einzige   Element   else   Elseif   empfiehlt   Ende   Endfassung   EndsWith   EndValue   Endwert   entfernen   entfernt   Entfernung   enthält   enthalten   enthaltenen   entnehmen   Entscheidungen   entspre   entsprechend   entsprechende   entsprechenden   entweder   Entwicklung   Entwicklungs   Environment   Ereignisprozedur   erfinden   erfolgt   erfor   erforderlich   erfordert   ergänzen   ergänzt   Ergebnis   Ergebniswert   erhal   erhält   erhalten   erkannt   Erkannte   erkennt   Erläuterungen   ermittelbar   ermitteln   ermittelt   erneut   erneuten   erreichen   erreicht   erscheinen   Erscheinung   erst   erste   erstellen   Erstellung   erwähnt   erwähnten   erwecken   erwei   Erweite   erweitern   erweitert   erweiterte   erweiterten   Erweiterun   ErweiterungderSprachdefini   Erweiterungen   Erweiterungsmöglichkei   etwa   etwalogischeOperatorenundweiterema   EventArgs   Exception   Exclamation   ExclamationMsgDlg   ExecutablePath   ExecuteAssign   ExecuteBatch_AST   ExecuteBlockCommands   ExecuteCom   ExecuteCommand   ExecuteDoLoop   ExecuteExpres   ExecuteExpression   ExecuteFor   ExecuteForNext   ExecuteIf   ExecuteOnlyBlock   ExecuteOnlyBlockCom   ExecuteOnlyBlockCommands   ExecuteWhileWend   ExecuteWinbatchFile   Existenz   Existiert   Exists   Exit   ExitValue   Exklusive   Explorer   Expres   Expression   ExpressionNode   ExpressionValue   externe   extrahieren   extrahiert   Fachbuch   Fall   false   Fazit   fehl   fehle   Fehler   Fehlerbehandlungsroutinen   fehlerhafte   Fehlermeldungen   fehls   fenkonstrukte   ferner   fest   festge   festgelegten   Festlegung   File   finden   Findet   fisch   fNodes   ForIdentifier   Form   Format   Forms   freier   freigeben   frmMain   frmMain_Load   führbar   führen   führt   führung   Function   Functions   Funk   funktio   Funktion   Funktionen   Funktionsbibliothek   Funktionsblöcke   Funktionsnamen   fürs   Ganzzahlen   garantiert   geändert   geänderten   gearbeitet   gebener   gefügt   Gege   gegebenenfalls   gegenüber   gehenden   gekennzeichnet   gekoppelte   gelade   gemacht   gemeldet   generierten   geordnete   geprüft   gesamte   Geschachtelte   geschachtelten   geschachtelter   gesche   geschehen   geschieht   gesetzt   gesetzte   gesi   gesichert   geson   gesondert   gesonderte   gesonderten   gesorgt   gestartet   GetAssignValue   GetBlockNodes   getestet   getrennt   Getrennte   getrennten   getrennter   GetSetting   GetStringValue   GetUpperBound   gewährleis   gewechselt   gezeigt   gezielt   gibt   gilt   gleiche   gleicheListing3   gleichnamige   gleichs   Global   globale   globalen   GoSub   GoTo   gramm   Grammar   gramme   grammierung   greifen   Grenzen   groß   Grundlagen   grundlegende   Guten   haben   Handles   hart   Hauptdialog   Hauptfor   Hauptformular   Hauptknoten   Hauptprogramm   Hauptschleife   Heft   hende   herkömmliche   herkömmlichen   herkömmlicheVariablen   Hide   hier   hierarchisch   hierarchische   Hilfe   hingewiesen   Hinweis   hinzu   hochgezählt   Hochzählen   Ideen   Identifier   Identifizierer   ieuren   IfIdentifier   IfThen   Ihre   ihren   immer   imple   Implemen   implementation   implementieren   imWert   Include   indem   Index   Indexwert   InfoMsgDlg   Informationen   Ingenieurbüro   IngES   Inhalt   initialisiert   innerhalb   iNode   InputDlg   Insbesondere   insgesamt   inspirierendes   InStr   Integer   integrierten   inter   intern   interne   internen   Interpreter   Interpreters   Interpretierung   Irony   IsNot   Jede   jedem   jeden   jedenfalls   jeder   jederzeit   jedes   jeweilige   jeweiligen   jeweils   jobs   JOBSIN   Journalist   kann   kein   keine   keinen   kennzeichnet   Kennzeichnung   kiert   Klammerebenen   klariert   klas   Klassenebene   Kleinschrift   Knoten   Knotenauflistung   Knotenmarkierung   Knotenobjekt   Knotenobjekte   knüpfung   Kollegen   Kolleginnen   Komfort   komfortabel   Kommando   Kommandozeilen   Kommandozeilenschalter   Kompatibilität   komplexe   komplexere   können   könnten   Konstante   Konstanten   Konstrukte   Kontrollstrukturen   kopie   kopiert   kopierte   korrekt   korrekte   korrekten   korrespondiert   kurz   laden   lang   lange   Language   lassen   LastFile   laufsteuerung   Laufzeitbibliothek   Layout   LCase   Leben   lediglich   legt   legung   leicht   leistungsfähige   leitet   lerbau   Lesen   letzt   letzte   letzten   letztge   letztgenannte   Level   lich   liefern   liefert   liegt   lines   Listing   Load   logi   loka   Loop   LoopLevel   lung   Luzern   machen   machine   machinename   Makro   Makroprogrammierung   mand   mandLineArgs   mandNode   MAndS   markieren   markiert   Markierung   Maslo   mathema   mathematisch   mathematische   mathematischen   MathLogicalOperation   MaxIndex   mCommands   mehr   mehrfach   mehrzeilige   mehrzeiligen   Meldungsdialog   mentation   Merkmalen   merte   Metho   Methode   Methoden   Microsoft   miert   mindes   Mitdem   miteinan   mithilfe   mitunter   mitVergleichs   mLines   MsgBox   MsgBoxStyle   mular   muss   mussbeimLadendesStartformularsüber   müssen   müssenSiediekorrekteVerarbeitungfürSchlei   MyBase   nach   nachdem   nacheinander   nachfolgende   nachgerüstet   nächst   nachzurüsten   Nähere   Name   Namen   nament   Names   nannte   nehmen   nete   neue   Neuein   neuen   Next   nicht   niert   nierte   nierten   nition   nLines   noch   node   Nodes   nommen   Notepad   nothing   nötig   nProgram   Number   Numbers   nungen   nutzbar   nutzen   nutzerdefinierten   nützlich   Oberfläche   object   oder   oderauchkomplexereAusdrückeinmeh   offengelegt   Ohne   Open   Operation   Operationen   Operator   Operatoren   Operators   Operatorüberladung   opti   Optimie   optimieren   optimiert   optimierte   Optimierung   Optimierungen   optional   OSVersion   paar   Paramater   Parameter   Parser   passen   passend   permanent   Pfad   phase   Platform   Pool   Power   Präfix   Praxis   Preserve   preters   pretersprache   preterübergreifenden   pretieren   prgMainNode   Prinzipiell   private   Problem   Program   Programm   Programmab   Programmablauf   Programmablaufsteuerung   Programmaus   Programmausführung   Programmdatei   Programme   Programmen   Programmieren   Programmiersprache   Programmiersprachen   Programmierung   Programmname   Programmoberfläche   Programms   Programmstrukturen   Programmverarbeitung   ProgramPath   Projektleitern   Prozedur   Prozeduralkon   Prozeduren   prüfen   prüfende   prüft   Prüfung   public   Publikationen   Qualitätsingen   Quell   Quelltext   Quelltextanweisungen   Quelltextbeispiel   QuelltextdateianwahlimWindowsExplorersoll   Quelltexte   Quelltextebene   Quelltextelemente   Quelltextes   Rahmen   rarchiezweig   realisieren   ReDim   reduzieren   Regelfall   RegisterWbFile   Registrie   registrieren   Registrierung   Registry   RegistryValueKind   rekursiv   rekursive   remove   RemoveCounterVariable   REPLACE   reren   return   riablendatenfelder   riablesNames   richtet   Richtung   Rückgängig   rückgegriffen   rung   rungen   samt   sämtlicher   SaveCounterVariable   Scanner   Schalter   sche   scheidet   schen   schenAbfragenundSchleifenverweisen   Schlei   Schleife   Schleifen   Schleifenabbbruch   Schleifenabbruch   Schleifenanweisung   Schleifenarten   Schleifenausführung   Schleifenbefehl   Schleifenbefehls   Schleifendurchlauf   Schleifenebene   Schleifenende   Schleifenenden   Schleifeninhalte   Schleifenkon   Schleifenkonstrukt   Schleifenkonstrukte   Schleifenkonstruktionen   Schleifenvariable   Schleifenvariablen   Schleifenverar   Schleifenverarbeitung   Schleifenverwen   Schleifenwert   Schleifenzähler   schließend   schließlich   Schlüs   Schlüsselwort   Schlüsselworte   schrittweise   Schrittweite   Schweiz   Sehr   sein   Seite   selbst   SELECT   selworte   sendatei   sender   Senior   Serie   SetValue   setzen   setzenden   Shell   ShowAST   sich   sichergestellt   sichern   sicherzustellen   sichtigt   siehe   signVariablesNames   signVariablesValues   sind   Single   sinn   sinnvoll   sion   sions   sionsnummer   Skripte   sodass   sofern   soft   Software   Softwareentwickler   Softwareprojektleiter   solche   solchen   soll   sollen   sondern   sorgen   sorgt   SourceSample   sowie   spannende   später   spätere   spezielle   spezifi   spezifisch   spezifische   spielsweise   sprach   Sprachbefeh   Sprachdefi   Sprachdefinition   Sprachdefinitionen   Sprache   sprachen   Spracherweiterung   Sprachinterpreter   Sprachversionen   sprechend   spricht   Standardmäßig   Stapel   Stapelverarbeitung   Stapelverarbeitungsprogramme   StapelverarbeitungsspracheWinBatch   Start   Startbefehl   starten   StartValue   Startvermerk   Startwert   stattfindet   stehen   Stelle   stellen   Step   StepValue   Sternchen   Steuerungsvariable   strakten   string   Strings   Struk   struktes   Struktur   Strukturansichten   Strukturbaum   Strukturbefehle   strukture   Strukturen   Stufe   Subs   Substring   sucht   sung   sungen   sungsblocks   Switch   symbol   Syntaktisch   Syntax   Syntaxbaum   Syntaxbäume   system   Systemregistrierung   Sytaxbaum   Tabelle   Taschenrechner   tätig   Team   Teilwerten   telbar   temporär   temporäre   tenfeldern   tens   tenstruktur   tentyp   tergeordnete   tergeordneten   tergeordneter   tern   terstützt   terverzeichnis   Testläufe   Testmanagern   Text   Texten   Textfeld   thematische   THEN   ThenIdentifier   thode   thoden   tieren   ting   tion   tionen   tionserweiterung   tisch   tischen   ToIdentifier   Tool   Toolkit   ToString   Tree   TreeNode   TreeNodeCollection   TreeNodeSelection   TreeView   trennte   trieren   Trim   Tritt   true   tung   turansicht   turen   txtFile   Typkennzeichen   Typs   typspezifi   über   überarbeitet   überdurchschnittliches   Übergabe   überge   übergeben   übergebene   übergebenen   übernimmt   übernom   übernommen   überprüfen   übersetzen   überspringen   UmAnweisungsblöckewiederholtauszuführen   Umsetzung   Umständen   Umwand   unabhän   unabhängig   undDoLoop   undWertegenerellüberinterneZeichenketten   unmit   UnRegisterWbFile   unser   unten   unter   untergeord   untergeordnete   untergeordneten   Unterknoten   unterscheiden   Unterschied   unterschieden   unterstützen   unterstützt   unterstützung   Until   Urlaub   UseNode   User   userName   Value   Value1   Value2   Varia   Variable   VariableExist   Variablen   Variablenbe   Variablendeklaration   Variablenname   Variablennamen   Variablenverwaltung   VarIdentifier   variieren   variiert   VarName   varValue   vbCrLf   veranschaulicht   verantwortlich   verar   Verarbei   verarbeitbare   verarbeiten   verarbeitende   verarbeitet   verarbeiteten   Verarbeitung   Verarbeitungsfunk   verarbeitungssprache   Verbund   Verdienst   vereinheitlichen   vereinheitlicht   verfügbar   Verfügung   Vergleich   vergleiche   vergleichen   Vergleichsausdruck   Vergleichsausdrucks   Vergleichsoperatoren   Vergleichswerte   Verglichen   Verknüpfen   verknüpft   Verknüpfung   verlassen   verschiedene   Version   verwaltet   Verwaltung   Verwaltungszwecke   verwenden   verwendet   Verwendung   verzichtet   vielleicht   Visu   voll   vonVariablen   vonVisual   voran   vorangestellt   vorgegeben   vorhanden   vorherigen   vorliegende   vornehmen   Vorteil   vorzeitig   vorzeitige   vorzeitigen   vorzunehmen   wahlfrei   Während   Wahrheits   Wahrheitswert   WaitUntilExecuted   waltet   ware   wäre   wareentwicklung   wbFile   weder   weisung   Weiterbildung   weitere   weiteren   weiterentwickelt   weitereVariablen   weitereVerarbei   welche   welcher   Wend   Wenn   werden   Wert   Wertabfrage   Wertände   Werte   WertederSystemregistrierungberücksichtigt   Werteintrages   Werten   Wertever   Wertrückgabe   Wertvergleich   Wertzuweisungen   wesentlicher   while   WhileIdentifier   wichtig   wieder   wiederholt   wiederum   Win32   WinBatch   WinBatchauchimHintergrundzurProgramm   WinBatchCompiler   WinBatchGrammar   WinBatchRuntime   WINDOWS   wird   With   wobei   Wollen   WordPad   wurde   wurden   YesNoDlg   Zahl   Zahlen   Zeichenkette   Zeichenketten   Zeichenkettenformat   Zeichenkettenvergleich   zeichner   zeichnern   zeigt   Zeilen   zept   zerlegen   zerlegt   zerlegten   Zerlegung   Ziffern   zifischen   Zudem   zuführen   zugehörige   zugehörigen   zugeordne   zugeordnet   Zugriff   zulässig   zunächst   zurück   zurückgegeben   zurückliefern   zurückliefert   zurücknehmen   zurücksetzen   zurVerfügung   zusammen   zusammenfassen   Zusammenhang   Zusatz   zusätzliche   zusätzlicheOperatorenverfügbarmachen   zuvor   Zuwei   Zuweisungssymbol   Zwar   zwei   zweimal   zwischen   Zwischenverpflegung

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