Ausdrucksquantifizierer: gieriges, widerwilliges und besitzergreifendes Verhalten

Standardmäßig sind die Quantifizierer gierig. Gierig bedeutet, dass der Ausdruck so viele Token wie möglich akzeptiert, aber trotzdem einen erfolgreichen Vergleich zulässt. Sie können dieses Verhalten überschreiben, indem Sie ein „?“ für den Vergleich widerwilligen Verhaltens oder ein „+'“ für den Vergleich besitzergreifenden Verhaltens anfügen.

Der Vergleich widerwilligen Verhaltens bedeutet, dass der Ausdruck so wenige Token wie möglich akzeptiert, während immer noch ein erfolgreicher Vergleich zulässig ist.

Der Vergleich besitzergreifenden Verhaltens bedeutet, dass der Ausdruck so viele Token wie möglich akzeptiert, auch wenn dadurch kein Vergleich möglich ist.

  • Beispiel für einen oder mehrere Quantifizierer

    Gierig

    1. Beim gierigen Verhalten in <Feld1> wird die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. <Feld2> kann nur die minimale Anzahl der Token akzeptieren, deren Aufgabe von <Feld1> erzwungen wird.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld1> erzwungen wird.

    Widerwillig

    1. Beim widerwilligen Verhalten in <Feld1> wird die minimale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. Da <Feld2> gierig ist, akzeptiert es die maximale Anzahl der Token, die von <Feld1> aufgegeben wurden, und gibt die Token nur dann auf, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld2> erzwungen wird.

    Besitzergreifend

    1. Beim besitzergreifenden Verhalten in <Feld1> wird die maximale Anzahl der Token akzeptiert, die mit der Regel übereinstimmen, während die Token, bei denen die verbleibenden Regeln verglichen werden sollen, nicht aufgegeben werden.
    2. Da <Feld1> besitzergreifend ist, stehen für <Feld2> keine Token zur Verfügung. 3. Da <Feld1> besitzergreifend ist, stehen für <Feld3> keine Token zur Verfügung.
    3. Die Eingabe wird nicht geparst.

    Beispiel für null oder mehr Quantifizierer

    Gierig

    1. Beim gierigen Verhalten in <Feld1> wird kein Token oder die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. Da <Feld1> gierig ist, akzeptiert <Feld2> nur die minimale Anzahl der Token, deren Aufgabe von <Feld1> erzwungen wird. Da das Minimum für <Field2> null ist, entsprechen null Token dieser Regel.
    3. Da <Feld1> gierig ist, akzeptiert <Feld3> nur ein einzelnes Token, dessen Aufgabe von der <Feld1> -Regel erzwungen wird.

    Widerwillig

    1. Beim widerwilligen Verhalten in <Feld1> wird kein Token oder die minimale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. Da <Feld2> gierig ist, akzeptiert es die maximale Anzahl der Token, die von <Feld1> aufgegeben wurden, und gibt die Token nur dann auf, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld2> erzwungen wird.

    Besitzergreifend

    1. 1. Beim besitzergreifenden Verhalten in <Feld1> wird kein Token oder die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während die Token, bei denen die verbleibenden Regeln verglichen werden sollen, nicht aufgegeben werden.
    2. Da <Feld1> besitzergreifend ist, stehen für <Feld2> keine Token zur Verfügung.
    3. Da <Feld1> besitzergreifend ist, stehen für <Feld3> keine Token zur Verfügung. Die Eingabe wird nicht geparst.

    Beispiel für null oder einen Quantifizierer

    Gierig

    1. Beim gierigen Verhalten in <Feld1> wird kein Token oder die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. <Feld2> kann nur die minimale Anzahl der Token akzeptieren, deren Aufgabe von <Feld1> erzwungen wird.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld1> erzwungen wird.

    Widerwillig

    1. Beim widerwilligen Verhalten in <Feld1> wird die minimale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. Da <Feld2> gierig ist, akzeptiert es die maximale Anzahl der Token, die von <Feld1> aufgegeben wurden, und gibt die Token nur dann auf, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld2> erzwungen wird.

    Besitzergreifend

    1. Beim besitzergreifenden Verhalten in <Feld1> wird kein Token oder die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während die Token, bei denen die verbleibenden Regeln verglichen werden sollen, nicht aufgegeben werden.
    2. Da <Feld1> besitzergreifend ist, steht für <Feld2> nur ein Token zur Verfügung.
    3. Da <Feld1> besitzergreifend ist, stehen für <Feld3> keine Token zur Verfügung. Die Eingabe wird nicht geparst.

  • Beispiel für min./max. Quantifizierer

    Gierig

    1. Beim gierigen Verhalten in der <Feld1>-Regel wird die maximale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. <Feld2> kann nur die minimale Anzahl der Token akzeptieren, deren Aufgabe von <Feld1> erzwungen wird.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld1> erzwungen wird.

    Widerwillig

    1. Beim widerwilligen Verhalten in <Feld1> wird die minimale Anzahl von Token akzeptiert, die mit der Regel übereinstimmen, während Token nur dann aufgegeben werden, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    2. Da <Feld2> gierig ist, akzeptiert es die maximale Anzahl der Token, die von <Feld1> aufgegeben wurden, und gibt die Token nur dann auf, wenn dies für den Vergleich mit den verbleibenden Regeln notwendig ist.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld2> erzwungen wird.

    Besitzergreifend

    1. Beim besitzergreifenden Verhalten in <Feld1> wird die maximale Anzahl der Token akzeptiert, die mit der Regel übereinstimmen, während die Token, bei denen die verbleibenden Regeln verglichen werden sollen, nicht aufgegeben werden.
    2. Da <Feld1> besitzergreifend ist, stehen für <Feld2> zwei Token zur Verfügung.
    3. <Feld3> kann nur ein einzelnes Token akzeptieren, dessen Aufgabe von <Feld2> erzwungen wird.