6
6
// ClassName == TagName##Inst
7
7
// MTemplate(TagName, TemplateDeclaration, GenericClassName, SpecializedClassName)
8
8
9
+ // 0x00
10
+ M (Nop ) // Opcode byte 0x00 is a NOP (allows for NOP-sleds for alignment if necessary)
9
11
M (Fail )
10
12
M (Succ )
11
13
M (Jump )
12
14
M (JumpIfNotChar )
13
15
M (MatchCharOrJump )
14
16
M (JumpIfNotSet )
15
17
M (MatchSetOrJump )
18
+ // 0x08
16
19
M (Switch10 )
17
20
M (Switch20 )
18
21
M (SwitchAndConsume10 )
@@ -21,6 +24,7 @@ M(BOITest)
21
24
M (EOITest )
22
25
M (BOLTest )
23
26
M (EOLTest )
27
+ // 0x10
24
28
M (WordBoundaryTest )
25
29
M (MatchChar )
26
30
M (MatchChar2 )
@@ -29,6 +33,7 @@ M(MatchChar4)
29
33
MTemplate (MatchSet , template < bool IsNegation > , MatchSetInst , MatchSetInst < false > )
30
34
MTemplate (MatchNegatedSet , template < bool IsNegation > , MatchSetInst , MatchSetInst < true > )
31
35
M (MatchLiteral )
36
+ // 0x18
32
37
M (MatchLiteralEquiv )
33
38
M (MatchTrie )
34
39
M (OptMatchChar )
@@ -37,30 +42,35 @@ M(SyncToCharAndContinue)
37
42
M (SyncToChar2SetAndContinue )
38
43
MTemplate (SyncToSetAndContinue , template < bool IsNegation > , SyncToSetAndContinueInst , SyncToSetAndContinueInst < false > )
39
44
MTemplate (SyncToNegatedSetAndContinue , template < bool IsNegation > , SyncToSetAndContinueInst , SyncToSetAndContinueInst < true > )
40
- M (SyncToChar2LiteralAndContinue )
41
- M (SyncToLiteralAndContinue )
42
- M (SyncToLinearLiteralAndContinue )
43
- M (SyncToLiteralEquivAndContinue )
44
- M (SyncToLiteralEquivTrivialLastPatCharAndContinue )
45
+ // 0x20
46
+ M (SyncToChar2LiteralAndContinue ) // SyncToLiteralAndContinueInstT<Char2LiteralScannerMixin>
47
+ M (SyncToLiteralAndContinue ) // SyncToLiteralAndContinueInstT<ScannerMixin>
48
+ M (SyncToLinearLiteralAndContinue ) // SyncToLiteralAndContinueInstT<ScannerMixin_WithLinearCharMap>
49
+ M (SyncToLiteralEquivAndContinue ) // SyncToLiteralAndContinueInstT<EquivScannerMixin>
50
+ M (SyncToLiteralEquivTrivialLastPatCharAndContinue ) // SyncToLiteralAndContinueInstT<EquivTrivialLastPatCharScannerMixin>
45
51
M (SyncToCharAndConsume )
46
52
M (SyncToChar2SetAndConsume )
47
53
MTemplate (SyncToSetAndConsume , template < bool IsNegation > , SyncToSetAndConsumeInst , SyncToSetAndConsumeInst < false > )
54
+ // 0x28
48
55
MTemplate (SyncToNegatedSetAndConsume , template < bool IsNegation > , SyncToSetAndConsumeInst , SyncToSetAndConsumeInst < true > )
49
- M (SyncToChar2LiteralAndConsume )
50
- M (SyncToLiteralAndConsume )
51
- M (SyncToLinearLiteralAndConsume )
52
- M (SyncToLiteralEquivAndConsume )
53
- M (SyncToLiteralEquivTrivialLastPatCharAndConsume )
56
+ M (SyncToChar2LiteralAndConsume ) // SyncToLiteralAndConsumeInstT<Char2LiteralScannerMixin>
57
+ M (SyncToLiteralAndConsume ) // SyncToLiteralAndConsumeInstT<ScannerMixin>
58
+ M (SyncToLinearLiteralAndConsume ) // SyncToLiteralAndConsumeInstT<ScannerMixin_WithLinearCharMap>
59
+ M (SyncToLiteralEquivAndConsume ) // SyncToLiteralAndConsumeInstT<EquivScannerMixin>
60
+ M (SyncToLiteralEquivTrivialLastPatCharAndConsume ) // SyncToLiteralAndConsumeInstT<EquivTrivialLastPatCharScannerMixin>
54
61
M (SyncToCharAndBackup )
62
+ // REVIEW (doilij): why not have a SyncToChar2SetAndBackup ?
55
63
MTemplate (SyncToSetAndBackup , template < bool IsNegation > , SyncToSetAndBackupInst , SyncToSetAndBackupInst < false > )
64
+ // 0x30
56
65
MTemplate (SyncToNegatedSetAndBackup , template < bool IsNegation > , SyncToSetAndBackupInst , SyncToSetAndBackupInst < true > )
57
- M (SyncToChar2LiteralAndBackup )
58
- M (SyncToLiteralAndBackup )
59
- M (SyncToLinearLiteralAndBackup )
60
- M (SyncToLiteralEquivAndBackup )
61
- M (SyncToLiteralEquivTrivialLastPatCharAndBackup )
66
+ M (SyncToChar2LiteralAndBackup ) // SyncToLiteralAndBackupInstT<Char2LiteralScannerMixin>
67
+ M (SyncToLiteralAndBackup ) // SyncToLiteralAndBackupInstT<ScannerMixin>
68
+ M (SyncToLinearLiteralAndBackup ) // SyncToLiteralAndBackupInstT<ScannerMixin_WithLinearCharMap>
69
+ M (SyncToLiteralEquivAndBackup ) // SyncToLiteralAndBackupInstT<EquivScannerMixin>
70
+ M (SyncToLiteralEquivTrivialLastPatCharAndBackup ) // SyncToLiteralAndBackupInstT<EquivTrivialLastPatCharScannerMixin>
62
71
M (SyncToLiteralsAndBackup )
63
72
M (MatchGroup )
73
+ // 0x38
64
74
M (BeginDefineGroup )
65
75
M (EndDefineGroup )
66
76
M (DefineGroupFixed )
@@ -69,6 +79,7 @@ M(RepeatLoop)
69
79
M (BeginLoopIfChar )
70
80
M (BeginLoopIfSet )
71
81
M (RepeatLoopIfChar )
82
+ // 0x40
72
83
M (RepeatLoopIfSet )
73
84
M (BeginLoopFixed )
74
85
M (RepeatLoopFixed )
@@ -77,6 +88,7 @@ M(LoopSetWithFollowFirst)
77
88
M (BeginLoopFixedGroupLastIteration )
78
89
M (RepeatLoopFixedGroupLastIteration )
79
90
M (BeginGreedyLoopNoBacktrack )
91
+ // 0x48
80
92
M (RepeatGreedyLoopNoBacktrack )
81
93
MTemplate (ChompCharStar , template < ChompMode Mode > , ChompCharInst , ChompCharInst < ChompMode ::Star > )
82
94
MTemplate (ChompCharPlus , template < ChompMode Mode > , ChompCharInst , ChompCharInst < ChompMode ::Plus > )
@@ -85,6 +97,7 @@ MTemplate(ChompSetPlus, template<ChompMode Mode>, ChompSetInst, ChompSetInst<Cho
85
97
MTemplate (ChompCharGroupStar , template < ChompMode Mode > , ChompCharGroupInst , ChompCharGroupInst < ChompMode ::Star > )
86
98
MTemplate (ChompCharGroupPlus , template < ChompMode Mode > , ChompCharGroupInst , ChompCharGroupInst < ChompMode ::Plus > )
87
99
MTemplate (ChompSetGroupStar , template < ChompMode Mode > , ChompSetGroupInst , ChompSetGroupInst < ChompMode ::Star > )
100
+ // 0x50
88
101
MTemplate (ChompSetGroupPlus , template < ChompMode Mode > , ChompSetGroupInst , ChompSetGroupInst < ChompMode ::Plus > )
89
102
M (ChompCharBounded )
90
103
M (ChompSetBounded )
@@ -93,6 +106,7 @@ M(Try)
93
106
M (TryIfChar )
94
107
M (TryMatchChar )
95
108
M (TryIfSet )
109
+ // 0x58
96
110
M (TryMatchSet )
97
111
M (BeginAssertion )
98
112
M (EndAssertion )
0 commit comments