ANY |
Top Previous Next |
Skripte > Produktionen > ANY
Das Symbol ANY bezeichnet ein einzelnes Token aus der Menge aller im Projekt vorkommenden Token, das nicht alternativ zu diesem ANY Symbol in der gleichen Produktion steht. Es kann verwendet werden, um auf einfache Weise beliebigen Text zu parsen. Zum Beispiel kann der Inhalt einer exportierbaren Aktion übergangen werden durch:
"{_" ANY* "_}"
In diesem Beispiel ist das schließende "_}" eine implizite Alternative des wiederholten ANY Symbols. Das bedeutet, dass ANY auf alle Token passt außer "_}".
ANY erkennt nur Token, die irgendwo innerhalb der von der Startregel abhängigen Regeln mindestens einmal explizit vorkommen: Dieser Punkt gilt für jedes Parsersystem gesondert. Wenn in dem Regelsystem die literalen Token "int", "=" und ";" vorkommen und außerdem ein ID-Token für Bezeichner und ein NUMBER-Token für Nummern, so wird mit dem obigen Beispiel der Text
{_ int i = 3; _}
erkannt als
"{_" ANY ANY ANY ANY ANY "_}"
wobei ANY jeweils die entsprechenden Token vertritt
"{_" "int" ID "=" NUMBER ";" "_}"
Wenn das literale Token "int" sonst nicht in den Regeln vorkommt, ist das auch kein Problem, weil "int" dann als Bezeichner erkannt wird. Sollte aber NUMBER sonst nicht im Regelsystem verwendet werden, so muss es hier explizit als Alternative eingefügt werden:
"{_" (ANY | NUMBER )* "_}"
Andernfalls würde der Text nicht geparst.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |