Schnellassistent für Funktions-Tabellen |
Top Previous Next |
Bedienung > Hauptmenü > Menü: Hilfe > Assistenten > Funktions-Tabellen-Assistent > Schnellassistent für Funktions-Tabellen
Der Funktions-Tabellen-Assistent erleichtert die Erweiterung einer Funktionstabelle mit neuen Funktionen. Der Assistent erscheint, wenn mit der rechten Maustaste auf den Namen einer Funktions-Tabelle in der Liste der Klassenelemente geklickt wird.
In die oberen beiden Felder sind das Label eines zu behandelnden Knotentyps, und der Name der Funktion, die diesen Knoten behandeln soll einzugeben. Wird dann der Einfügen-Schalter betätigt, so wird die aktuelle Funktions-Tabelle um einen Eintrag erweitert:
m_ftExpr.add("chars", "Handle_chars");
und es wird zugleich eine neue Funktion erzeugt, die die gleichen Parameter hat, wie für die Funktions-Tabelle definiert und deren Rückgabetyp dem Typ der Funktions-Tabelle entspricht. In der Auswahlbox Art kann für die neue Funktion zuvor ein Gerüst-Typ gewählt werden. Wenn z..B. die aktuelle Funktions-Tabelle vom Typ str_mstrfun ist, mit einem node-Parameter, so wird mit dem iteration-Gerüst folgende Funktion auf der Element-Seite eingefügt:
Name: Handle_chars Typ: str Parameter: const node& xnNode Text:
{{ str s; node pos = xnNode.firstChild(); while(pos != node::npos) { s += m_ftExpr.visit(xState, pos); pos = pos.nextSibling(); }
return s; }}
Für den Art value wird der folgende Text erzeugt:
{{ return xnNode.value(); }}
Für die Art empty wird nur die Klammer erzeugt. Das Funktionsgerüst kann dann von Hand weiter bearbeitet werden.
Eine einfache Methode um eine konsistente Verlinkung herzustellen zwischen
ist, das Label des Knotens nach der Produktion zu nennen. Daher enthält der Assistent eine Liste der Namen der Produktionen, zur Auswahl als Label. Wenn dei Check-Box Baumknoten in die Produktion einfügen aktiviet ist, wird den Parametern der Produktion ein zusätzlicher Knoten-Parameter vorangestellt, und an den Anfang des Textes der Produktion wird folgender Code geschrieben:
node n("chars"); xNode.addChildLast(n);
Für die Aufrufe der Produktion muss von Hand der zusätzliche Parameter eingefügt werden. Wenn in der aufrufende Funktion ebenfalls der durch den Assistenten geschriebene Code steht, ist dieser parameter in der Regel: n. |
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |