| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- // These byte codes _cannot_ appear in the regexOpCode field of a Node.
- RegOp(GreedyStar ,Rev,Lng, 0 , 0 ) // 00/00 * label, cchMinRem
- RegOp(RevBranch ,Rev,Lng,Lng, 0 ) // 01/01 label, cchMinRem, pnode->cchMinTot
- RegOp(GreedyLoop ,Rev,Lng,Lng,Lng) // 02/02 label, min, max, cchMinRem
- RegOp(LoopInit ,Fwd,Int,Lng, 0 ) // 03/03 label, #, min
- RegOp(GreedyLoopTest ,Rev,Int,Lng,Lng) // 04/04 label, #, max-min, cchMinRem
- RegOp(NonGreedyStar ,Rev,Lng, 0 , 0 ) // 05 * label, cchMinRem
- RegOp(NonGreedyLoop ,Rev,Lng,Lng,Lng) // 06 label, min, max, cchMinRem
- RegOp(NonGreedyLoopTest,Rev,Int,Lng,Lng) // 07 label, #, max-min, cchMinRem
- RegOp(Open ,Int, 0 , 0 , 0 ) // 05/08 ( #
- RegOp(Close ,Int, 0 , 0 , 0 ) // 06/09 ) #
- RegOp(MatchOne ,Chr, 0 , 0 , 0 ) // 07/0A character
- RegOp(Need ,Lng, 0 , 0 , 0 ) // 08/0B cchMinRem
- RegOp(Fail , 0 , 0 , 0 , 0 ) // 09/0C no way to match this
- RegOp(Jump ,Fwd, 0 , 0 , 0 ) // 0A/0D label
- RegOp(PosLookahead ,Fwd, 0 , 0 , 0 ) // 0E label
- RegOp(NegLookahead ,Fwd, 0 , 0 , 0 ) // 0F label
- RegOp(LookaheadEnd , 0 , 0 , 0 , 0 ) // 10
- RegOp(End , 0 , 0 , 0 , 0 ) // 0B/11
- // These byte codes _can_ appear in the regexOpCode field of a Node.
- RegOp(Branch ,Fwd, 0 , 0 , 0 ) // 0C/12 label
- RegOp(Match ,Cch, 0 , 0 , 0 ) // 0D/13 cch, characters
- RegOp(MatchGroup ,Int, 0 , 0 , 0 ) // 0E/14 \1 #
- RegOp(Head , 0 , 0 , 0 , 0 ) // 0F/15 ^
- RegOp(Tail , 0 , 0 , 0 , 0 ) // 10/16 $
- RegOp(WordBound , 0 , 0 , 0 , 0 ) // 11/17 \b
- RegOp(NotWordBound , 0 , 0 , 0 , 0 ) // 12/18 \B
- RegOp(Any , 0 , 0 , 0 , 0 ) // 13/19 No longer used
- RegOp(AnyOf ,Cch, 0 , 0 , 0 ) // 14/1A [] cch, transition characters
- RegOp(AnyBut ,Cch, 0 , 0 , 0 ) // 15/1B [^] cch, transition characters
- RegOp(Digit , 0 , 0 , 0 , 0 ) // 16/1C \d
- RegOp(NotDigit , 0 , 0 , 0 , 0 ) // 17/1D \D
- RegOp(Space , 0 , 0 , 0 , 0 ) // 18/1E \s
- RegOp(NotSpace , 0 , 0 , 0 , 0 ) // 19/1F \S
- RegOp(Letter , 0 , 0 , 0 , 0 ) // 1A/20 \w
- RegOp(NotLetter , 0 , 0 , 0 , 0 ) // 1B/21 \W
- RegOp(NotLF , 0 , 0 , 0 , 0 ) // 1C/22 .
- RegOp(Dummy , 0 , 0 , 0 , 0 ) // 1D/23 Dummy. Default opcode to check for absence of opcode
- #undef RegOp
|