Производство NonemptyClassRanges :: ClassAtom оценивается следующим образом:
1. Верните набор символов CharSet, который является результатом оценки ClassAtom.
Производство NonemptyClassRanges :: ClassAtom NonemptyClassRangesNoDash оценивается следующим образом:
1. Оцените ClassAtom, чтобы получить CharSet A. 2. Оцените NonemptyClassRangesNoDash, чтобы получить CharSet B. 3. Верните объединение CharSets A и B.
Производство NonemptyClassRanges :: ClassAtom — ClassAtom ClassRanges оценивается следующим образом:
1. Оцените первый ClassAtom, чтобы получить CharSet A. 2. Оцените второй ClassAtom, чтобы получить CharSet B. 3. Оцените ClassRanges, чтобы получить CharSet C. 4. Пусть D будет! CharacterRange(A, B). 5. Верните объединение D и C.
CharacterRange ( A, B )
Абстрактная операция CharacterRange (Диапазон символов) принимает аргументы A (CharSet) и B (CharSet). При вызове она выполняет следующие шаги:
1. Утверждено: A и B содержат ровно по одному символу. 2. Пусть a будет единственным символом в CharSet A. 3. Пусть b - единственный символ в CharSet B. 4. Пусть i будет символьным значением символа a. 5. Пусть j будет символьным значением символа b. 6. Утверждено: i ≤ j. 7. Верните CharSet, содержащий все символы со значением символа больше или равным i и меньше или равным j.
Информационные ссылки
Предыдущий раздел — Диапазоны Классов
Стандарт ECMAScript — Раздел «NonemptyClassRanges» — https://tc39.es/ecma262/#sec-nonemptyclassranges