From e10c0a884a55fb1c4cd2d6a775d872e17e82828f Mon Sep 17 00:00:00 2001 From: Michael Dyck Date: Tue, 20 Aug 2019 15:10:44 -0400 Subject: [PATCH] Editorial: Simplify the 'Assertion' production ... by using 'QuantifiableAssertion' under [+U] too. (This involves adding the [U] parameter to QuantifiableAssertion.) --- spec.html | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/spec.html b/spec.html index c0305df6aab..4519055fc8a 100644 --- a/spec.html +++ b/spec.html @@ -30941,7 +30941,7 @@

Patterns

[+U] Assertion[+U, ?N] [+U] Atom[+U, ?N] [+U] Atom[+U, ?N] Quantifier - [~U] QuantifiableAssertion[?N] Quantifier + [~U] QuantifiableAssertion[~U, ?N] Quantifier [~U] Assertion[~U, ?N] [~U] ExtendedAtom[?N] Quantifier [~U] ExtendedAtom[?N] @@ -30951,15 +30951,13 @@

Patterns

`$` `\` `b` `\` `B` - [+U] `(` `?` `=` Disjunction[+U, ?N] `)` - [+U] `(` `?` `!` Disjunction[+U, ?N] `)` - [~U] QuantifiableAssertion[?N] + QuantifiableAssertion[?U, ?N] `(` `?` `<=` Disjunction[?U, ?N] `)` `(` `?` `<!` Disjunction[?U, ?N] `)` - QuantifiableAssertion[N] :: - `(` `?` `=` Disjunction[~U, ?N] `)` - `(` `?` `!` Disjunction[~U, ?N] `)` + QuantifiableAssertion[U, N] :: + `(` `?` `=` Disjunction[?U, ?N] `)` + `(` `?` `!` Disjunction[?U, ?N] `)` Quantifier :: QuantifierPrefix @@ -31829,7 +31827,7 @@

Assertion

1. If _a_ is *false* and _b_ is *true*, return *false*. 1. Return *true*. -

The production Assertion :: `(` `?` `=` Disjunction `)` evaluates as follows:

+

The production QuantifiableAssertion :: `(` `?` `=` Disjunction `)` evaluates as follows:

1. Evaluate |Disjunction| with +1 as its _direction_ argument to obtain a Matcher _m_. 1. Return an internal Matcher closure that takes two arguments, a State _x_ and a Continuation _c_, and performs the following steps: @@ -31842,7 +31840,7 @@

Assertion

1. Let _z_ be the State (_xe_, _cap_). 1. Call _c_(_z_) and return its result.
-

The production Assertion :: `(` `?` `!` Disjunction `)` evaluates as follows:

+

The production QuantifiableAssertion :: `(` `?` `!` Disjunction `)` evaluates as follows:

1. Evaluate |Disjunction| with +1 as its _direction_ argument to obtain a Matcher _m_. 1. Return an internal Matcher closure that takes two arguments, a State _x_ and a Continuation _c_, and performs the following steps: @@ -31878,8 +31876,6 @@

Assertion

1. If _r_ is not ~failure~, return ~failure~. 1. Call _c_(_x_) and return its result.
-

----

-

The evaluation rules for the Assertion :: `(` `?` `=` Disjunction `)` and Assertion :: `(` `?` `!` Disjunction `)` productions are also used for the |QuantifiableAssertion| productions, but with |QuantifiableAssertion| substituted for |Assertion|.

Runtime Semantics: WordCharacters ( )