2.1.126 [ECMA-262-1999] Section 220.127.116.11, Notation
Furthermore, the descriptions below use the following internal data structures:
A CharSet is a mathematical set of characters.
A State is an ordered pair (endIndex, captures) where endIndex is an integer and captures is an internal array of NCapturingParens values. States are used to represent partial match states in the regular expression matching algorithms. The endIndex is one plus the index of the last input character matched so far by the pattern, while captures holds the results of capturing parentheses. The nth element of captures is either a string that represents the value obtained by the nth set of capturing parentheses or #undefined# __the empty string__ if the nth set of capturing parentheses hasn't been reached yet. Due to backtracking, many states may be in use at any time during the matching process.