// Copyright 2024 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /* This file is autogenerated from the antlr grammar fuzzer_regexp_grammar.g4 To regenerate this file, you need fuzztest: https://github.com/google/fuzztest Create a bazel BUILD file with a target for this grammar: cc_fuzztest_grammar_library( name = "regex_grammar", srcs = ["fuzzer_regexp_grammar.g4"], top_level_rule = "pattern", ) Build it and copy over the resulting file: bazel build :regex_grammar */ #ifndef FUZZTEST_GRAMMARS_PATTERN_GRAMMAR_H_ #define FUZZTEST_GRAMMARS_PATTERN_GRAMMAR_H_ #include "./fuzztest/internal/domains/in_grammar_impl.h" namespace fuzztest::internal::grammar::pattern { enum PatternTypes { kSourceCharacterNode, kIdentifierStartCharNode, kIdentifierPartCharNode, kAsciiLetterNode, kNumericLiteralSeparatorNode, kDecimalDigitsNode, kDecimalDigitNode, kNonZeroDigitNode, kHexDigitNode, kHexDigitsNode, kCodePointNode, kHexEscapeSequenceNode, kHex4DigitsNode, kPatternNode, kDisjunctionNode, kAlternativeNode, kTermNode, kAssertionNode, kQuantifierNode, kQuantifierPrefixNode, kAtomNode, kSyntaxCharacterNode, kPatternCharacterNode, kAtomEscapeNode, kCharacterEscapeNode, kControlEscapeNode, kGroupSpecifierNode, kGroupNameNode, kRegExpIdentifierNameNode, kRegExpIdentifierStartNode, kRegExpIdentifierPartNode, kRegExpUnicodeEscapeSequenceNode, kUnicodeLeadSurrogateNode, kUnicodeTrailSurrogateNode, kHexLeadSurrogateNode, kHexTrailSurrogateNode, kHexNonSurrogateNode, kIdentityEscapeNode, kDecimalEscapeNode, kCharacterClassEscapeNode, kUnicodePropertyValueExpressionNode, kUnicodePropertyNameNode, kUnicodePropertyNameCharactersNode, kUnicodePropertyValueNode, kLoneUnicodePropertyNameOrValueNode, kUnicodePropertyValueCharactersNode, kUnicodePropertyValueCharacterNode, kUnicodePropertyNameCharacterNode, kCharacterClassNode, kClassContentsNode, kNonemptyClassRangesNode, kNonemptyClassRangesNoDashNode, kClassAtomNode, kClassAtomNoDashNode, kClassEscapeNode, kClassSetExpressionNode, kClassUnionNode, kClassIntersectionNode, kClassSubtractionNode, kClassSetRangeNode, kClassSetOperandNode, kNestedClassNode, kClassStringDisjunctionNode, kClassStringDisjunctionContentsNode, kClassStringNode, kNonEmptyClassStringNode, kClassSetCharacterNode, kClassSetReservedDoublePunctuatorNode, kClassSetSyntaxCharacterNode, kClassSetReservedPunctuatorNode, kDecimalDigitsSubNode0, kDecimalDigitsSubNode1, kDecimalDigitsSubNode3, kDecimalDigitsSubNode4, kDecimalDigitsSubNode2, kHexDigitsSubNode5, kHexDigitsSubNode7, kHexDigitsSubNode8, kHexDigitsSubNode6, kHexEscapeSequenceSubNode9, kHexEscapeSequenceSubNode10, kDisjunctionSubNode11, kAlternativeSubNode12, kTermSubNode13, kTermSubNode14, kAssertionSubNode15, kAssertionSubNode16, kAssertionSubNode17, kAssertionSubNode18, kAssertionSubNode19, kAssertionSubNode20, kQuantifierSubNode21, kQuantifierPrefixSubNode22, kQuantifierPrefixSubNode23, kQuantifierPrefixSubNode24, kAtomSubNode25, kAtomSubNode26, kAtomSubNode27, kAtomSubNode28, kAtomEscapeSubNode29, kCharacterEscapeSubNode30, kRegExpIdentifierNameSubNode31, kRegExpIdentifierStartSubNode32, kRegExpIdentifierStartSubNode33, kRegExpIdentifierPartSubNode34, kRegExpIdentifierPartSubNode35, kRegExpUnicodeEscapeSequenceSubNode36, kRegExpUnicodeEscapeSequenceSubNode37, kRegExpUnicodeEscapeSequenceSubNode38, kRegExpUnicodeEscapeSequenceSubNode39, kRegExpUnicodeEscapeSequenceSubNode40, kRegExpUnicodeEscapeSequenceSubNode41, kDecimalEscapeSubNode42, kCharacterClassEscapeSubNode43, kUnicodePropertyValueExpressionSubNode44, kUnicodePropertyNameCharactersSubNode45, kUnicodePropertyValueCharactersSubNode46, kCharacterClassSubNode47, kClassContentsSubNode48, kClassContentsSubNode49, kNonemptyClassRangesSubNode50, kNonemptyClassRangesSubNode51, kNonemptyClassRangesNoDashSubNode52, kNonemptyClassRangesNoDashSubNode53, kClassAtomNoDashSubNode54, kClassUnionSubNode55, kClassUnionSubNode56, kClassUnionSubNode57, kClassUnionSubNode58, kClassIntersectionSubNode59, kClassIntersectionSubNode60, kClassSubtractionSubNode61, kClassSubtractionSubNode62, kNestedClassSubNode63, kNestedClassSubNode64, kNestedClassSubNode65, kClassStringDisjunctionContentsSubNode66, kNonEmptyClassStringSubNode67, kClassSetCharacterSubNode68, kClassSetCharacterSubNode69, kClassSetCharacterSubNode70, kLiteral15, kLiteral16, kLiteral0, kLiteral17, kLiteral18, kLiteral14, kLiteral43, kLiteral38, kLiteral44, kLiteral40, kLiteral39, kLiteral36, kLiteral37, kLiteral19, kLiteral20, kLiteral41, kLiteral21, kLiteral8, kLiteral50, kLiteral2, kLiteral22, kLiteral7, kLiteral3, kLiteral23, kLiteral24, kLiteral5, kLiteral25, kLiteral48, kLiteral26, kLiteral6, kLiteral27, kLiteral4, kLiteral28, kLiteral29, kLiteral35, kLiteral9, kLiteral47, kLiteral10, kLiteral49, kLiteral30, kLiteral1, kLiteral31, kLiteral11, kLiteral46, kLiteral45, kLiteral12, kLiteral33, kLiteral34, kLiteral42, kLiteral13, kLiteral32, kCharSet0, kCharSet17, kCharSet16, kCharSet9, kCharSet5, kCharSet7, kCharSet6, kCharSet15, kCharSet2, kCharSet1, kCharSet3, kCharSet12, kCharSet13, kCharSet10, kCharSet8, kCharSet4, kCharSet14, kCharSet11, kCharSet18, }; class SourceCharacterNode; class IdentifierStartCharNode; class IdentifierPartCharNode; class AsciiLetterNode; class NumericLiteralSeparatorNode; class DecimalDigitsNode; class DecimalDigitNode; class NonZeroDigitNode; class HexDigitNode; class HexDigitsNode; class CodePointNode; class HexEscapeSequenceNode; class Hex4DigitsNode; class PatternNode; class DisjunctionNode; class AlternativeNode; class TermNode; class AssertionNode; class QuantifierNode; class QuantifierPrefixNode; class AtomNode; class SyntaxCharacterNode; class PatternCharacterNode; class AtomEscapeNode; class CharacterEscapeNode; class ControlEscapeNode; class GroupSpecifierNode; class GroupNameNode; class RegExpIdentifierNameNode; class RegExpIdentifierStartNode; class RegExpIdentifierPartNode; class RegExpUnicodeEscapeSequenceNode; class UnicodeLeadSurrogateNode; class UnicodeTrailSurrogateNode; class HexLeadSurrogateNode; class HexTrailSurrogateNode; class HexNonSurrogateNode; class IdentityEscapeNode; class DecimalEscapeNode; class CharacterClassEscapeNode; class UnicodePropertyValueExpressionNode; class UnicodePropertyNameNode; class UnicodePropertyNameCharactersNode; class UnicodePropertyValueNode; class LoneUnicodePropertyNameOrValueNode; class UnicodePropertyValueCharactersNode; class UnicodePropertyValueCharacterNode; class UnicodePropertyNameCharacterNode; class CharacterClassNode; class ClassContentsNode; class NonemptyClassRangesNode; class NonemptyClassRangesNoDashNode; class ClassAtomNode; class ClassAtomNoDashNode; class ClassEscapeNode; class ClassSetExpressionNode; class ClassUnionNode; class ClassIntersectionNode; class ClassSubtractionNode; class ClassSetRangeNode; class ClassSetOperandNode; class NestedClassNode; class ClassStringDisjunctionNode; class ClassStringDisjunctionContentsNode; class ClassStringNode; class NonEmptyClassStringNode; class ClassSetCharacterNode; class ClassSetReservedDoublePunctuatorNode; class ClassSetSyntaxCharacterNode; class ClassSetReservedPunctuatorNode; class DecimalDigitsSubNode0; class DecimalDigitsSubNode1; class DecimalDigitsSubNode3; class DecimalDigitsSubNode4; class DecimalDigitsSubNode2; class HexDigitsSubNode5; class HexDigitsSubNode7; class HexDigitsSubNode8; class HexDigitsSubNode6; class HexEscapeSequenceSubNode9; class HexEscapeSequenceSubNode10; class DisjunctionSubNode11; class AlternativeSubNode12; class TermSubNode13; class TermSubNode14; class AssertionSubNode15; class AssertionSubNode16; class AssertionSubNode17; class AssertionSubNode18; class AssertionSubNode19; class AssertionSubNode20; class QuantifierSubNode21; class QuantifierPrefixSubNode22; class QuantifierPrefixSubNode23; class QuantifierPrefixSubNode24; class AtomSubNode25; class AtomSubNode26; class AtomSubNode27; class AtomSubNode28; class AtomEscapeSubNode29; class CharacterEscapeSubNode30; class RegExpIdentifierNameSubNode31; class RegExpIdentifierStartSubNode32; class RegExpIdentifierStartSubNode33; class RegExpIdentifierPartSubNode34; class RegExpIdentifierPartSubNode35; class RegExpUnicodeEscapeSequenceSubNode36; class RegExpUnicodeEscapeSequenceSubNode37; class RegExpUnicodeEscapeSequenceSubNode38; class RegExpUnicodeEscapeSequenceSubNode39; class RegExpUnicodeEscapeSequenceSubNode40; class RegExpUnicodeEscapeSequenceSubNode41; class DecimalEscapeSubNode42; class CharacterClassEscapeSubNode43; class UnicodePropertyValueExpressionSubNode44; class UnicodePropertyNameCharactersSubNode45; class UnicodePropertyValueCharactersSubNode46; class CharacterClassSubNode47; class ClassContentsSubNode48; class ClassContentsSubNode49; class NonemptyClassRangesSubNode50; class NonemptyClassRangesSubNode51; class NonemptyClassRangesNoDashSubNode52; class NonemptyClassRangesNoDashSubNode53; class ClassAtomNoDashSubNode54; class ClassUnionSubNode55; class ClassUnionSubNode56; class ClassUnionSubNode57; class ClassUnionSubNode58; class ClassIntersectionSubNode59; class ClassIntersectionSubNode60; class ClassSubtractionSubNode61; class ClassSubtractionSubNode62; class NestedClassSubNode63; class NestedClassSubNode64; class NestedClassSubNode65; class ClassStringDisjunctionContentsSubNode66; class NonEmptyClassStringSubNode67; class ClassSetCharacterSubNode68; class ClassSetCharacterSubNode69; class ClassSetCharacterSubNode70; class Literal15; class Literal16; class Literal0; class Literal17; class Literal18; class Literal14; class Literal43; class Literal38; class Literal44; class Literal40; class Literal39; class Literal36; class Literal37; class Literal19; class Literal20; class Literal41; class Literal21; class Literal8; class Literal50; class Literal2; class Literal22; class Literal7; class Literal3; class Literal23; class Literal24; class Literal5; class Literal25; class Literal48; class Literal26; class Literal6; class Literal27; class Literal4; class Literal28; class Literal29; class Literal35; class Literal9; class Literal47; class Literal10; class Literal49; class Literal30; class Literal1; class Literal31; class Literal11; class Literal46; class Literal45; class Literal12; class Literal33; class Literal34; class Literal42; class Literal13; class Literal32; class CharSet0; class CharSet17; class CharSet16; class CharSet9; class CharSet5; class CharSet7; class CharSet6; class CharSet15; class CharSet2; class CharSet1; class CharSet3; class CharSet12; class CharSet13; class CharSet10; class CharSet8; class CharSet4; class CharSet14; class CharSet11; class CharSet18; inline constexpr absl::string_view kStrLiteral15 = "!!"; inline constexpr absl::string_view kStrLiteral16 = "##"; inline constexpr absl::string_view kStrLiteral0 = "$"; inline constexpr absl::string_view kStrLiteral17 = "$$"; inline constexpr absl::string_view kStrLiteral18 = "%%"; inline constexpr absl::string_view kStrLiteral14 = "&&"; inline constexpr absl::string_view kStrLiteral43 = "("; inline constexpr absl::string_view kStrLiteral38 = "(?!"; inline constexpr absl::string_view kStrLiteral44 = "(?:"; inline constexpr absl::string_view kStrLiteral40 = "(?"; inline constexpr absl::string_view kStrLiteral27 = ">>"; inline constexpr absl::string_view kStrLiteral4 = "?"; inline constexpr absl::string_view kStrLiteral28 = "??"; inline constexpr absl::string_view kStrLiteral29 = "@@"; inline constexpr absl::string_view kStrLiteral35 = "B"; inline constexpr absl::string_view kStrLiteral9 = "["; inline constexpr absl::string_view kStrLiteral47 = "\\\\u"; inline constexpr absl::string_view kStrLiteral10 = "]"; inline constexpr absl::string_view kStrLiteral49 = "^"; inline constexpr absl::string_view kStrLiteral30 = "^^"; inline constexpr absl::string_view kStrLiteral1 = "_"; inline constexpr absl::string_view kStrLiteral31 = "``"; inline constexpr absl::string_view kStrLiteral11 = "b"; inline constexpr absl::string_view kStrLiteral46 = "c"; inline constexpr absl::string_view kStrLiteral45 = "k"; inline constexpr absl::string_view kStrLiteral12 = "q{"; inline constexpr absl::string_view kStrLiteral33 = "u"; inline constexpr absl::string_view kStrLiteral34 = "u{"; inline constexpr absl::string_view kStrLiteral42 = "{"; inline constexpr absl::string_view kStrLiteral13 = "}"; inline constexpr absl::string_view kStrLiteral32 = "~~"; inline constexpr absl::string_view kStrCharSet0 = R"grammar(.)grammar"; inline constexpr absl::string_view kStrCharSet17 = R"grammar([&!#%,:;<=>@`~-])grammar"; inline constexpr absl::string_view kStrCharSet16 = R"grammar([()[\]{}/\\|-])grammar"; inline constexpr absl::string_view kStrCharSet9 = R"grammar([*+?])grammar"; inline constexpr absl::string_view kStrCharSet5 = R"grammar([0-9])grammar"; inline constexpr absl::string_view kStrCharSet7 = R"grammar([0-9a-fA-F])grammar"; inline constexpr absl::string_view kStrCharSet6 = R"grammar([1-9])grammar"; inline constexpr absl::string_view kStrCharSet15 = R"grammar([\\])grammar"; inline constexpr absl::string_view kStrCharSet2 = R"grammar([\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Mn}\p{Mc}\p{Nd}\p{Pc}])grammar"; inline constexpr absl::string_view kStrCharSet1 = R"grammar([\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}])grammar"; inline constexpr absl::string_view kStrCharSet3 = R"grammar([\x{200C}\x{200D}])grammar"; inline constexpr absl::string_view kStrCharSet12 = R"grammar([\x{D800}-\x{DBFF}])grammar"; inline constexpr absl::string_view kStrCharSet13 = R"grammar([\x{DC00}-\x{DFFF}])grammar"; inline constexpr absl::string_view kStrCharSet10 = R"grammar([^$\\.*+?()[\]{}|])grammar"; inline constexpr absl::string_view kStrCharSet8 = R"grammar([^$])grammar"; inline constexpr absl::string_view kStrCharSet4 = R"grammar([a-zA-Z])grammar"; inline constexpr absl::string_view kStrCharSet14 = R"grammar([dDsSwW])grammar"; inline constexpr absl::string_view kStrCharSet11 = R"grammar([fnrtv])grammar"; inline constexpr absl::string_view kStrCharSet18 = R"grammar([pP])grammar"; class SourceCharacterNode final : public TupleDomain {}; class IdentifierStartCharNode final : public VariantDomain {}; class IdentifierPartCharNode final : public VariantDomain {}; class AsciiLetterNode final : public TupleDomain {}; class NumericLiteralSeparatorNode final : public TupleDomain {}; class DecimalDigitsNode final : public TupleDomain {}; class DecimalDigitNode final : public TupleDomain { }; class NonZeroDigitNode final : public TupleDomain { }; class HexDigitNode final : public TupleDomain {}; class HexDigitsNode final : public TupleDomain {}; class CodePointNode final : public TupleDomain { }; class HexEscapeSequenceNode final : public VariantDomain {}; class Hex4DigitsNode final : public TupleDomain {}; class PatternNode final : public TupleDomain {}; class DisjunctionNode final : public TupleDomain {}; class AlternativeNode final : public TupleDomain {}; class TermNode final : public VariantDomain {}; class AssertionNode final : public VariantDomain {}; class QuantifierNode final : public TupleDomain {}; class QuantifierPrefixNode final : public VariantDomain {}; class AtomNode final : public VariantDomain {}; class SyntaxCharacterNode final : public TupleDomain {}; class PatternCharacterNode final : public TupleDomain {}; class AtomEscapeNode final : public VariantDomain {}; class CharacterEscapeNode final : public VariantDomain< kCharacterEscapeNode, 2, ControlEscapeNode, CharacterEscapeSubNode30, Literal3, HexEscapeSequenceNode, RegExpUnicodeEscapeSequenceNode, IdentityEscapeNode> {}; class ControlEscapeNode final : public TupleDomain {}; class GroupSpecifierNode final : public TupleDomain {}; class GroupNameNode final : public TupleDomain {}; class RegExpIdentifierNameNode final : public TupleDomain {}; class RegExpIdentifierStartNode final : public VariantDomain< kRegExpIdentifierStartNode, 0, IdentifierStartCharNode, RegExpIdentifierStartSubNode32, RegExpIdentifierStartSubNode33> {}; class RegExpIdentifierPartNode final : public VariantDomain {}; class RegExpUnicodeEscapeSequenceNode final : public VariantDomain {}; class UnicodeLeadSurrogateNode final : public TupleDomain {}; class UnicodeTrailSurrogateNode final : public TupleDomain {}; class HexLeadSurrogateNode final : public TupleDomain {}; class HexTrailSurrogateNode final : public TupleDomain {}; class HexNonSurrogateNode final : public TupleDomain {}; class IdentityEscapeNode final : public VariantDomain {}; class DecimalEscapeNode final : public TupleDomain {}; class CharacterClassEscapeNode final : public VariantDomain {}; class UnicodePropertyValueExpressionNode final : public VariantDomain {}; class UnicodePropertyNameNode final : public TupleDomain {}; class UnicodePropertyNameCharactersNode final : public TupleDomain {}; class UnicodePropertyValueNode final : public TupleDomain {}; class LoneUnicodePropertyNameOrValueNode final : public TupleDomain {}; class UnicodePropertyValueCharactersNode final : public TupleDomain {}; class UnicodePropertyValueCharacterNode final : public VariantDomain { }; class UnicodePropertyNameCharacterNode final : public VariantDomain {}; class CharacterClassNode final : public TupleDomain {}; class ClassContentsNode final : public VariantDomain {}; class NonemptyClassRangesNode final : public VariantDomain {}; class NonemptyClassRangesNoDashNode final : public VariantDomain {}; class ClassAtomNode final : public VariantDomain {}; class ClassAtomNoDashNode final : public VariantDomain {}; class ClassEscapeNode final : public VariantDomain {}; class ClassSetExpressionNode final : public VariantDomain {}; class ClassUnionNode final : public VariantDomain {}; class ClassIntersectionNode final : public TupleDomain {}; class ClassSubtractionNode final : public TupleDomain {}; class ClassSetRangeNode final : public TupleDomain {}; class ClassSetOperandNode final : public VariantDomain { }; class NestedClassNode final : public VariantDomain {}; class ClassStringDisjunctionNode final : public TupleDomain {}; class ClassStringDisjunctionContentsNode final : public TupleDomain {}; class ClassStringNode final : public TupleDomain {}; class NonEmptyClassStringNode final : public TupleDomain {}; class ClassSetCharacterNode final : public VariantDomain {}; class ClassSetReservedDoublePunctuatorNode final : public VariantDomain< kClassSetReservedDoublePunctuatorNode, 0, Literal14, Literal15, Literal16, Literal17, Literal18, Literal19, Literal20, Literal21, Literal22, Literal23, Literal24, Literal25, Literal26, Literal27, Literal28, Literal29, Literal30, Literal31, Literal32> {}; class ClassSetSyntaxCharacterNode final : public TupleDomain {}; class ClassSetReservedPunctuatorNode final : public TupleDomain {}; class DecimalDigitsSubNode0 final : public NonEmptyVector {}; class DecimalDigitsSubNode1 final : public Vector {}; class DecimalDigitsSubNode3 final : public Optional {}; class DecimalDigitsSubNode4 final : public NonEmptyVector {}; class DecimalDigitsSubNode2 final : public TupleDomain {}; class HexDigitsSubNode5 final : public NonEmptyVector {}; class HexDigitsSubNode7 final : public Optional {}; class HexDigitsSubNode8 final : public TupleDomain {}; class HexDigitsSubNode6 final : public TupleDomain { }; class HexEscapeSequenceSubNode9 final : public TupleDomain {}; class HexEscapeSequenceSubNode10 final : public TupleDomain {}; class DisjunctionSubNode11 final : public NonEmptyVector {}; class AlternativeSubNode12 final : public NonEmptyVector {}; class TermSubNode13 final : public Optional {}; class TermSubNode14 final : public TupleDomain {}; class AssertionSubNode15 final : public TupleDomain {}; class AssertionSubNode16 final : public TupleDomain {}; class AssertionSubNode17 final : public TupleDomain {}; class AssertionSubNode18 final : public TupleDomain {}; class AssertionSubNode19 final : public TupleDomain {}; class AssertionSubNode20 final : public TupleDomain {}; class QuantifierSubNode21 final : public Optional {}; class QuantifierPrefixSubNode22 final : public Optional {}; class QuantifierPrefixSubNode23 final : public Optional {}; class QuantifierPrefixSubNode24 final : public TupleDomain {}; class AtomSubNode25 final : public TupleDomain {}; class AtomSubNode26 final : public Optional {}; class AtomSubNode27 final : public TupleDomain {}; class AtomSubNode28 final : public TupleDomain {}; class AtomEscapeSubNode29 final : public TupleDomain {}; class CharacterEscapeSubNode30 final : public TupleDomain {}; class RegExpIdentifierNameSubNode31 final : public NonEmptyVector {}; class RegExpIdentifierStartSubNode32 final : public TupleDomain {}; class RegExpIdentifierStartSubNode33 final : public TupleDomain { }; class RegExpIdentifierPartSubNode34 final : public TupleDomain {}; class RegExpIdentifierPartSubNode35 final : public TupleDomain { }; class RegExpUnicodeEscapeSequenceSubNode36 final : public TupleDomain {}; class RegExpUnicodeEscapeSequenceSubNode37 final : public TupleDomain {}; class RegExpUnicodeEscapeSequenceSubNode38 final : public TupleDomain {}; class RegExpUnicodeEscapeSequenceSubNode39 final : public TupleDomain {}; class RegExpUnicodeEscapeSequenceSubNode40 final : public TupleDomain {}; class RegExpUnicodeEscapeSequenceSubNode41 final : public TupleDomain {}; class DecimalEscapeSubNode42 final : public Optional {}; class CharacterClassEscapeSubNode43 final : public TupleDomain {}; class UnicodePropertyValueExpressionSubNode44 final : public TupleDomain {}; class UnicodePropertyNameCharactersSubNode45 final : public NonEmptyVector {}; class UnicodePropertyValueCharactersSubNode46 final : public NonEmptyVector {}; class CharacterClassSubNode47 final : public Optional {}; class ClassContentsSubNode48 final : public Optional {}; class ClassContentsSubNode49 final : public Optional {}; class NonemptyClassRangesSubNode50 final : public TupleDomain {}; class NonemptyClassRangesSubNode51 final : public TupleDomain {}; class NonemptyClassRangesNoDashSubNode52 final : public TupleDomain {}; class NonemptyClassRangesNoDashSubNode53 final : public TupleDomain {}; class ClassAtomNoDashSubNode54 final : public TupleDomain {}; class ClassUnionSubNode55 final : public Optional {}; class ClassUnionSubNode56 final : public TupleDomain {}; class ClassUnionSubNode57 final : public Optional {}; class ClassUnionSubNode58 final : public TupleDomain {}; class ClassIntersectionSubNode59 final : public NonEmptyVector {}; class ClassIntersectionSubNode60 final : public TupleDomain {}; class ClassSubtractionSubNode61 final : public NonEmptyVector {}; class ClassSubtractionSubNode62 final : public TupleDomain {}; class NestedClassSubNode63 final : public Optional {}; class NestedClassSubNode64 final : public TupleDomain {}; class NestedClassSubNode65 final : public TupleDomain {}; class ClassStringDisjunctionContentsSubNode66 final : public NonEmptyVector {}; class NonEmptyClassStringSubNode67 final : public Optional { }; class ClassSetCharacterSubNode68 final : public TupleDomain {}; class ClassSetCharacterSubNode69 final : public TupleDomain {}; class ClassSetCharacterSubNode70 final : public TupleDomain {}; class Literal15 final : public StringLiteralDomain { }; class Literal16 final : public StringLiteralDomain { }; class Literal0 final : public StringLiteralDomain {}; class Literal17 final : public StringLiteralDomain { }; class Literal18 final : public StringLiteralDomain { }; class Literal14 final : public StringLiteralDomain { }; class Literal43 final : public StringLiteralDomain { }; class Literal38 final : public StringLiteralDomain { }; class Literal44 final : public StringLiteralDomain { }; class Literal40 final : public StringLiteralDomain { }; class Literal39 final : public StringLiteralDomain { }; class Literal36 final : public StringLiteralDomain { }; class Literal37 final : public StringLiteralDomain { }; class Literal19 final : public StringLiteralDomain { }; class Literal20 final : public StringLiteralDomain { }; class Literal41 final : public StringLiteralDomain { }; class Literal21 final : public StringLiteralDomain { }; class Literal8 final : public StringLiteralDomain {}; class Literal50 final : public StringLiteralDomain { }; class Literal2 final : public StringLiteralDomain {}; class Literal22 final : public StringLiteralDomain { }; class Literal7 final : public StringLiteralDomain {}; class Literal3 final : public StringLiteralDomain {}; class Literal23 final : public StringLiteralDomain { }; class Literal24 final : public StringLiteralDomain { }; class Literal5 final : public StringLiteralDomain {}; class Literal25 final : public StringLiteralDomain { }; class Literal48 final : public StringLiteralDomain { }; class Literal26 final : public StringLiteralDomain { }; class Literal6 final : public StringLiteralDomain {}; class Literal27 final : public StringLiteralDomain { }; class Literal4 final : public StringLiteralDomain {}; class Literal28 final : public StringLiteralDomain { }; class Literal29 final : public StringLiteralDomain { }; class Literal35 final : public StringLiteralDomain { }; class Literal9 final : public StringLiteralDomain {}; class Literal47 final : public StringLiteralDomain { }; class Literal10 final : public StringLiteralDomain { }; class Literal49 final : public StringLiteralDomain { }; class Literal30 final : public StringLiteralDomain { }; class Literal1 final : public StringLiteralDomain {}; class Literal31 final : public StringLiteralDomain { }; class Literal11 final : public StringLiteralDomain { }; class Literal46 final : public StringLiteralDomain { }; class Literal45 final : public StringLiteralDomain { }; class Literal12 final : public StringLiteralDomain { }; class Literal33 final : public StringLiteralDomain { }; class Literal34 final : public StringLiteralDomain { }; class Literal42 final : public StringLiteralDomain { }; class Literal13 final : public StringLiteralDomain { }; class Literal32 final : public StringLiteralDomain { }; class CharSet0 final : public RegexLiteralDomain {}; class CharSet17 final : public RegexLiteralDomain {}; class CharSet16 final : public RegexLiteralDomain {}; class CharSet9 final : public RegexLiteralDomain {}; class CharSet5 final : public RegexLiteralDomain {}; class CharSet7 final : public RegexLiteralDomain {}; class CharSet6 final : public RegexLiteralDomain {}; class CharSet15 final : public RegexLiteralDomain {}; class CharSet2 final : public RegexLiteralDomain {}; class CharSet1 final : public RegexLiteralDomain {}; class CharSet3 final : public RegexLiteralDomain {}; class CharSet12 final : public RegexLiteralDomain {}; class CharSet13 final : public RegexLiteralDomain {}; class CharSet10 final : public RegexLiteralDomain {}; class CharSet8 final : public RegexLiteralDomain {}; class CharSet4 final : public RegexLiteralDomain {}; class CharSet14 final : public RegexLiteralDomain {}; class CharSet11 final : public RegexLiteralDomain {}; class CharSet18 final : public RegexLiteralDomain {}; } // namespace fuzztest::internal::grammar::pattern namespace fuzztest::internal_no_adl { inline auto InPatternGrammar() { return internal::grammar::InGrammarImpl< internal::grammar::pattern::PatternNode>(); } } // namespace fuzztest::internal_no_adl #endif // FUZZTEST_GRAMMARS_PATTERN_GRAMMAR_H_