RegexOpCodes.h 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // M(TagName)
  6. // ClassName == TagName##Inst
  7. // MTemplate(TagName, TemplateDeclaration, GenericClassName, SpecializedClassName)
  8. M(Fail)
  9. M(Succ)
  10. M(Jump)
  11. M(JumpIfNotChar)
  12. M(MatchCharOrJump)
  13. M(JumpIfNotSet)
  14. M(MatchSetOrJump)
  15. M(Switch10)
  16. M(Switch20)
  17. M(SwitchAndConsume10)
  18. M(SwitchAndConsume20)
  19. M(BOITest)
  20. M(EOITest)
  21. M(BOLTest)
  22. M(EOLTest)
  23. M(WordBoundaryTest)
  24. M(MatchChar)
  25. M(MatchChar2)
  26. M(MatchChar3)
  27. M(MatchChar4)
  28. MTemplate(MatchSet, template<bool IsNegation>, MatchSetInst, MatchSetInst<false>)
  29. MTemplate(MatchNegatedSet, template<bool IsNegation>, MatchSetInst, MatchSetInst<true>)
  30. M(MatchLiteral)
  31. M(MatchLiteralEquiv)
  32. M(MatchTrie)
  33. M(OptMatchChar)
  34. M(OptMatchSet)
  35. M(SyncToCharAndContinue)
  36. M(SyncToChar2SetAndContinue)
  37. MTemplate(SyncToSetAndContinue, template<bool IsNegation>, SyncToSetAndContinueInst, SyncToSetAndContinueInst<false>)
  38. MTemplate(SyncToNegatedSetAndContinue, template<bool IsNegation>, SyncToSetAndContinueInst, SyncToSetAndContinueInst<true>)
  39. M(SyncToChar2LiteralAndContinue)
  40. M(SyncToLiteralAndContinue)
  41. M(SyncToLinearLiteralAndContinue)
  42. M(SyncToLiteralEquivAndContinue)
  43. M(SyncToLiteralEquivTrivialLastPatCharAndContinue)
  44. M(SyncToCharAndConsume)
  45. M(SyncToChar2SetAndConsume)
  46. MTemplate(SyncToSetAndConsume, template<bool IsNegation>, SyncToSetAndConsumeInst, SyncToSetAndConsumeInst<false>)
  47. MTemplate(SyncToNegatedSetAndConsume, template<bool IsNegation>, SyncToSetAndConsumeInst, SyncToSetAndConsumeInst<true>)
  48. M(SyncToChar2LiteralAndConsume)
  49. M(SyncToLiteralAndConsume)
  50. M(SyncToLinearLiteralAndConsume)
  51. M(SyncToLiteralEquivAndConsume)
  52. M(SyncToLiteralEquivTrivialLastPatCharAndConsume)
  53. M(SyncToCharAndBackup)
  54. MTemplate(SyncToSetAndBackup, template<bool IsNegation>, SyncToSetAndBackupInst, SyncToSetAndBackupInst<false>)
  55. MTemplate(SyncToNegatedSetAndBackup, template<bool IsNegation>, SyncToSetAndBackupInst, SyncToSetAndBackupInst<true>)
  56. M(SyncToChar2LiteralAndBackup)
  57. M(SyncToLiteralAndBackup)
  58. M(SyncToLinearLiteralAndBackup)
  59. M(SyncToLiteralEquivAndBackup)
  60. M(SyncToLiteralEquivTrivialLastPatCharAndBackup)
  61. M(SyncToLiteralsAndBackup)
  62. M(MatchGroup)
  63. M(BeginDefineGroup)
  64. M(EndDefineGroup)
  65. M(DefineGroupFixed)
  66. M(BeginLoop)
  67. M(RepeatLoop)
  68. M(BeginLoopIfChar)
  69. M(BeginLoopIfSet)
  70. M(RepeatLoopIfChar)
  71. M(RepeatLoopIfSet)
  72. M(BeginLoopFixed)
  73. M(RepeatLoopFixed)
  74. M(LoopSet)
  75. M(LoopSetWithFollowFirst)
  76. M(BeginLoopFixedGroupLastIteration)
  77. M(RepeatLoopFixedGroupLastIteration)
  78. M(BeginGreedyLoopNoBacktrack)
  79. M(RepeatGreedyLoopNoBacktrack)
  80. MTemplate(ChompCharStar, template<ChompMode Mode>, ChompCharInst, ChompCharInst<ChompMode::Star>)
  81. MTemplate(ChompCharPlus, template<ChompMode Mode>, ChompCharInst, ChompCharInst<ChompMode::Plus>)
  82. MTemplate(ChompSetStar, template<ChompMode Mode>, ChompSetInst, ChompSetInst<ChompMode::Star>)
  83. MTemplate(ChompSetPlus, template<ChompMode Mode>, ChompSetInst, ChompSetInst<ChompMode::Plus>)
  84. MTemplate(ChompCharGroupStar, template<ChompMode Mode>, ChompCharGroupInst, ChompCharGroupInst<ChompMode::Star>)
  85. MTemplate(ChompCharGroupPlus, template<ChompMode Mode>, ChompCharGroupInst, ChompCharGroupInst<ChompMode::Plus>)
  86. MTemplate(ChompSetGroupStar, template<ChompMode Mode>, ChompSetGroupInst, ChompSetGroupInst<ChompMode::Star>)
  87. MTemplate(ChompSetGroupPlus, template<ChompMode Mode>, ChompSetGroupInst, ChompSetGroupInst<ChompMode::Plus>)
  88. M(ChompCharBounded)
  89. M(ChompSetBounded)
  90. M(ChompSetBoundedGroupLastChar)
  91. M(Try)
  92. M(TryIfChar)
  93. M(TryMatchChar)
  94. M(TryIfSet)
  95. M(TryMatchSet)
  96. M(BeginAssertion)
  97. M(EndAssertion)