1 /++ 2 This module was automatically generated from the following grammar: 3 4 5 ES6: 6 Module < ModuleBody eoi 7 ModuleBody < ModuleItemList 8 ModuleItemList < (ImportDeclaration / ExportDeclaration / StatementListItem)+ 9 ImportDeclaration < "import" ((ImportClause FromClause) / ModuleSpecifier) ";" 10 ImportClause < NameSpaceImport / NamedImports / (ImportedDefaultBinding "," NameSpaceImport) / (ImportedDefaultBinding "," NamedImports) / ImportedDefaultBinding 11 ImportedDefaultBinding < ImportedBinding 12 NameSpaceImport < "*" "as" ImportedBinding 13 NamedImports < CurlyBrackets((ImportsList (",")?)?) 14 FromClause < "from" ModuleSpecifier 15 ImportsList < ImportSpecifier ("," ImportSpecifier)* 16 ImportSpecifier < (IdentifierName "as" ImportedBinding) / ImportedBinding 17 ModuleSpecifier < StringLiteral 18 ImportedBinding < BindingIdentifier 19 ExportDeclaration < / ("export" "*" FromClause ";") 20 / ("export" ExportClause FromClause ";") 21 / ("export" ExportClause ";") 22 / ("export" "default" HoistableDeclarationDefault) 23 / ("export" "default" ClassDeclarationDefault) 24 / ("export" "default" !("function" / "class") AssignmentExpressionIn ";") 25 / ("export" VariableStatement) 26 / ("export" Declaration) 27 28 ExportClause < CurlyBrackets((ExportsList (",")?)?) 29 ExportsList < ExportSpecifier ("," ExportSpecifier)* 30 ExportSpecifier < IdentifierName ("as" IdentifierName)? 31 SourceCharacter <- [\u0000-\uFFFC] 32 InputElementDiv <- WhiteSpace / LineTerminator / Comment / CommonToken / DivPunctuator / RightBracePunctuator 33 InputElementRegExp <- WhiteSpace / LineTerminator / Comment / CommonToken / RightBracePunctuator / RegularExpressionLiteral 34 InputElementRegExpOrTemplateTail <- WhiteSpace / LineTerminator / Comment / CommonToken / RegularExpressionLiteral / TemplateSubstitutionTail 35 InputElementTemplateTail <- WhiteSpace / LineTerminator / Comment / CommonToken / DivPunctuator / TemplateSubstitutionTail 36 37 WhiteSpace <- "\u0009" / "\u000B" / "\u000C" / "\u0020" / "\u00A0" / "\uFEFF" / [\u02B0-\u02FF] 38 LineTerminator <- "\u000A" / "\u000D" / "\u2028" / "\u2029" 39 LineTerminatorSequence <- "\u000A" / ("\u000D" !"\u000A") / "\u2028" / "\u2029" / ("\u000D\u000A") 40 Spacing <~ (:WhiteSpace / :LineTerminatorSequence / Comment)* 41 Spaces <~ (:WhiteSpace / Comment)* 42 43 Comment <~ MultiLineComment / SingleLineComment 44 MultiLineComment <~ :"/*" (!"*/" SourceCharacter)* :"*/" 45 SingleLineComment <- :"//" SingleLineCommentChars? eol 46 SingleLineCommentChars <- SingleLineCommentChar+ 47 SingleLineCommentChar <- !LineTerminator SourceCharacter 48 49 CommonToken <- IdentifierName / Punctuator / NumericLiteral / StringLiteral / Template 50 IdentifierName <~ IdentifierStart IdentifierPart* 51 IdentifierStart <~ UnicodeIDStart / "$" / "_" / ("\\" UnicodeEscapeSequence) 52 IdentifierPart <~ UnicodeIDContinue / "$" / "_" / ("\\" UnicodeEscapeSequence) / "\u200C" / "\u200D" 53 UnicodeIDStart <~ ID_Start / Other_ID_Start 54 55 ID_Start <- [\u0041-\u005a] / [\u0061-\u007a] / "\u00aa" / "\u00b5" / "\u00ba" / [\u00c0-\u00d6] / [\u00d8-\u00f6] 56 Other_ID_Start <- "\u2118" / "\u212e" / [\u309b-\u309c] 57 UnicodeIDContinue <- ID_Continue / Other_ID_Continue / Other_ID_Start 58 ID_Continue <- [\u0030-\u0039] / [\u0041-\u005a] / "\u005f" / [\u0061-\u007a] / "\u00aa" / "\u00b5" / "\u00b7" / "\u00ba" / [\u00c0-\u00d6] / [\u00d8-\u00f6] 59 Other_ID_Continue <- "\u00b7" / "\u0387" / [\u1369-\u1371] / "\u19da" 60 61 ReservedWord <- Keyword / FutureReservedWord / NullLiteral / BooleanLiteral 62 Keyword <- "break" / "do" / "in" / "typeof" / "case" / "else" / "instanceof" / "var" / "catch" / "export" / "new" / "void" / "class" / "extends" / "return" / "while" / "const" / "finally" / "super" / "with" / "continue" / "for" / "switch" / "yield" / "debugger" / "function" / "this" / "default" / "if" / "throw" / "delete" / "import" / "try" 63 FutureReservedWord <- "enum" / "await" 64 Punctuator <- "{" / "}" / "(" / ")" / "[" / "]" / "." / ";" / "," / "<=" / ">=" / "<" / ">" / "===" / "!==" / "==" / "!=" / "++" / "--" / "*=" / "*" / "%=" / "%" / "+=" / "+" / "-=" / "-" / "<<=" / "<<" / ">>>=" / ">>>" / ">>=" / ">>" / "&&" / "||" / "^=" / "^" / "!" / "~" / "&=" / "&" / "|=" / "|" / "?" / ":" / "=>" / "=" 65 DivPunctuator <- "/=" / "/" 66 RightBracePunctuator <- "}" 67 NullLiteral <- "null" 68 BooleanLiteral <- "true" / "false" 69 NumericLiteral <- HexIntegerLiteral / DecimalLiteral / BinaryIntegerLiteral / OctalIntegerLiteral 70 DecimalLiteral <~ (DecimalIntegerLiteral ("." DecimalDigits?)? ExponentPart?) / ("." DecimalDigits ExponentPart?) 71 DecimalIntegerLiteral <- "0" / (NonZeroDigit DecimalDigits?) 72 DecimalDigits <~ DecimalDigit+ 73 DecimalDigit <- [0-9] 74 NonZeroDigit <- [1-9] 75 ExponentPart <- ExponentIndicator SignedInteger 76 ExponentIndicator <- "e" / "E" 77 SignedInteger <- ("+" / "-")? DecimalDigits 78 BinaryIntegerLiteral <~ ("0b" / "0B") BinaryDigits 79 BinaryDigits <~ BinaryDigit+ 80 BinaryDigit <- "0" / "1" 81 OctalIntegerLiteral <~ ("0o" / "0O") OctalDigits 82 OctalDigits <- OctalDigit+ 83 OctalDigit <- [0-7] 84 HexIntegerLiteral <~ ("0x" / "0X") HexDigits 85 HexDigits <- HexDigit+ 86 HexDigit <- [0-9a-fA-F] 87 88 StringLiteral <~ ("\"" DoubleStringCharacters? "\"") / ("'" SingleStringCharacters? "'") 89 DoubleStringCharacters <- DoubleStringCharacter+ 90 SingleStringCharacters <- SingleStringCharacter+ 91 DoubleStringCharacter <- (!("\"" / "\\" / LineTerminator) SourceCharacter) / ("\\" EscapeSequence) / LineContinuation 92 SingleStringCharacter <- (!("\'" / "\\" / LineTerminator) SourceCharacter) / ("\\" EscapeSequence) / LineContinuation 93 LineContinuation <- "\\" LineTerminatorSequence 94 EscapeSequence <- (CharacterEscapeSequence / ("0" !DecimalDigit)) / HexEscapeSequence / UnicodeEscapeSequence 95 CharacterEscapeSequence <- SingleEscapeCharacter / NonEscapeCharacter 96 SingleEscapeCharacter <- "'" / "\"" / "\\" / "b" / "f" / "n" / "r" / "t" / "v" 97 NonEscapeCharacter <- !(EscapeCharacter / LineTerminator) SourceCharacter 98 EscapeCharacter <- SingleEscapeCharacter / DecimalDigit / "x" / "u" 99 HexEscapeSequence <- "x" HexDigit HexDigit 100 UnicodeEscapeSequence <- ("u" Hex4Digits) / "u{" HexDigits "}" 101 Hex4Digits <- HexDigit HexDigit HexDigit HexDigit 102 103 RegularExpressionLiteral <- "/" RegularExpressionBody "/" RegularExpressionFlags 104 RegularExpressionBody <- RegularExpressionFirstChar RegularExpressionChars 105 RegularExpressionChars <- RegularExpressionChar* 106 107 RegularExpressionFirstChar <- (!("*" / "\\" / "/" / "[") RegularExpressionNonTerminator) / RegularExpressionBackslashSequence / RegularExpressionClass 108 RegularExpressionChar <- (!("\\" / "/" / "[") RegularExpressionNonTerminator) / RegularExpressionBackslashSequence / RegularExpressionClass 109 RegularExpressionBackslashSequence <- "\\" RegularExpressionNonTerminator 110 RegularExpressionNonTerminator <- !LineTerminator SourceCharacter 111 RegularExpressionClass <- :"[" RegularExpressionClassChars :"]" 112 RegularExpressionClassChars <- RegularExpressionClassChar* 113 RegularExpressionClassChar <- (!("]" / "\\") RegularExpressionNonTerminator) / RegularExpressionBackslashSequence 114 RegularExpressionFlags <- IdentifierPart* 115 116 Template <- NoSubstitutionTemplate / TemplateHead 117 NoSubstitutionTemplate <- :"\u0060" TemplateCharacters? :"\u0060" 118 TemplateHead <- :"\u0060" TemplateCharacters? :"${" 119 TemplateSubstitutionTail <- TemplateMiddle / TemplateTail 120 TemplateMiddle <- :"}" TemplateCharacters? :"${" 121 TemplateTail <- :"}" TemplateCharacters? :"\u0060" 122 TemplateCharacters <- TemplateCharacter+ 123 TemplateCharacter <- ("$" !"{") / ("\\" EscapeSequence) / LineContinuation / LineTerminatorSequence / (!("\u0060" / "\\" / "$" / LineTerminator) SourceCharacter) 124 125 IdentifierReference < Identifier / "yield" 126 IdentifierReferenceYield < Identifier 127 BindingIdentifier < Identifier / "yield" 128 BindingIdentifierYield < Identifier 129 LabelIdentifier < Identifier / "yield" 130 LabelIdentifierYield < Identifier 131 Identifier <- !(ReservedWord (WhiteSpace / LineTerminatorSequence / Comment / ";" / ":")) IdentifierName 132 ThisKeyword <- ("this" !IdentifierPart) 133 134 PrimaryExpression < ThisKeyword / Literal / ArrayLiteral / ObjectLiteral / GeneratorExpression / ClassExpression / FunctionExpression / RegularExpressionLiteral / TemplateLiteral / CoverParenthesizedExpressionAndArrowParameterList / IdentifierReference 135 PrimaryExpressionYield < ThisKeyword / Literal / ArrayLiteralYield / ObjectLiteralYield / GeneratorExpression / ClassExpressionYield / FunctionExpression / RegularExpressionLiteral / TemplateLiteralYield / CoverParenthesizedExpressionAndArrowParameterListYield / IdentifierReferenceYield 136 CoverParenthesizedExpressionAndArrowParameterList < Parentheses(ExpressionIn "," "..." BindingIdentifier) / Parentheses("..." BindingIdentifier) / Parentheses(ExpressionIn?) 137 CoverParenthesizedExpressionAndArrowParameterListYield < Parentheses(ExpressionInYield "," "..." BindingIdentifierYield) / Parentheses("..." BindingIdentifierYield) / Parentheses(ExpressionInYield?) 138 139 ParenthesizedExpression < Parentheses(ExpressionIn) 140 ParenthesizedExpressionYield < Parentheses(ExpressionInYield) 141 Literal <- ((NullLiteral / BooleanLiteral / NumericLiteral) !(IdentifierStart / IdentifierPart)) / StringLiteral 142 ArrayLiteral < SquareBrackets(ElementList? Elision?) 143 ArrayLiteralYield < SquareBrackets(ElementListYield? Elision?) 144 ElementList < Elision? (AssignmentExpressionIn / SpreadElement) (:"," Elision? (AssignmentExpressionIn / SpreadElement))* 145 ElementListYield < Elision? (AssignmentExpressionInYield / SpreadElementYield) (:"," Elision? (AssignmentExpressionInYield / SpreadElementYield))* 146 Elision < ","+ 147 SpreadElement < :"..." AssignmentExpressionIn 148 SpreadElementYield < :"..." AssignmentExpressionInYield 149 ObjectLiteral < CurlyBrackets((PropertyDefinitionList :","?)?) 150 ObjectLiteralYield < CurlyBrackets((PropertyDefinitionListYield :","?)?) 151 PropertyDefinitionList < PropertyDefinition ("," PropertyDefinition)* 152 PropertyDefinitionListYield < PropertyDefinitionYield ("," PropertyDefinitionYield)* 153 PropertyDefinition < MethodDefinition / CoverInitializedName / (PropertyName ":" AssignmentExpressionIn) / IdentifierReference 154 PropertyDefinitionYield < MethodDefinitionYield / CoverInitializedNameYield / (PropertyNameYield ":" AssignmentExpressionInYield) / IdentifierReferenceYield 155 PropertyName < ComputedPropertyName / LiteralPropertyName 156 PropertyNameYield < ComputedPropertyNameYield / LiteralPropertyName 157 LiteralPropertyName < NumericLiteral / StringLiteral / IdentifierName 158 ComputedPropertyName < SquareBrackets(AssignmentExpressionIn) 159 ComputedPropertyNameYield < SquareBrackets(AssignmentExpressionInYield) 160 CoverInitializedName < IdentifierReference InitializerIn 161 CoverInitializedNameYield < IdentifierReferenceYield InitializerInYield 162 Initializer < :"=" AssignmentExpression 163 InitializerIn < :"=" AssignmentExpressionIn 164 InitializerYield < :"=" AssignmentExpressionYield 165 InitializerInYield < :"=" AssignmentExpressionInYield 166 TemplateLiteral < NoSubstitutionTemplate / (TemplateHead ExpressionIn TemplateSpans) 167 TemplateLiteralYield < NoSubstitutionTemplate / (TemplateHead ExpressionInYield TemplateSpansYield) 168 TemplateSpans < TemplateMiddleList? TemplateTail 169 TemplateSpansYield < TemplateMiddleListYield? TemplateTail 170 TemplateMiddleList < TemplateMiddleList? TemplateMiddle ExpressionIn 171 TemplateMiddleListYield < TemplateMiddleListYield? TemplateMiddle ExpressionInYield 172 FieldAccessor < "." IdentifierName 173 MemberExpression < ((SuperProperty / MetaProperty / PrimaryExpression) / (NewKeyword ((SuperProperty / MetaProperty / PrimaryExpression) (SquareBrackets(ExpressionIn) / (FieldAccessor) / TemplateLiteral)*) Arguments)) (SquareBrackets(ExpressionIn) / (FieldAccessor) / TemplateLiteral)* 174 MemberExpressionYield < ((SuperPropertyYield / MetaProperty / PrimaryExpressionYield) / (NewKeyword ((SuperPropertyYield / MetaProperty / PrimaryExpressionYield) (SquareBrackets(ExpressionInYield) / (FieldAccessor) / TemplateLiteralYield)*) ArgumentsYield)) (SquareBrackets(ExpressionInYield) / (FieldAccessor) / TemplateLiteralYield)* 175 SuperProperty < (:"super" SquareBrackets(ExpressionIn)) / (:"super" FieldAccessor) 176 SuperPropertyYield < (:"super" SquareBrackets(ExpressionInYield)) / (:"super" FieldAccessor) 177 MetaProperty < NewTarget 178 NewKeyword <- "new" !(IdentifierStart / IdentifierPart) 179 NewTarget < :"new" "." :"target" 180 NewExpression < MemberExpression / ((NewKeyword WhiteSpace?)* MemberExpression) 181 NewExpressionYield < MemberExpressionYield / ((NewKeyword WhiteSpace?)* MemberExpressionYield) 182 CallExpression < (SuperCall / (MemberExpression Arguments)) (SquareBrackets(ExpressionIn) / (FieldAccessor) / TemplateLiteral / Arguments)* 183 CallExpressionYield < (SuperCallYield / (MemberExpressionYield ArgumentsYield)) (SquareBrackets(ExpressionInYield) / (FieldAccessor) / TemplateLiteralYield / ArgumentsYield)* 184 SuperCall < :"super" Arguments 185 SuperCallYield < :"super" ArgumentsYield 186 Arguments < Parentheses(ArgumentList?) 187 ArgumentsYield < Parentheses(ArgumentListYield?) 188 ArgumentList < "..."? AssignmentExpressionIn ("," ArgumentList)* 189 ArgumentListYield < "..."? AssignmentExpressionInYield ("," ArgumentListYield)* 190 LeftHandSideExpression < CallExpression / NewExpression 191 LeftHandSideExpressionYield < CallExpressionYield / NewExpressionYield 192 PostfixExpression < LeftHandSideExpression (Spaces (PostfixOperator))? 193 PostfixExpressionYield < LeftHandSideExpressionYield (Spaces (PostfixOperator))? 194 PostfixOperator < "++" / "--" 195 PrefixExpression <- ((("delete" / "void" / "typeof") !(IdentifierStart / IdentifierPart)) / "++" / "--" / "+" / "-" / "~" / "!") 196 UnaryExpression < PrefixExpression* PostfixExpression 197 UnaryExpressionYield < PrefixExpression* PostfixExpressionYield 198 RightHandSideExpression < BinaryExpression / UnaryExpression 199 RightHandSideExpressionIn < BinaryExpressionIn / UnaryExpression 200 RightHandSideExpressionYield < BinaryExpressionYield / UnaryExpressionYield 201 RightHandSideExpressionInYield < BinaryExpressionInYield / UnaryExpressionYield 202 BinaryExpression < UnaryExpression (ExpressionOperator UnaryExpression)+ 203 BinaryExpressionIn < UnaryExpression (ExpressionOperatorIn UnaryExpression)+ 204 BinaryExpressionYield < UnaryExpressionYield (ExpressionOperator UnaryExpressionYield)+ 205 BinaryExpressionInYield < UnaryExpressionYield (ExpressionOperatorIn UnaryExpressionYield)+ 206 ExpressionOperator < LogicalOperator / BitwiseOperator / EqualityOperator / ShiftOperator / RelationalOperator / AdditiveOperator / MultiplicativeOperator 207 ExpressionOperatorIn < LogicalOperator / BitwiseOperator / EqualityOperator / ShiftOperator / RelationalOperatorIn / AdditiveOperator / MultiplicativeOperator 208 LogicalOperator < "||" / "&&" 209 BitwiseOperator < "|" / "^" / "&" 210 EqualityOperator < "===" / "!==" / "==" / "!=" 211 RelationalOperator < "<=" / ">=" / "<" / ">" / "instanceof" 212 RelationalOperatorIn < "<=" / ">=" / "<" / ">" / "instanceof" / "in" 213 ShiftOperator < "<<" / ">>>" / ">>" 214 AdditiveOperator <- "+" / "-" 215 MultiplicativeOperator < "*" / "/" / "%" 216 ConditionalExpression < RightHandSideExpression ("?" AssignmentExpressionIn ":" AssignmentExpression)? 217 ConditionalExpressionIn < RightHandSideExpressionIn ("?" AssignmentExpressionIn ":" AssignmentExpressionIn)? 218 ConditionalExpressionYield < RightHandSideExpressionYield ("?" AssignmentExpressionInYield ":" AssignmentExpressionYield)? 219 ConditionalExpressionInYield < RightHandSideExpressionInYield ("?" AssignmentExpressionInYield ":" AssignmentExpressionInYield)? 220 AssignmentExpression < ((JSXElement / ArrowFunction / ConditionalExpression) !AssignmentOperator) / ((LeftHandSideExpression AssignmentOperator)* (JSXElement / ArrowFunction / ConditionalExpression)) 221 AssignmentExpressionIn < ((JSXElement / ArrowFunctionIn / ConditionalExpressionIn) !AssignmentOperator) / ((LeftHandSideExpression AssignmentOperator)* (JSXElement / ArrowFunctionIn / ConditionalExpressionIn)) 222 AssignmentExpressionYield < (YieldExpression / ArrowFunctionYield / ConditionalExpressionYield) / ((LeftHandSideExpressionYield AssignmentOperator)* (YieldExpression / ArrowFunctionYield / ConditionalExpressionYield)) 223 AssignmentExpressionInYield < (YieldExpressionIn / ArrowFunctionInYield / ConditionalExpressionInYield) / ((LeftHandSideExpressionYield AssignmentOperator)* (YieldExpressionIn / ArrowFunctionInYield / ConditionalExpressionInYield)) 224 AssignmentOperator < (!"==" "=") / "*=" / "/=" / "%=" / "+=" / "-=" / "<<=" / ">>=" / ">>>=" / "&=" / "^=" / "|=" 225 Comma < "," 226 Expression < AssignmentExpression (Comma AssignmentExpression)* 227 ExpressionIn < AssignmentExpressionIn (Comma AssignmentExpressionIn)* 228 ExpressionYield < AssignmentExpressionYield (Comma AssignmentExpressionYield)* 229 ExpressionInYield < AssignmentExpressionInYield (Comma AssignmentExpressionInYield)* 230 231 Statement < (BlockStatement / VariableStatement / EmptyStatement / IfStatement / BreakableStatement / ContinueStatement / BreakStatement / WithStatement / LabelledStatement / ThrowStatement / TryStatement / DebuggerStatement / ExpressionStatement) :";"? 232 StatementYield < (BlockStatementYield / VariableStatementYield / EmptyStatement / IfStatementYield / BreakableStatementYield / ContinueStatementYield / BreakStatementYield / WithStatementYield / LabelledStatementYield / ThrowStatementYield / TryStatementYield / DebuggerStatement / ExpressionStatementYield) :";"? 233 StatementReturn < (BlockStatementReturn / VariableStatement / EmptyStatement / IfStatementReturn / BreakableStatementReturn / ContinueStatement / BreakStatement / ReturnStatement / WithStatementReturn / LabelledStatementReturn / ThrowStatement / TryStatementReturn / DebuggerStatement / ExpressionStatement) :";"? 234 StatementYieldReturn < (BlockStatementYieldReturn / VariableStatementYield / EmptyStatement / IfStatementYieldReturn / BreakableStatementYieldReturn / ContinueStatementYield / BreakStatementYield / ReturnStatementYield / WithStatementYieldReturn / LabelledStatementYieldReturn / ThrowStatementYield / TryStatementYieldReturn / DebuggerStatement / ExpressionStatementYield) :";"? 235 236 Declaration < HoistableDeclaration / ClassDeclaration / LexicalDeclarationIn 237 DeclarationYield < HoistableDeclarationYield / ClassDeclarationYield / LexicalDeclarationInYield 238 HoistableDeclaration < GeneratorDeclaration / FunctionDeclaration 239 HoistableDeclarationYield < GeneratorDeclarationYield / FunctionDeclarationYield 240 HoistableDeclarationDefault < GeneratorDeclarationDefault / FunctionDeclarationDefault 241 HoistableDeclarationYieldDefault < GeneratorDeclarationYieldDefault / FunctionDeclarationYieldDefault 242 243 BreakableStatement < IterationStatement / SwitchStatement 244 BreakableStatementYield < IterationStatementYield / SwitchStatementYield 245 BreakableStatementReturn < IterationStatementReturn / SwitchStatementReturn 246 BreakableStatementYieldReturn < IterationStatementYieldReturn / SwitchStatementYieldReturn 247 248 BlockStatement < %Block 249 BlockStatementYield < %BlockYield 250 BlockStatementReturn < %BlockReturn 251 BlockStatementYieldReturn < %BlockYieldReturn 252 253 Block < CurlyBrackets(StatementList) 254 BlockYield < CurlyBrackets(StatementListYield) 255 BlockReturn < CurlyBrackets(StatementListReturn) 256 BlockYieldReturn < CurlyBrackets(StatementListYieldReturn) 257 258 StatementList < StatementListItem* 259 StatementListYield < StatementListItemYield* 260 StatementListReturn < StatementListItemReturn* 261 StatementListYieldReturn < StatementListItemYieldReturn* 262 263 StatementListItem < Declaration / Statement 264 StatementListItemYield < DeclarationYield / StatementYield 265 StatementListItemReturn < Declaration / StatementReturn 266 StatementListItemYieldReturn < DeclarationYield / StatementYieldReturn 267 268 LexicalDeclaration < LetOrConst BindingList :";" 269 LexicalDeclarationIn < LetOrConst BindingListIn :";" 270 LexicalDeclarationYield < LetOrConst BindingListYield :";" 271 LexicalDeclarationInYield < LetOrConst BindingListInYield :";" 272 LetOrConst < ("let" / "const") 273 274 BindingList < LexicalBinding (:"," LexicalBinding)* 275 BindingListIn < LexicalBindingIn (:"," LexicalBindingIn)* 276 BindingListYield < LexicalBindingYield (:"," LexicalBindingYield)* 277 BindingListInYield < LexicalBindingInYield (:"," LexicalBindingInYield)* 278 279 LexicalBinding < (BindingPatternYield Initializer) / (BindingIdentifier Initializer?) 280 LexicalBindingIn < (BindingPatternYield InitializerIn) / (BindingIdentifier InitializerIn?) 281 LexicalBindingYield < (BindingPatternYield InitializerYield) / (BindingIdentifierYield InitializerYield?) 282 LexicalBindingInYield < (BindingPatternYield InitializerInYield) / (BindingIdentifierYield InitializerInYield?) 283 284 VariableStatement < :"var" VariableDeclarationListIn 285 VariableStatementYield < :"var" VariableDeclarationListInYield 286 287 VariableDeclarationList < VariableDeclaration (:"," VariableDeclaration)* 288 VariableDeclarationListIn < VariableDeclarationIn (:"," VariableDeclarationIn)* 289 VariableDeclarationListYield < VariableDeclarationYield (:"," VariableDeclarationYield)* 290 VariableDeclarationListInYield < VariableDeclarationInYield (:"," VariableDeclarationInYield)* 291 292 VariableDeclaration < (BindingPattern Initializer) / (BindingIdentifier Initializer?) 293 VariableDeclarationIn < (BindingPattern InitializerIn) / (BindingIdentifier InitializerIn?) 294 VariableDeclarationYield < (BindingPatternYield InitializerYield) / (BindingIdentifierYield InitializerYield?) 295 VariableDeclarationInYield < (BindingPatternYield InitializerInYield) / (BindingIdentifierYield InitializerInYield?) 296 297 BindingPattern < ObjectBindingPattern / ArrayBindingPattern 298 BindingPatternYield < ObjectBindingPatternYield / ArrayBindingPatternYield 299 ObjectBindingPattern < CurlyBrackets((BindingPropertyList (:",")?)?) 300 ObjectBindingPatternYield < CurlyBrackets((BindingPropertyListYield (:",")?)?) 301 302 ArrayBindingPattern < SquareBrackets(Elision? BindingRestElement?) / SquareBrackets(BindingElementList (:"," Elision? BindingRestElement?)?) / SquareBrackets(BindingElementList) 303 ArrayBindingPatternYield < SquareBrackets(Elision? BindingRestElementYield?) / SquareBrackets(BindingElementListYield (:"," Elision? BindingRestElementYield?)?) / SquareBrackets(BindingElementListYield) 304 BindingPropertyList < BindingProperty (:"," BindingProperty)* 305 BindingPropertyListYield < BindingPropertyYield (:"," BindingPropertyYield)* 306 BindingElementList < BindingElisionElement (:"," BindingElisionElement)* 307 BindingElementListYield < BindingElisionElementYield (:"," BindingElisionElementYield)* 308 BindingElisionElement < Elision? BindingElement 309 BindingElisionElementYield < Elision? BindingElementYield 310 BindingProperty < (PropertyName ":" BindingElement) / SingleNameBinding 311 BindingPropertyYield < (PropertyNameYield ":" BindingElementYield) / SingleNameBindingYield 312 BindingElement < (BindingPattern InitializerIn?) / SingleNameBinding 313 BindingElementYield < (BindingPatternYield InitializerInYield?) / SingleNameBindingYield 314 SingleNameBinding < BindingIdentifier InitializerIn? 315 SingleNameBindingYield < BindingIdentifierYield InitializerInYield? 316 BindingRestElement < :"..." BindingIdentifier 317 BindingRestElementYield < :"..." BindingIdentifierYield 318 319 EmptyStatement < ";" 320 321 ExpressionStatement < !("{" / (("function" / "class" / ("let" "[")) !(IdentifierStart / IdentifierPart))) ExpressionIn 322 ExpressionStatementYield < !("{" / (("function" / "class" / ("let" "[")) !(IdentifierStart / IdentifierPart))) ExpressionInYield 323 ElseKeyword < "else" 324 IfStatement < :"if" Parentheses(ExpressionIn) Statement (ElseKeyword Statement)? 325 IfStatementYield < :"if" Parentheses(ExpressionInYield) StatementYield (ElseKeyword StatementYield)? 326 IfStatementReturn < :"if" Parentheses(ExpressionIn) StatementReturn (ElseKeyword StatementReturn)? 327 IfStatementYieldReturn < :"if" Parentheses(ExpressionInYield) StatementYieldReturn (ElseKeyword StatementYieldReturn)? 328 329 DoKeyword <- "do" !(IdentifierStart / IdentifierPart) 330 WhileKeyword < "while" 331 ForKeyword < "for" 332 VarKeyword < "var" 333 InKeyword < "in" 334 OfKeyword < "of" 335 Semicolon < ";" 336 IterationStatement < 337 / (DoKeyword Statement WhileKeyword Parentheses(ExpressionIn) Semicolon) 338 / (WhileKeyword Parentheses(ExpressionIn) Statement) 339 / (ForKeyword Parentheses(VarKeyword VariableDeclarationList Semicolon ExpressionIn? Semicolon ExpressionIn?) Statement) 340 / (ForKeyword Parentheses(VarKeyword ForBinding ((InKeyword ExpressionIn) / (OfKeyword AssignmentExpressionIn))) Statement) 341 / (ForKeyword Parentheses(ForDeclaration InKeyword ExpressionIn) Statement) 342 / (ForKeyword Parentheses(ForDeclaration OfKeyword AssignmentExpressionIn) Statement) 343 / (ForKeyword Parentheses(LexicalDeclaration ExpressionIn? Semicolon ExpressionIn?) Statement) 344 / (ForKeyword Parentheses(!("let" "[") Expression? Semicolon ExpressionIn? Semicolon ExpressionIn?) Statement) 345 / (ForKeyword Parentheses(!("let" "[") LeftHandSideExpression InKeyword ExpressionIn) Statement) 346 / (ForKeyword Parentheses(!("let") LeftHandSideExpression OfKeyword AssignmentExpressionIn) Statement) 347 IterationStatementYield < 348 / (DoKeyword StatementYield WhileKeyword Parentheses(ExpressionInYield) Semicolon) 349 / (WhileKeyword Parentheses(ExpressionInYield) StatementYield) 350 / (ForKeyword Parentheses(VarKeyword VariableDeclarationListYield Semicolon ExpressionInYield? Semicolon ExpressionInYield?) StatementYield) 351 / (ForKeyword Parentheses(VarKeyword ForBindingYield ((InKeyword ExpressionInYield) / (OfKeyword AssignmentExpressionInYield))) StatementYield) 352 / (ForKeyword Parentheses(ForDeclarationYield InKeyword ExpressionInYield) StatementYield) 353 / (ForKeyword Parentheses(ForDeclarationYield OfKeyword AssignmentExpressionInYield) StatementYield) 354 / (ForKeyword Parentheses(LexicalDeclarationYield ExpressionInYield? Semicolon ExpressionInYield?) StatementYield) 355 / (ForKeyword Parentheses(!("let" "[") ExpressionYield? Semicolon ExpressionInYield? Semicolon ExpressionInYield?) StatementYield) 356 / (ForKeyword Parentheses(!("let" "[") LeftHandSideExpressionYield InKeyword ExpressionInYield) StatementYield) 357 / (ForKeyword Parentheses(!("let") LeftHandSideExpressionYield OfKeyword AssignmentExpressionInYield) StatementYield) 358 IterationStatementReturn < 359 / (DoKeyword StatementReturn WhileKeyword Parentheses(ExpressionIn) Semicolon) 360 / (WhileKeyword Parentheses(ExpressionIn) StatementReturn) 361 / (ForKeyword Parentheses(VarKeyword VariableDeclarationList Semicolon ExpressionIn? Semicolon ExpressionIn?) StatementReturn) 362 / (ForKeyword Parentheses(VarKeyword ForBinding ((InKeyword ExpressionIn) / (OfKeyword AssignmentExpressionIn))) StatementReturn) 363 / (ForKeyword Parentheses(ForDeclaration InKeyword ExpressionIn) StatementReturn) 364 / (ForKeyword Parentheses(ForDeclaration OfKeyword AssignmentExpressionIn) StatementReturn) 365 / (ForKeyword Parentheses(LexicalDeclaration ExpressionIn? Semicolon ExpressionIn?) StatementReturn) 366 / (ForKeyword Parentheses(!("let" "[") Expression? Semicolon ExpressionIn? Semicolon ExpressionIn?) StatementReturn) 367 / (ForKeyword Parentheses(!("let" "[") LeftHandSideExpression InKeyword ExpressionIn) StatementReturn) 368 / (ForKeyword Parentheses(!("let") LeftHandSideExpression OfKeyword AssignmentExpressionIn) StatementReturn) 369 IterationStatementYieldReturn < 370 / (DoKeyword StatementYieldReturn WhileKeyword Parentheses(ExpressionInYield) Semicolon) 371 / (WhileKeyword Parentheses(ExpressionInYield) StatementYieldReturn) 372 / (ForKeyword Parentheses(VarKeyword VariableDeclarationListYield Semicolon ExpressionInYield? Semicolon ExpressionInYield?) StatementYieldReturn) 373 / (ForKeyword Parentheses(VarKeyword ForBindingYield ((InKeyword ExpressionInYield) / (OfKeyword AssignmentExpressionInYield))) StatementYieldReturn) 374 / (ForKeyword Parentheses(ForDeclarationYield InKeyword ExpressionInYield) StatementYieldReturn) 375 / (ForKeyword Parentheses(ForDeclarationYield OfKeyword AssignmentExpressionInYield) StatementYieldReturn) 376 / (ForKeyword Parentheses(LexicalDeclarationYield ExpressionInYield? Semicolon ExpressionInYield?) StatementYieldReturn) 377 / (ForKeyword Parentheses(!("let" "[") ExpressionYield? Semicolon ExpressionInYield? Semicolon ExpressionInYield?) StatementYieldReturn) 378 / (ForKeyword Parentheses(!("let" "[") LeftHandSideExpressionYield InKeyword ExpressionInYield) StatementYieldReturn) 379 / (ForKeyword Parentheses(!("let") LeftHandSideExpressionYield OfKeyword AssignmentExpressionInYield) StatementYieldReturn) 380 381 ForDeclaration < LetOrConst ForBinding 382 ForDeclarationYield < LetOrConst ForBindingYield 383 ForBinding < BindingPattern / BindingIdentifier 384 ForBindingYield < BindingPatternYield / BindingIdentifierYield 385 ContinueStatement <- (("continue" !(IdentifierStart) Spaces LabelIdentifier) / ("continue" !(IdentifierStart / IdentifierPart))) Spaces :";"? 386 ContinueStatementYield <- (("continue" !(IdentifierStart) Spaces LabelIdentifierYield) / ("continue" !(IdentifierStart / IdentifierPart))) Spaces :";"? 387 BreakStatement <- (("break" !(IdentifierStart) Spaces LabelIdentifier) / ("break" !(IdentifierStart / IdentifierPart))) Spaces :";"? 388 BreakStatementYield <- (("break" !(IdentifierStart) Spaces LabelIdentifierYield) / ("break" !(IdentifierStart / IdentifierPart))) Spaces :";"? 389 ReturnStatement <- (("return" !(IdentifierStart) Spaces ExpressionIn) / ("return" !(IdentifierStart / IdentifierPart))) Spaces :";"? 390 ReturnStatementYield <- (("return" !(IdentifierStart) Spaces ExpressionInYield) / ("return" !(IdentifierStart / IdentifierPart))) Spaces :";"? 391 392 WithStatement < :"with" Parentheses(ExpressionIn) Statement 393 WithStatementYield < :"with" Parentheses(ExpressionInYield) StatementYield 394 WithStatementReturn < :"with" Parentheses(ExpressionIn) StatementReturn 395 WithStatementYieldReturn < :"with" Parentheses(ExpressionInYield) StatementYieldReturn 396 397 SwitchStatement < :"switch" Parentheses(ExpressionIn) CaseBlock 398 SwitchStatementYield < :"switch" Parentheses(ExpressionInYield) CaseBlockYield 399 SwitchStatementReturn < :"switch" Parentheses(ExpressionIn) CaseBlockReturn 400 SwitchStatementYieldReturn < :"switch" Parentheses(ExpressionInYield) CaseBlockYieldReturn 401 402 CaseBlock < CurlyBrackets(CaseClauses? DefaultClause? CaseClauses?) 403 CaseBlockYield < CurlyBrackets(CaseClausesYield? DefaultClauseYield? CaseClausesYield?) 404 CaseBlockReturn < CurlyBrackets(CaseClausesReturn? DefaultClauseReturn? CaseClausesReturn?) 405 CaseBlockYieldReturn < CurlyBrackets(CaseClausesYieldReturn? DefaultClauseYieldReturn? CaseClausesYieldReturn?) 406 407 CaseClauses < CaseClause+ 408 CaseClausesYield < CaseClauseYield+ 409 CaseClausesReturn < CaseClauseReturn+ 410 CaseClausesYieldReturn < CaseClauseYieldReturn+ 411 412 CaseClause < :"case" ExpressionIn :":" StatementList? 413 CaseClauseYield < :"case" ExpressionInYield :":" StatementListYield? 414 CaseClauseReturn < :"case" ExpressionIn :":" StatementListReturn? 415 CaseClauseYieldReturn < :"case" ExpressionInYield :":" StatementListYieldReturn? 416 417 DefaultClause < :"default" :":" StatementList? 418 DefaultClauseYield < :"default" :":" StatementListYield? 419 DefaultClauseReturn < :"default" :":" StatementListReturn? 420 DefaultClauseYieldReturn < :"default" :":" StatementListYieldReturn? 421 422 LabelledStatement < LabelIdentifier :":" LabelledItem 423 LabelledStatementYield < LabelIdentifierYield :":" LabelledItemYield 424 LabelledStatementReturn < LabelIdentifier :":" LabelledItemReturn 425 LabelledStatementYieldReturn < LabelIdentifierYield :":" LabelledItemYieldReturn 426 427 LabelledItem < FunctionDeclaration / Statement 428 LabelledItemYield < FunctionDeclarationYield / StatementYield 429 LabelledItemReturn < FunctionDeclaration / StatementReturn 430 LabelledItemYieldReturn < FunctionDeclarationYield / StatementYieldReturn 431 432 ThrowStatement <- "throw" !(IdentifierStart) Spaces ExpressionIn Spaces :";"? 433 ThrowStatementYield <- "throw" !(IdentifierStart) Spaces ExpressionInYield Spaces :";"? 434 435 TryStatement < :"try" %Block Catch? Finally? 436 TryStatementYield < :"try" %BlockYield CatchYield? FinallyYield? 437 TryStatementReturn < :"try" %BlockReturn CatchReturn? FinallyReturn? 438 TryStatementYieldReturn < :"try" %BlockYieldReturn CatchYieldReturn? FinallyYieldReturn? 439 440 Catch < :"catch" Parentheses(CatchParameter) %Block 441 CatchYield < :"catch" Parentheses(CatchParameterYield) %BlockYield 442 CatchReturn < :"catch" Parentheses(CatchParameter) %BlockReturn 443 CatchYieldReturn < :"catch" Parentheses(CatchParameterYield) %BlockYieldReturn 444 445 Finally < :"finally" %Block 446 FinallyYield < :"finally" %BlockYield 447 FinallyReturn < :"finally" %BlockReturn 448 FinallyYieldReturn < :"finally" %BlockYieldReturn 449 450 CatchParameter < BindingPattern / BindingIdentifier 451 CatchParameterYield < BindingPatternYield / BindingIdentifierYield 452 453 DebuggerStatement < :"debugger" :";" 454 CurlyBrackets(Content) < "{" Content "}" 455 Parentheses(Content) < "(" Content ")" 456 SquareBrackets(Content) < "[" Content "]" 457 458 FunctionDeclaration < (:"function" BindingIdentifier Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) 459 FunctionDeclarationYield < (:"function" BindingIdentifierYield Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) 460 FunctionDeclarationDefault < (:"function" BindingIdentifier Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) / (:"function" Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) 461 FunctionDeclarationYieldDefault < (:"function" BindingIdentifierYield Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) / (:"function" Parentheses(FormalParameters) CurlyBrackets(FunctionBody)) 462 463 FunctionExpression < "function" BindingIdentifier? Parentheses(FormalParameters) CurlyBrackets(FunctionBody) 464 465 StrictFormalParameters < FormalParameters 466 StrictFormalParametersYield < FormalParametersYield 467 FormalParameters < FormalParameterList? 468 FormalParametersYield < FormalParameterListYield? 469 FormalParameterList < FunctionRestParameter / (FormalsList (:"," FunctionRestParameter)?) 470 FormalParameterListYield < FunctionRestParameterYield / (FormalsListYield (:"," FunctionRestParameterYield)?) 471 FormalsList < FormalParameter (:"," FormalParameter)* 472 FormalsListYield < FormalParameterYield (:"," FormalParameterYield)* 473 FunctionRestParameter < BindingRestElement 474 FunctionRestParameterYield < BindingRestElementYield 475 FormalParameter < BindingElement 476 FormalParameterYield < BindingElementYield 477 FunctionBody < FunctionStatementList 478 FunctionBodyYield < FunctionStatementListYield 479 FunctionStatementList < StatementListReturn? 480 FunctionStatementListYield < StatementListYieldReturn? 481 ArrowFunction <- ArrowParameters Spaces "=>" Spacing ConciseBody 482 ArrowFunctionIn <- ArrowParameters Spaces "=>" Spacing ConciseBodyIn 483 ArrowFunctionYield <- ArrowParametersYield Spaces "=>" Spacing ConciseBody 484 ArrowFunctionInYield <- ArrowParametersYield Spaces "=>" Spacing ConciseBodyIn 485 ArrowParameters < BindingIdentifier / CoverParenthesizedExpressionAndArrowParameterList 486 ArrowParametersYield < BindingIdentifierYield / CoverParenthesizedExpressionAndArrowParameterListYield 487 ConciseBody < (!("{") AssignmentExpression) / CurlyBrackets(FunctionBody) 488 ConciseBodyIn < (!("{") AssignmentExpressionIn) / CurlyBrackets(FunctionBody) 489 490 ArrowFormalParameters < Parentheses(StrictFormalParameters) 491 ArrowFormalParametersYield < Parentheses(StrictFormalParametersYield) 492 MethodDefinition < GeneratorMethod / ("get" PropertyName "(" ")" CurlyBrackets(FunctionBody)) / ("set" PropertyName Parentheses(PropertySetParameterList) CurlyBrackets(FunctionBody)) / (PropertyName Parentheses(StrictFormalParameters) CurlyBrackets(FunctionBody)) 493 MethodDefinitionYield < GeneratorMethodYield / ("get" PropertyNameYield "(" ")" CurlyBrackets(FunctionBody)) / ("set" PropertyNameYield Parentheses(PropertySetParameterList) CurlyBrackets(FunctionBody)) / (PropertyNameYield Parentheses(StrictFormalParameters) CurlyBrackets(FunctionBody)) 494 PropertySetParameterList < FormalParameter 495 GeneratorMethod < :"*" PropertyName Parentheses(StrictFormalParameters) CurlyBrackets(GeneratorBody) 496 GeneratorMethodYield < :"*" PropertyNameYield Parentheses(StrictFormalParametersYield) CurlyBrackets(GeneratorBody) 497 GeneratorDeclaration < :"function" :"*" BindingIdentifier Parentheses(FormalParameters) CurlyBrackets(GeneratorBody) 498 GeneratorDeclarationYield < :"function" :"*" BindingIdentifierYield Parentheses(FormalParametersYield) CurlyBrackets(GeneratorBody) 499 GeneratorDeclarationDefault < :"function" :"*" BindingIdentifier? Parentheses(FormalParameters) CurlyBrackets(GeneratorBody) 500 GeneratorDeclarationYieldDefault < :"function" :"*" BindingIdentifierYield? Parentheses(FormalParametersYield) CurlyBrackets(GeneratorBody) 501 GeneratorExpression < :"function" :"*" BindingIdentifierYield? Parentheses(FormalParametersYield) CurlyBrackets(GeneratorBody) 502 GeneratorBody < FunctionBodyYield 503 YieldExpression <- ("yield" Spaces ("*")? AssignmentExpressionYield) / "yield" 504 YieldExpressionIn <- ("yield" Spaces ("*")? AssignmentExpressionInYield) / "yield" 505 ClassDeclaration <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifier Spaces ClassTail 506 ClassDeclarationYield <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifierYield Spaces ClassTailYield 507 ClassDeclarationDefault <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifier? Spaces ClassTail 508 ClassDeclarationYieldDefault <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifierYield? Spaces ClassTailYield 509 ClassExpression <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifier? Spaces ClassTail 510 ClassExpressionYield <- :"class" !(IdentifierStart / IdentifierPart) Spaces BindingIdentifierYield? Spaces ClassTailYield 511 ClassTail < ClassHeritage? CurlyBrackets(ClassBody?) 512 ClassTailYield < ClassHeritageYield? CurlyBrackets(ClassBodyYield?) 513 ClassHeritage < :"extends" LeftHandSideExpression 514 ClassHeritageYield < :"extends" LeftHandSideExpressionYield 515 ClassBody < ClassElementList 516 ClassBodyYield < ClassElementListYield 517 ClassElementList < ClassElement+ 518 ClassElementListYield < ClassElementYield+ 519 ClassElement < ("static" MethodDefinition) / :";" / MethodDefinition 520 ClassElementYield < ("static" MethodDefinitionYield) / :";" / MethodDefinitionYield 521 522 JSXElement < "<" JSXTag JSXAttributeSet ("/>" / (">" JSXContent "</" JSXTag ">")) 523 JSXAttributeSet < JSXAttribute* 524 JSXAttribute < CurlyBrackets(SpreadElement) / (JSXKey ("=" JSXValue)?) 525 JSXKey <~ (!("=" / "/>" / ">") .)+ 526 JSXInlineJS < ArrowFunction / ConditionalExpression 527 JSXValue < StringLiteral / JSXCodeBlock 528 JSXCodeBlock < CurlyBrackets(JSXInlineJS) 529 JSXJavaScriptValue < CurlyBrackets(!JSXElement JSXInlineJS) 530 JSXTag <~ [a-zA-Z][a-zA-Z0-9]* 531 JSXContent < (JSXElement / JSXCodeBlock / JSXContentText)* 532 JSXContentText <~ (!"</" SourceCharacter)* 533 534 535 +/ 536 module es6.grammar; 537 538 public import pegged.peg; 539 import std.algorithm: startsWith; 540 import std.functional: toDelegate; 541 542 struct GenericES6(TParseTree) 543 { 544 import pegged.dynamic.grammar; 545 struct ES6 546 { 547 enum name = "ES6"; 548 static ParseTree delegate(ParseTree)[string] before; 549 static ParseTree delegate(ParseTree)[string] after; 550 static ParseTree delegate(ParseTree)[string] rules; 551 552 static this() 553 { 554 rules["Module"] = toDelegate(&Module); 555 rules["ModuleBody"] = toDelegate(&ModuleBody); 556 rules["ModuleItemList"] = toDelegate(&ModuleItemList); 557 rules["ImportDeclaration"] = toDelegate(&ImportDeclaration); 558 rules["ImportClause"] = toDelegate(&ImportClause); 559 rules["ImportedDefaultBinding"] = toDelegate(&ImportedDefaultBinding); 560 rules["NameSpaceImport"] = toDelegate(&NameSpaceImport); 561 rules["NamedImports"] = toDelegate(&NamedImports); 562 rules["FromClause"] = toDelegate(&FromClause); 563 rules["ImportsList"] = toDelegate(&ImportsList); 564 rules["ImportSpecifier"] = toDelegate(&ImportSpecifier); 565 rules["ModuleSpecifier"] = toDelegate(&ModuleSpecifier); 566 rules["ImportedBinding"] = toDelegate(&ImportedBinding); 567 rules["ExportDeclaration"] = toDelegate(&ExportDeclaration); 568 rules["ExportClause"] = toDelegate(&ExportClause); 569 rules["ExportsList"] = toDelegate(&ExportsList); 570 rules["ExportSpecifier"] = toDelegate(&ExportSpecifier); 571 rules["SourceCharacter"] = toDelegate(&SourceCharacter); 572 rules["InputElementDiv"] = toDelegate(&InputElementDiv); 573 rules["InputElementRegExp"] = toDelegate(&InputElementRegExp); 574 rules["InputElementRegExpOrTemplateTail"] = toDelegate(&InputElementRegExpOrTemplateTail); 575 rules["InputElementTemplateTail"] = toDelegate(&InputElementTemplateTail); 576 rules["WhiteSpace"] = toDelegate(&WhiteSpace); 577 rules["LineTerminator"] = toDelegate(&LineTerminator); 578 rules["LineTerminatorSequence"] = toDelegate(&LineTerminatorSequence); 579 rules["Spacing"] = toDelegate(&Spacing); 580 } 581 582 template hooked(alias r, string name) 583 { 584 static ParseTree hooked(ParseTree p) 585 { 586 ParseTree result; 587 588 if (name in before) 589 { 590 result = before[name](p); 591 if (result.successful) 592 return result; 593 } 594 595 result = r(p); 596 if (result.successful || name !in after) 597 return result; 598 599 result = after[name](p); 600 return result; 601 } 602 603 static ParseTree hooked(string input) 604 { 605 return hooked!(r, name)(ParseTree("",false,[],input)); 606 } 607 } 608 609 static void addRuleBefore(string parentRule, string ruleSyntax) 610 { 611 // enum name is the current grammar name 612 DynamicGrammar dg = pegged.dynamic.grammar.grammar(name ~ ": " ~ ruleSyntax, rules); 613 foreach(ruleName,rule; dg.rules) 614 if (ruleName != "Spacing") // Keep the local Spacing rule, do not overwrite it 615 rules[ruleName] = rule; 616 before[parentRule] = rules[dg.startingRule]; 617 } 618 619 static void addRuleAfter(string parentRule, string ruleSyntax) 620 { 621 // enum name is the current grammar named 622 DynamicGrammar dg = pegged.dynamic.grammar.grammar(name ~ ": " ~ ruleSyntax, rules); 623 foreach(name,rule; dg.rules) 624 { 625 if (name != "Spacing") 626 rules[name] = rule; 627 } 628 after[parentRule] = rules[dg.startingRule]; 629 } 630 631 static bool isRule(string s) 632 { 633 return s.startsWith("ES6."); 634 } 635 import std.typecons:Tuple, tuple; 636 static TParseTree[Tuple!(string, size_t)] memo; 637 mixin decimateTree; 638 static TParseTree Module(TParseTree p) 639 { 640 if(__ctfe) 641 { 642 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ModuleBody, Spacing), pegged.peg.wrapAround!(Spacing, eoi, Spacing)), "ES6.Module")(p); 643 } 644 else 645 { 646 if(auto m = tuple(`Module`,p.end) in memo) 647 return *m; 648 else 649 { 650 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ModuleBody, Spacing), pegged.peg.wrapAround!(Spacing, eoi, Spacing)), "ES6.Module"), "Module")(p); 651 memo[tuple(`Module`,p.end)] = result; 652 return result; 653 } 654 } 655 } 656 657 static TParseTree Module(string s) 658 { 659 if(__ctfe) 660 { 661 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ModuleBody, Spacing), pegged.peg.wrapAround!(Spacing, eoi, Spacing)), "ES6.Module")(TParseTree("", false,[], s)); 662 } 663 else 664 { 665 memo = null; 666 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ModuleBody, Spacing), pegged.peg.wrapAround!(Spacing, eoi, Spacing)), "ES6.Module"), "Module")(TParseTree("", false,[], s)); 667 } 668 } 669 static string Module(GetName g) 670 { 671 return "ES6.Module"; 672 } 673 674 static TParseTree ModuleBody(TParseTree p) 675 { 676 if(__ctfe) 677 { 678 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ModuleItemList, Spacing), "ES6.ModuleBody")(p); 679 } 680 else 681 { 682 if(auto m = tuple(`ModuleBody`,p.end) in memo) 683 return *m; 684 else 685 { 686 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ModuleItemList, Spacing), "ES6.ModuleBody"), "ModuleBody")(p); 687 memo[tuple(`ModuleBody`,p.end)] = result; 688 return result; 689 } 690 } 691 } 692 693 static TParseTree ModuleBody(string s) 694 { 695 if(__ctfe) 696 { 697 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ModuleItemList, Spacing), "ES6.ModuleBody")(TParseTree("", false,[], s)); 698 } 699 else 700 { 701 memo = null; 702 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ModuleItemList, Spacing), "ES6.ModuleBody"), "ModuleBody")(TParseTree("", false,[], s)); 703 } 704 } 705 static string ModuleBody(GetName g) 706 { 707 return "ES6.ModuleBody"; 708 } 709 710 static TParseTree ModuleItemList(TParseTree p) 711 { 712 if(__ctfe) 713 { 714 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ImportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ExportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), Spacing)), "ES6.ModuleItemList")(p); 715 } 716 else 717 { 718 if(auto m = tuple(`ModuleItemList`,p.end) in memo) 719 return *m; 720 else 721 { 722 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ImportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ExportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), Spacing)), "ES6.ModuleItemList"), "ModuleItemList")(p); 723 memo[tuple(`ModuleItemList`,p.end)] = result; 724 return result; 725 } 726 } 727 } 728 729 static TParseTree ModuleItemList(string s) 730 { 731 if(__ctfe) 732 { 733 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ImportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ExportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), Spacing)), "ES6.ModuleItemList")(TParseTree("", false,[], s)); 734 } 735 else 736 { 737 memo = null; 738 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ImportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ExportDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), Spacing)), "ES6.ModuleItemList"), "ModuleItemList")(TParseTree("", false,[], s)); 739 } 740 } 741 static string ModuleItemList(GetName g) 742 { 743 return "ES6.ModuleItemList"; 744 } 745 746 static TParseTree ImportDeclaration(TParseTree p) 747 { 748 if(__ctfe) 749 { 750 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("import"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), "ES6.ImportDeclaration")(p); 751 } 752 else 753 { 754 if(auto m = tuple(`ImportDeclaration`,p.end) in memo) 755 return *m; 756 else 757 { 758 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("import"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), "ES6.ImportDeclaration"), "ImportDeclaration")(p); 759 memo[tuple(`ImportDeclaration`,p.end)] = result; 760 return result; 761 } 762 } 763 } 764 765 static TParseTree ImportDeclaration(string s) 766 { 767 if(__ctfe) 768 { 769 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("import"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), "ES6.ImportDeclaration")(TParseTree("", false,[], s)); 770 } 771 else 772 { 773 memo = null; 774 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("import"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), "ES6.ImportDeclaration"), "ImportDeclaration")(TParseTree("", false,[], s)); 775 } 776 } 777 static string ImportDeclaration(GetName g) 778 { 779 return "ES6.ImportDeclaration"; 780 } 781 782 static TParseTree ImportClause(TParseTree p) 783 { 784 if(__ctfe) 785 { 786 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing)), "ES6.ImportClause")(p); 787 } 788 else 789 { 790 if(auto m = tuple(`ImportClause`,p.end) in memo) 791 return *m; 792 else 793 { 794 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing)), "ES6.ImportClause"), "ImportClause")(p); 795 memo[tuple(`ImportClause`,p.end)] = result; 796 return result; 797 } 798 } 799 } 800 801 static TParseTree ImportClause(string s) 802 { 803 if(__ctfe) 804 { 805 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing)), "ES6.ImportClause")(TParseTree("", false,[], s)); 806 } 807 else 808 { 809 memo = null; 810 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NameSpaceImport, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, NamedImports, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedDefaultBinding, Spacing)), "ES6.ImportClause"), "ImportClause")(TParseTree("", false,[], s)); 811 } 812 } 813 static string ImportClause(GetName g) 814 { 815 return "ES6.ImportClause"; 816 } 817 818 static TParseTree ImportedDefaultBinding(TParseTree p) 819 { 820 if(__ctfe) 821 { 822 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing), "ES6.ImportedDefaultBinding")(p); 823 } 824 else 825 { 826 if(auto m = tuple(`ImportedDefaultBinding`,p.end) in memo) 827 return *m; 828 else 829 { 830 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing), "ES6.ImportedDefaultBinding"), "ImportedDefaultBinding")(p); 831 memo[tuple(`ImportedDefaultBinding`,p.end)] = result; 832 return result; 833 } 834 } 835 } 836 837 static TParseTree ImportedDefaultBinding(string s) 838 { 839 if(__ctfe) 840 { 841 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing), "ES6.ImportedDefaultBinding")(TParseTree("", false,[], s)); 842 } 843 else 844 { 845 memo = null; 846 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing), "ES6.ImportedDefaultBinding"), "ImportedDefaultBinding")(TParseTree("", false,[], s)); 847 } 848 } 849 static string ImportedDefaultBinding(GetName g) 850 { 851 return "ES6.ImportedDefaultBinding"; 852 } 853 854 static TParseTree NameSpaceImport(TParseTree p) 855 { 856 if(__ctfe) 857 { 858 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.NameSpaceImport")(p); 859 } 860 else 861 { 862 if(auto m = tuple(`NameSpaceImport`,p.end) in memo) 863 return *m; 864 else 865 { 866 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.NameSpaceImport"), "NameSpaceImport")(p); 867 memo[tuple(`NameSpaceImport`,p.end)] = result; 868 return result; 869 } 870 } 871 } 872 873 static TParseTree NameSpaceImport(string s) 874 { 875 if(__ctfe) 876 { 877 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.NameSpaceImport")(TParseTree("", false,[], s)); 878 } 879 else 880 { 881 memo = null; 882 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.NameSpaceImport"), "NameSpaceImport")(TParseTree("", false,[], s)); 883 } 884 } 885 static string NameSpaceImport(GetName g) 886 { 887 return "ES6.NameSpaceImport"; 888 } 889 890 static TParseTree NamedImports(TParseTree p) 891 { 892 if(__ctfe) 893 { 894 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.NamedImports")(p); 895 } 896 else 897 { 898 if(auto m = tuple(`NamedImports`,p.end) in memo) 899 return *m; 900 else 901 { 902 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.NamedImports"), "NamedImports")(p); 903 memo[tuple(`NamedImports`,p.end)] = result; 904 return result; 905 } 906 } 907 } 908 909 static TParseTree NamedImports(string s) 910 { 911 if(__ctfe) 912 { 913 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.NamedImports")(TParseTree("", false,[], s)); 914 } 915 else 916 { 917 memo = null; 918 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.NamedImports"), "NamedImports")(TParseTree("", false,[], s)); 919 } 920 } 921 static string NamedImports(GetName g) 922 { 923 return "ES6.NamedImports"; 924 } 925 926 static TParseTree FromClause(TParseTree p) 927 { 928 if(__ctfe) 929 { 930 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("from"), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), "ES6.FromClause")(p); 931 } 932 else 933 { 934 if(auto m = tuple(`FromClause`,p.end) in memo) 935 return *m; 936 else 937 { 938 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("from"), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), "ES6.FromClause"), "FromClause")(p); 939 memo[tuple(`FromClause`,p.end)] = result; 940 return result; 941 } 942 } 943 } 944 945 static TParseTree FromClause(string s) 946 { 947 if(__ctfe) 948 { 949 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("from"), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), "ES6.FromClause")(TParseTree("", false,[], s)); 950 } 951 else 952 { 953 memo = null; 954 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("from"), Spacing), pegged.peg.wrapAround!(Spacing, ModuleSpecifier, Spacing)), "ES6.FromClause"), "FromClause")(TParseTree("", false,[], s)); 955 } 956 } 957 static string FromClause(GetName g) 958 { 959 return "ES6.FromClause"; 960 } 961 962 static TParseTree ImportsList(TParseTree p) 963 { 964 if(__ctfe) 965 { 966 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing)), Spacing))), "ES6.ImportsList")(p); 967 } 968 else 969 { 970 if(auto m = tuple(`ImportsList`,p.end) in memo) 971 return *m; 972 else 973 { 974 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing)), Spacing))), "ES6.ImportsList"), "ImportsList")(p); 975 memo[tuple(`ImportsList`,p.end)] = result; 976 return result; 977 } 978 } 979 } 980 981 static TParseTree ImportsList(string s) 982 { 983 if(__ctfe) 984 { 985 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing)), Spacing))), "ES6.ImportsList")(TParseTree("", false,[], s)); 986 } 987 else 988 { 989 memo = null; 990 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ImportSpecifier, Spacing)), Spacing))), "ES6.ImportsList"), "ImportsList")(TParseTree("", false,[], s)); 991 } 992 } 993 static string ImportsList(GetName g) 994 { 995 return "ES6.ImportsList"; 996 } 997 998 static TParseTree ImportSpecifier(TParseTree p) 999 { 1000 if(__ctfe) 1001 { 1002 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.ImportSpecifier")(p); 1003 } 1004 else 1005 { 1006 if(auto m = tuple(`ImportSpecifier`,p.end) in memo) 1007 return *m; 1008 else 1009 { 1010 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.ImportSpecifier"), "ImportSpecifier")(p); 1011 memo[tuple(`ImportSpecifier`,p.end)] = result; 1012 return result; 1013 } 1014 } 1015 } 1016 1017 static TParseTree ImportSpecifier(string s) 1018 { 1019 if(__ctfe) 1020 { 1021 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.ImportSpecifier")(TParseTree("", false,[], s)); 1022 } 1023 else 1024 { 1025 memo = null; 1026 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, ImportedBinding, Spacing)), "ES6.ImportSpecifier"), "ImportSpecifier")(TParseTree("", false,[], s)); 1027 } 1028 } 1029 static string ImportSpecifier(GetName g) 1030 { 1031 return "ES6.ImportSpecifier"; 1032 } 1033 1034 static TParseTree ModuleSpecifier(TParseTree p) 1035 { 1036 if(__ctfe) 1037 { 1038 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), "ES6.ModuleSpecifier")(p); 1039 } 1040 else 1041 { 1042 if(auto m = tuple(`ModuleSpecifier`,p.end) in memo) 1043 return *m; 1044 else 1045 { 1046 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), "ES6.ModuleSpecifier"), "ModuleSpecifier")(p); 1047 memo[tuple(`ModuleSpecifier`,p.end)] = result; 1048 return result; 1049 } 1050 } 1051 } 1052 1053 static TParseTree ModuleSpecifier(string s) 1054 { 1055 if(__ctfe) 1056 { 1057 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), "ES6.ModuleSpecifier")(TParseTree("", false,[], s)); 1058 } 1059 else 1060 { 1061 memo = null; 1062 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), "ES6.ModuleSpecifier"), "ModuleSpecifier")(TParseTree("", false,[], s)); 1063 } 1064 } 1065 static string ModuleSpecifier(GetName g) 1066 { 1067 return "ES6.ModuleSpecifier"; 1068 } 1069 1070 static TParseTree ImportedBinding(TParseTree p) 1071 { 1072 if(__ctfe) 1073 { 1074 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), "ES6.ImportedBinding")(p); 1075 } 1076 else 1077 { 1078 if(auto m = tuple(`ImportedBinding`,p.end) in memo) 1079 return *m; 1080 else 1081 { 1082 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), "ES6.ImportedBinding"), "ImportedBinding")(p); 1083 memo[tuple(`ImportedBinding`,p.end)] = result; 1084 return result; 1085 } 1086 } 1087 } 1088 1089 static TParseTree ImportedBinding(string s) 1090 { 1091 if(__ctfe) 1092 { 1093 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), "ES6.ImportedBinding")(TParseTree("", false,[], s)); 1094 } 1095 else 1096 { 1097 memo = null; 1098 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), "ES6.ImportedBinding"), "ImportedBinding")(TParseTree("", false,[], s)); 1099 } 1100 } 1101 static string ImportedBinding(GetName g) 1102 { 1103 return "ES6.ImportedBinding"; 1104 } 1105 1106 static TParseTree ExportDeclaration(TParseTree p) 1107 { 1108 if(__ctfe) 1109 { 1110 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, HoistableDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, Declaration, Spacing)), Spacing)), "ES6.ExportDeclaration")(p); 1111 } 1112 else 1113 { 1114 if(auto m = tuple(`ExportDeclaration`,p.end) in memo) 1115 return *m; 1116 else 1117 { 1118 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, HoistableDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, Declaration, Spacing)), Spacing)), "ES6.ExportDeclaration"), "ExportDeclaration")(p); 1119 memo[tuple(`ExportDeclaration`,p.end)] = result; 1120 return result; 1121 } 1122 } 1123 } 1124 1125 static TParseTree ExportDeclaration(string s) 1126 { 1127 if(__ctfe) 1128 { 1129 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, HoistableDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, Declaration, Spacing)), Spacing)), "ES6.ExportDeclaration")(TParseTree("", false,[], s)); 1130 } 1131 else 1132 { 1133 memo = null; 1134 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, FromClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, ExportClause, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, HoistableDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationDefault, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("export"), Spacing), pegged.peg.wrapAround!(Spacing, Declaration, Spacing)), Spacing)), "ES6.ExportDeclaration"), "ExportDeclaration")(TParseTree("", false,[], s)); 1135 } 1136 } 1137 static string ExportDeclaration(GetName g) 1138 { 1139 return "ES6.ExportDeclaration"; 1140 } 1141 1142 static TParseTree ExportClause(TParseTree p) 1143 { 1144 if(__ctfe) 1145 { 1146 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.ExportClause")(p); 1147 } 1148 else 1149 { 1150 if(auto m = tuple(`ExportClause`,p.end) in memo) 1151 return *m; 1152 else 1153 { 1154 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.ExportClause"), "ExportClause")(p); 1155 memo[tuple(`ExportClause`,p.end)] = result; 1156 return result; 1157 } 1158 } 1159 } 1160 1161 static TParseTree ExportClause(string s) 1162 { 1163 if(__ctfe) 1164 { 1165 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.ExportClause")(TParseTree("", false,[], s)); 1166 } 1167 else 1168 { 1169 memo = null; 1170 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), Spacing))), Spacing))), Spacing), "ES6.ExportClause"), "ExportClause")(TParseTree("", false,[], s)); 1171 } 1172 } 1173 static string ExportClause(GetName g) 1174 { 1175 return "ES6.ExportClause"; 1176 } 1177 1178 static TParseTree ExportsList(TParseTree p) 1179 { 1180 if(__ctfe) 1181 { 1182 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing)), Spacing))), "ES6.ExportsList")(p); 1183 } 1184 else 1185 { 1186 if(auto m = tuple(`ExportsList`,p.end) in memo) 1187 return *m; 1188 else 1189 { 1190 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing)), Spacing))), "ES6.ExportsList"), "ExportsList")(p); 1191 memo[tuple(`ExportsList`,p.end)] = result; 1192 return result; 1193 } 1194 } 1195 } 1196 1197 static TParseTree ExportsList(string s) 1198 { 1199 if(__ctfe) 1200 { 1201 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing)), Spacing))), "ES6.ExportsList")(TParseTree("", false,[], s)); 1202 } 1203 else 1204 { 1205 memo = null; 1206 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ExportSpecifier, Spacing)), Spacing))), "ES6.ExportsList"), "ExportsList")(TParseTree("", false,[], s)); 1207 } 1208 } 1209 static string ExportsList(GetName g) 1210 { 1211 return "ES6.ExportsList"; 1212 } 1213 1214 static TParseTree ExportSpecifier(TParseTree p) 1215 { 1216 if(__ctfe) 1217 { 1218 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), Spacing))), "ES6.ExportSpecifier")(p); 1219 } 1220 else 1221 { 1222 if(auto m = tuple(`ExportSpecifier`,p.end) in memo) 1223 return *m; 1224 else 1225 { 1226 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), Spacing))), "ES6.ExportSpecifier"), "ExportSpecifier")(p); 1227 memo[tuple(`ExportSpecifier`,p.end)] = result; 1228 return result; 1229 } 1230 } 1231 } 1232 1233 static TParseTree ExportSpecifier(string s) 1234 { 1235 if(__ctfe) 1236 { 1237 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), Spacing))), "ES6.ExportSpecifier")(TParseTree("", false,[], s)); 1238 } 1239 else 1240 { 1241 memo = null; 1242 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("as"), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), Spacing))), "ES6.ExportSpecifier"), "ExportSpecifier")(TParseTree("", false,[], s)); 1243 } 1244 } 1245 static string ExportSpecifier(GetName g) 1246 { 1247 return "ES6.ExportSpecifier"; 1248 } 1249 1250 static TParseTree SourceCharacter(TParseTree p) 1251 { 1252 if(__ctfe) 1253 { 1254 return pegged.peg.defined!(pegged.peg.charRange!('\u0000', '\uFFFC'), "ES6.SourceCharacter")(p); 1255 } 1256 else 1257 { 1258 if(auto m = tuple(`SourceCharacter`,p.end) in memo) 1259 return *m; 1260 else 1261 { 1262 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.charRange!('\u0000', '\uFFFC'), "ES6.SourceCharacter"), "SourceCharacter")(p); 1263 memo[tuple(`SourceCharacter`,p.end)] = result; 1264 return result; 1265 } 1266 } 1267 } 1268 1269 static TParseTree SourceCharacter(string s) 1270 { 1271 if(__ctfe) 1272 { 1273 return pegged.peg.defined!(pegged.peg.charRange!('\u0000', '\uFFFC'), "ES6.SourceCharacter")(TParseTree("", false,[], s)); 1274 } 1275 else 1276 { 1277 memo = null; 1278 return hooked!(pegged.peg.defined!(pegged.peg.charRange!('\u0000', '\uFFFC'), "ES6.SourceCharacter"), "SourceCharacter")(TParseTree("", false,[], s)); 1279 } 1280 } 1281 static string SourceCharacter(GetName g) 1282 { 1283 return "ES6.SourceCharacter"; 1284 } 1285 1286 static TParseTree InputElementDiv(TParseTree p) 1287 { 1288 if(__ctfe) 1289 { 1290 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, RightBracePunctuator), "ES6.InputElementDiv")(p); 1291 } 1292 else 1293 { 1294 if(auto m = tuple(`InputElementDiv`,p.end) in memo) 1295 return *m; 1296 else 1297 { 1298 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, RightBracePunctuator), "ES6.InputElementDiv"), "InputElementDiv")(p); 1299 memo[tuple(`InputElementDiv`,p.end)] = result; 1300 return result; 1301 } 1302 } 1303 } 1304 1305 static TParseTree InputElementDiv(string s) 1306 { 1307 if(__ctfe) 1308 { 1309 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, RightBracePunctuator), "ES6.InputElementDiv")(TParseTree("", false,[], s)); 1310 } 1311 else 1312 { 1313 memo = null; 1314 return hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, RightBracePunctuator), "ES6.InputElementDiv"), "InputElementDiv")(TParseTree("", false,[], s)); 1315 } 1316 } 1317 static string InputElementDiv(GetName g) 1318 { 1319 return "ES6.InputElementDiv"; 1320 } 1321 1322 static TParseTree InputElementRegExp(TParseTree p) 1323 { 1324 if(__ctfe) 1325 { 1326 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RightBracePunctuator, RegularExpressionLiteral), "ES6.InputElementRegExp")(p); 1327 } 1328 else 1329 { 1330 if(auto m = tuple(`InputElementRegExp`,p.end) in memo) 1331 return *m; 1332 else 1333 { 1334 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RightBracePunctuator, RegularExpressionLiteral), "ES6.InputElementRegExp"), "InputElementRegExp")(p); 1335 memo[tuple(`InputElementRegExp`,p.end)] = result; 1336 return result; 1337 } 1338 } 1339 } 1340 1341 static TParseTree InputElementRegExp(string s) 1342 { 1343 if(__ctfe) 1344 { 1345 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RightBracePunctuator, RegularExpressionLiteral), "ES6.InputElementRegExp")(TParseTree("", false,[], s)); 1346 } 1347 else 1348 { 1349 memo = null; 1350 return hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RightBracePunctuator, RegularExpressionLiteral), "ES6.InputElementRegExp"), "InputElementRegExp")(TParseTree("", false,[], s)); 1351 } 1352 } 1353 static string InputElementRegExp(GetName g) 1354 { 1355 return "ES6.InputElementRegExp"; 1356 } 1357 1358 static TParseTree InputElementRegExpOrTemplateTail(TParseTree p) 1359 { 1360 if(__ctfe) 1361 { 1362 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RegularExpressionLiteral, TemplateSubstitutionTail), "ES6.InputElementRegExpOrTemplateTail")(p); 1363 } 1364 else 1365 { 1366 if(auto m = tuple(`InputElementRegExpOrTemplateTail`,p.end) in memo) 1367 return *m; 1368 else 1369 { 1370 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RegularExpressionLiteral, TemplateSubstitutionTail), "ES6.InputElementRegExpOrTemplateTail"), "InputElementRegExpOrTemplateTail")(p); 1371 memo[tuple(`InputElementRegExpOrTemplateTail`,p.end)] = result; 1372 return result; 1373 } 1374 } 1375 } 1376 1377 static TParseTree InputElementRegExpOrTemplateTail(string s) 1378 { 1379 if(__ctfe) 1380 { 1381 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RegularExpressionLiteral, TemplateSubstitutionTail), "ES6.InputElementRegExpOrTemplateTail")(TParseTree("", false,[], s)); 1382 } 1383 else 1384 { 1385 memo = null; 1386 return hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, RegularExpressionLiteral, TemplateSubstitutionTail), "ES6.InputElementRegExpOrTemplateTail"), "InputElementRegExpOrTemplateTail")(TParseTree("", false,[], s)); 1387 } 1388 } 1389 static string InputElementRegExpOrTemplateTail(GetName g) 1390 { 1391 return "ES6.InputElementRegExpOrTemplateTail"; 1392 } 1393 1394 static TParseTree InputElementTemplateTail(TParseTree p) 1395 { 1396 if(__ctfe) 1397 { 1398 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, TemplateSubstitutionTail), "ES6.InputElementTemplateTail")(p); 1399 } 1400 else 1401 { 1402 if(auto m = tuple(`InputElementTemplateTail`,p.end) in memo) 1403 return *m; 1404 else 1405 { 1406 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, TemplateSubstitutionTail), "ES6.InputElementTemplateTail"), "InputElementTemplateTail")(p); 1407 memo[tuple(`InputElementTemplateTail`,p.end)] = result; 1408 return result; 1409 } 1410 } 1411 } 1412 1413 static TParseTree InputElementTemplateTail(string s) 1414 { 1415 if(__ctfe) 1416 { 1417 return pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, TemplateSubstitutionTail), "ES6.InputElementTemplateTail")(TParseTree("", false,[], s)); 1418 } 1419 else 1420 { 1421 memo = null; 1422 return hooked!(pegged.peg.defined!(pegged.peg.or!(WhiteSpace, LineTerminator, Comment, CommonToken, DivPunctuator, TemplateSubstitutionTail), "ES6.InputElementTemplateTail"), "InputElementTemplateTail")(TParseTree("", false,[], s)); 1423 } 1424 } 1425 static string InputElementTemplateTail(GetName g) 1426 { 1427 return "ES6.InputElementTemplateTail"; 1428 } 1429 1430 static TParseTree WhiteSpace(TParseTree p) 1431 { 1432 if(__ctfe) 1433 { 1434 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u0009"), pegged.peg.literal!("\u000B"), pegged.peg.literal!("\u000C"), pegged.peg.literal!("\u0020"), pegged.peg.literal!("\u00A0"), pegged.peg.literal!("\uFEFF"), pegged.peg.charRange!('\u02B0', '\u02FF')), "ES6.WhiteSpace")(p); 1435 } 1436 else 1437 { 1438 if(auto m = tuple(`WhiteSpace`,p.end) in memo) 1439 return *m; 1440 else 1441 { 1442 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u0009"), pegged.peg.literal!("\u000B"), pegged.peg.literal!("\u000C"), pegged.peg.literal!("\u0020"), pegged.peg.literal!("\u00A0"), pegged.peg.literal!("\uFEFF"), pegged.peg.charRange!('\u02B0', '\u02FF')), "ES6.WhiteSpace"), "WhiteSpace")(p); 1443 memo[tuple(`WhiteSpace`,p.end)] = result; 1444 return result; 1445 } 1446 } 1447 } 1448 1449 static TParseTree WhiteSpace(string s) 1450 { 1451 if(__ctfe) 1452 { 1453 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u0009"), pegged.peg.literal!("\u000B"), pegged.peg.literal!("\u000C"), pegged.peg.literal!("\u0020"), pegged.peg.literal!("\u00A0"), pegged.peg.literal!("\uFEFF"), pegged.peg.charRange!('\u02B0', '\u02FF')), "ES6.WhiteSpace")(TParseTree("", false,[], s)); 1454 } 1455 else 1456 { 1457 memo = null; 1458 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u0009"), pegged.peg.literal!("\u000B"), pegged.peg.literal!("\u000C"), pegged.peg.literal!("\u0020"), pegged.peg.literal!("\u00A0"), pegged.peg.literal!("\uFEFF"), pegged.peg.charRange!('\u02B0', '\u02FF')), "ES6.WhiteSpace"), "WhiteSpace")(TParseTree("", false,[], s)); 1459 } 1460 } 1461 static string WhiteSpace(GetName g) 1462 { 1463 return "ES6.WhiteSpace"; 1464 } 1465 1466 static TParseTree LineTerminator(TParseTree p) 1467 { 1468 if(__ctfe) 1469 { 1470 return pegged.peg.defined!(pegged.peg.keywords!("\u000A", "\u000D", "\u2028", "\u2029"), "ES6.LineTerminator")(p); 1471 } 1472 else 1473 { 1474 if(auto m = tuple(`LineTerminator`,p.end) in memo) 1475 return *m; 1476 else 1477 { 1478 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("\u000A", "\u000D", "\u2028", "\u2029"), "ES6.LineTerminator"), "LineTerminator")(p); 1479 memo[tuple(`LineTerminator`,p.end)] = result; 1480 return result; 1481 } 1482 } 1483 } 1484 1485 static TParseTree LineTerminator(string s) 1486 { 1487 if(__ctfe) 1488 { 1489 return pegged.peg.defined!(pegged.peg.keywords!("\u000A", "\u000D", "\u2028", "\u2029"), "ES6.LineTerminator")(TParseTree("", false,[], s)); 1490 } 1491 else 1492 { 1493 memo = null; 1494 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("\u000A", "\u000D", "\u2028", "\u2029"), "ES6.LineTerminator"), "LineTerminator")(TParseTree("", false,[], s)); 1495 } 1496 } 1497 static string LineTerminator(GetName g) 1498 { 1499 return "ES6.LineTerminator"; 1500 } 1501 1502 static TParseTree LineTerminatorSequence(TParseTree p) 1503 { 1504 if(__ctfe) 1505 { 1506 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u000A"), pegged.peg.and!(pegged.peg.literal!("\u000D"), pegged.peg.negLookahead!(pegged.peg.literal!("\u000A"))), pegged.peg.literal!("\u2028"), pegged.peg.literal!("\u2029"), pegged.peg.literal!("\u000D\u000A")), "ES6.LineTerminatorSequence")(p); 1507 } 1508 else 1509 { 1510 if(auto m = tuple(`LineTerminatorSequence`,p.end) in memo) 1511 return *m; 1512 else 1513 { 1514 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u000A"), pegged.peg.and!(pegged.peg.literal!("\u000D"), pegged.peg.negLookahead!(pegged.peg.literal!("\u000A"))), pegged.peg.literal!("\u2028"), pegged.peg.literal!("\u2029"), pegged.peg.literal!("\u000D\u000A")), "ES6.LineTerminatorSequence"), "LineTerminatorSequence")(p); 1515 memo[tuple(`LineTerminatorSequence`,p.end)] = result; 1516 return result; 1517 } 1518 } 1519 } 1520 1521 static TParseTree LineTerminatorSequence(string s) 1522 { 1523 if(__ctfe) 1524 { 1525 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u000A"), pegged.peg.and!(pegged.peg.literal!("\u000D"), pegged.peg.negLookahead!(pegged.peg.literal!("\u000A"))), pegged.peg.literal!("\u2028"), pegged.peg.literal!("\u2029"), pegged.peg.literal!("\u000D\u000A")), "ES6.LineTerminatorSequence")(TParseTree("", false,[], s)); 1526 } 1527 else 1528 { 1529 memo = null; 1530 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u000A"), pegged.peg.and!(pegged.peg.literal!("\u000D"), pegged.peg.negLookahead!(pegged.peg.literal!("\u000A"))), pegged.peg.literal!("\u2028"), pegged.peg.literal!("\u2029"), pegged.peg.literal!("\u000D\u000A")), "ES6.LineTerminatorSequence"), "LineTerminatorSequence")(TParseTree("", false,[], s)); 1531 } 1532 } 1533 static string LineTerminatorSequence(GetName g) 1534 { 1535 return "ES6.LineTerminatorSequence"; 1536 } 1537 1538 static TParseTree Spacing(TParseTree p) 1539 { 1540 if(__ctfe) 1541 { 1542 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), pegged.peg.discard!(LineTerminatorSequence), Comment))), "ES6.Spacing")(p); 1543 } 1544 else 1545 { 1546 if(auto m = tuple(`Spacing`,p.end) in memo) 1547 return *m; 1548 else 1549 { 1550 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), pegged.peg.discard!(LineTerminatorSequence), Comment))), "ES6.Spacing"), "Spacing")(p); 1551 memo[tuple(`Spacing`,p.end)] = result; 1552 return result; 1553 } 1554 } 1555 } 1556 1557 static TParseTree Spacing(string s) 1558 { 1559 if(__ctfe) 1560 { 1561 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), pegged.peg.discard!(LineTerminatorSequence), Comment))), "ES6.Spacing")(TParseTree("", false,[], s)); 1562 } 1563 else 1564 { 1565 memo = null; 1566 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), pegged.peg.discard!(LineTerminatorSequence), Comment))), "ES6.Spacing"), "Spacing")(TParseTree("", false,[], s)); 1567 } 1568 } 1569 static string Spacing(GetName g) 1570 { 1571 return "ES6.Spacing"; 1572 } 1573 1574 static TParseTree Spaces(TParseTree p) 1575 { 1576 if(__ctfe) 1577 { 1578 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), Comment))), "ES6.Spaces")(p); 1579 } 1580 else 1581 { 1582 if(auto m = tuple(`Spaces`,p.end) in memo) 1583 return *m; 1584 else 1585 { 1586 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), Comment))), "ES6.Spaces"), "Spaces")(p); 1587 memo[tuple(`Spaces`,p.end)] = result; 1588 return result; 1589 } 1590 } 1591 } 1592 1593 static TParseTree Spaces(string s) 1594 { 1595 if(__ctfe) 1596 { 1597 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), Comment))), "ES6.Spaces")(TParseTree("", false,[], s)); 1598 } 1599 else 1600 { 1601 memo = null; 1602 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.discard!(WhiteSpace), Comment))), "ES6.Spaces"), "Spaces")(TParseTree("", false,[], s)); 1603 } 1604 } 1605 static string Spaces(GetName g) 1606 { 1607 return "ES6.Spaces"; 1608 } 1609 1610 static TParseTree Comment(TParseTree p) 1611 { 1612 if(__ctfe) 1613 { 1614 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(MultiLineComment, SingleLineComment)), "ES6.Comment")(p); 1615 } 1616 else 1617 { 1618 if(auto m = tuple(`Comment`,p.end) in memo) 1619 return *m; 1620 else 1621 { 1622 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(MultiLineComment, SingleLineComment)), "ES6.Comment"), "Comment")(p); 1623 memo[tuple(`Comment`,p.end)] = result; 1624 return result; 1625 } 1626 } 1627 } 1628 1629 static TParseTree Comment(string s) 1630 { 1631 if(__ctfe) 1632 { 1633 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(MultiLineComment, SingleLineComment)), "ES6.Comment")(TParseTree("", false,[], s)); 1634 } 1635 else 1636 { 1637 memo = null; 1638 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(MultiLineComment, SingleLineComment)), "ES6.Comment"), "Comment")(TParseTree("", false,[], s)); 1639 } 1640 } 1641 static string Comment(GetName g) 1642 { 1643 return "ES6.Comment"; 1644 } 1645 1646 static TParseTree MultiLineComment(TParseTree p) 1647 { 1648 if(__ctfe) 1649 { 1650 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("/*")), pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("*/")), SourceCharacter)), pegged.peg.discard!(pegged.peg.literal!("*/")))), "ES6.MultiLineComment")(p); 1651 } 1652 else 1653 { 1654 if(auto m = tuple(`MultiLineComment`,p.end) in memo) 1655 return *m; 1656 else 1657 { 1658 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("/*")), pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("*/")), SourceCharacter)), pegged.peg.discard!(pegged.peg.literal!("*/")))), "ES6.MultiLineComment"), "MultiLineComment")(p); 1659 memo[tuple(`MultiLineComment`,p.end)] = result; 1660 return result; 1661 } 1662 } 1663 } 1664 1665 static TParseTree MultiLineComment(string s) 1666 { 1667 if(__ctfe) 1668 { 1669 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("/*")), pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("*/")), SourceCharacter)), pegged.peg.discard!(pegged.peg.literal!("*/")))), "ES6.MultiLineComment")(TParseTree("", false,[], s)); 1670 } 1671 else 1672 { 1673 memo = null; 1674 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("/*")), pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("*/")), SourceCharacter)), pegged.peg.discard!(pegged.peg.literal!("*/")))), "ES6.MultiLineComment"), "MultiLineComment")(TParseTree("", false,[], s)); 1675 } 1676 } 1677 static string MultiLineComment(GetName g) 1678 { 1679 return "ES6.MultiLineComment"; 1680 } 1681 1682 static TParseTree SingleLineComment(TParseTree p) 1683 { 1684 if(__ctfe) 1685 { 1686 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("//")), pegged.peg.option!(SingleLineCommentChars), eol), "ES6.SingleLineComment")(p); 1687 } 1688 else 1689 { 1690 if(auto m = tuple(`SingleLineComment`,p.end) in memo) 1691 return *m; 1692 else 1693 { 1694 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("//")), pegged.peg.option!(SingleLineCommentChars), eol), "ES6.SingleLineComment"), "SingleLineComment")(p); 1695 memo[tuple(`SingleLineComment`,p.end)] = result; 1696 return result; 1697 } 1698 } 1699 } 1700 1701 static TParseTree SingleLineComment(string s) 1702 { 1703 if(__ctfe) 1704 { 1705 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("//")), pegged.peg.option!(SingleLineCommentChars), eol), "ES6.SingleLineComment")(TParseTree("", false,[], s)); 1706 } 1707 else 1708 { 1709 memo = null; 1710 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("//")), pegged.peg.option!(SingleLineCommentChars), eol), "ES6.SingleLineComment"), "SingleLineComment")(TParseTree("", false,[], s)); 1711 } 1712 } 1713 static string SingleLineComment(GetName g) 1714 { 1715 return "ES6.SingleLineComment"; 1716 } 1717 1718 static TParseTree SingleLineCommentChars(TParseTree p) 1719 { 1720 if(__ctfe) 1721 { 1722 return pegged.peg.defined!(pegged.peg.oneOrMore!(SingleLineCommentChar), "ES6.SingleLineCommentChars")(p); 1723 } 1724 else 1725 { 1726 if(auto m = tuple(`SingleLineCommentChars`,p.end) in memo) 1727 return *m; 1728 else 1729 { 1730 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(SingleLineCommentChar), "ES6.SingleLineCommentChars"), "SingleLineCommentChars")(p); 1731 memo[tuple(`SingleLineCommentChars`,p.end)] = result; 1732 return result; 1733 } 1734 } 1735 } 1736 1737 static TParseTree SingleLineCommentChars(string s) 1738 { 1739 if(__ctfe) 1740 { 1741 return pegged.peg.defined!(pegged.peg.oneOrMore!(SingleLineCommentChar), "ES6.SingleLineCommentChars")(TParseTree("", false,[], s)); 1742 } 1743 else 1744 { 1745 memo = null; 1746 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(SingleLineCommentChar), "ES6.SingleLineCommentChars"), "SingleLineCommentChars")(TParseTree("", false,[], s)); 1747 } 1748 } 1749 static string SingleLineCommentChars(GetName g) 1750 { 1751 return "ES6.SingleLineCommentChars"; 1752 } 1753 1754 static TParseTree SingleLineCommentChar(TParseTree p) 1755 { 1756 if(__ctfe) 1757 { 1758 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.SingleLineCommentChar")(p); 1759 } 1760 else 1761 { 1762 if(auto m = tuple(`SingleLineCommentChar`,p.end) in memo) 1763 return *m; 1764 else 1765 { 1766 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.SingleLineCommentChar"), "SingleLineCommentChar")(p); 1767 memo[tuple(`SingleLineCommentChar`,p.end)] = result; 1768 return result; 1769 } 1770 } 1771 } 1772 1773 static TParseTree SingleLineCommentChar(string s) 1774 { 1775 if(__ctfe) 1776 { 1777 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.SingleLineCommentChar")(TParseTree("", false,[], s)); 1778 } 1779 else 1780 { 1781 memo = null; 1782 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.SingleLineCommentChar"), "SingleLineCommentChar")(TParseTree("", false,[], s)); 1783 } 1784 } 1785 static string SingleLineCommentChar(GetName g) 1786 { 1787 return "ES6.SingleLineCommentChar"; 1788 } 1789 1790 static TParseTree CommonToken(TParseTree p) 1791 { 1792 if(__ctfe) 1793 { 1794 return pegged.peg.defined!(pegged.peg.or!(IdentifierName, Punctuator, NumericLiteral, StringLiteral, Template), "ES6.CommonToken")(p); 1795 } 1796 else 1797 { 1798 if(auto m = tuple(`CommonToken`,p.end) in memo) 1799 return *m; 1800 else 1801 { 1802 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(IdentifierName, Punctuator, NumericLiteral, StringLiteral, Template), "ES6.CommonToken"), "CommonToken")(p); 1803 memo[tuple(`CommonToken`,p.end)] = result; 1804 return result; 1805 } 1806 } 1807 } 1808 1809 static TParseTree CommonToken(string s) 1810 { 1811 if(__ctfe) 1812 { 1813 return pegged.peg.defined!(pegged.peg.or!(IdentifierName, Punctuator, NumericLiteral, StringLiteral, Template), "ES6.CommonToken")(TParseTree("", false,[], s)); 1814 } 1815 else 1816 { 1817 memo = null; 1818 return hooked!(pegged.peg.defined!(pegged.peg.or!(IdentifierName, Punctuator, NumericLiteral, StringLiteral, Template), "ES6.CommonToken"), "CommonToken")(TParseTree("", false,[], s)); 1819 } 1820 } 1821 static string CommonToken(GetName g) 1822 { 1823 return "ES6.CommonToken"; 1824 } 1825 1826 static TParseTree IdentifierName(TParseTree p) 1827 { 1828 if(__ctfe) 1829 { 1830 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(IdentifierStart, pegged.peg.zeroOrMore!(IdentifierPart))), "ES6.IdentifierName")(p); 1831 } 1832 else 1833 { 1834 if(auto m = tuple(`IdentifierName`,p.end) in memo) 1835 return *m; 1836 else 1837 { 1838 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(IdentifierStart, pegged.peg.zeroOrMore!(IdentifierPart))), "ES6.IdentifierName"), "IdentifierName")(p); 1839 memo[tuple(`IdentifierName`,p.end)] = result; 1840 return result; 1841 } 1842 } 1843 } 1844 1845 static TParseTree IdentifierName(string s) 1846 { 1847 if(__ctfe) 1848 { 1849 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(IdentifierStart, pegged.peg.zeroOrMore!(IdentifierPart))), "ES6.IdentifierName")(TParseTree("", false,[], s)); 1850 } 1851 else 1852 { 1853 memo = null; 1854 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(IdentifierStart, pegged.peg.zeroOrMore!(IdentifierPart))), "ES6.IdentifierName"), "IdentifierName")(TParseTree("", false,[], s)); 1855 } 1856 } 1857 static string IdentifierName(GetName g) 1858 { 1859 return "ES6.IdentifierName"; 1860 } 1861 1862 static TParseTree IdentifierStart(TParseTree p) 1863 { 1864 if(__ctfe) 1865 { 1866 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDStart, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence))), "ES6.IdentifierStart")(p); 1867 } 1868 else 1869 { 1870 if(auto m = tuple(`IdentifierStart`,p.end) in memo) 1871 return *m; 1872 else 1873 { 1874 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDStart, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence))), "ES6.IdentifierStart"), "IdentifierStart")(p); 1875 memo[tuple(`IdentifierStart`,p.end)] = result; 1876 return result; 1877 } 1878 } 1879 } 1880 1881 static TParseTree IdentifierStart(string s) 1882 { 1883 if(__ctfe) 1884 { 1885 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDStart, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence))), "ES6.IdentifierStart")(TParseTree("", false,[], s)); 1886 } 1887 else 1888 { 1889 memo = null; 1890 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDStart, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence))), "ES6.IdentifierStart"), "IdentifierStart")(TParseTree("", false,[], s)); 1891 } 1892 } 1893 static string IdentifierStart(GetName g) 1894 { 1895 return "ES6.IdentifierStart"; 1896 } 1897 1898 static TParseTree IdentifierPart(TParseTree p) 1899 { 1900 if(__ctfe) 1901 { 1902 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDContinue, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence), pegged.peg.literal!("\u200C"), pegged.peg.literal!("\u200D"))), "ES6.IdentifierPart")(p); 1903 } 1904 else 1905 { 1906 if(auto m = tuple(`IdentifierPart`,p.end) in memo) 1907 return *m; 1908 else 1909 { 1910 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDContinue, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence), pegged.peg.literal!("\u200C"), pegged.peg.literal!("\u200D"))), "ES6.IdentifierPart"), "IdentifierPart")(p); 1911 memo[tuple(`IdentifierPart`,p.end)] = result; 1912 return result; 1913 } 1914 } 1915 } 1916 1917 static TParseTree IdentifierPart(string s) 1918 { 1919 if(__ctfe) 1920 { 1921 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDContinue, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence), pegged.peg.literal!("\u200C"), pegged.peg.literal!("\u200D"))), "ES6.IdentifierPart")(TParseTree("", false,[], s)); 1922 } 1923 else 1924 { 1925 memo = null; 1926 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(UnicodeIDContinue, pegged.peg.literal!("$"), pegged.peg.literal!("_"), pegged.peg.and!(pegged.peg.literal!("\\"), UnicodeEscapeSequence), pegged.peg.literal!("\u200C"), pegged.peg.literal!("\u200D"))), "ES6.IdentifierPart"), "IdentifierPart")(TParseTree("", false,[], s)); 1927 } 1928 } 1929 static string IdentifierPart(GetName g) 1930 { 1931 return "ES6.IdentifierPart"; 1932 } 1933 1934 static TParseTree UnicodeIDStart(TParseTree p) 1935 { 1936 if(__ctfe) 1937 { 1938 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(ID_Start, Other_ID_Start)), "ES6.UnicodeIDStart")(p); 1939 } 1940 else 1941 { 1942 if(auto m = tuple(`UnicodeIDStart`,p.end) in memo) 1943 return *m; 1944 else 1945 { 1946 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(ID_Start, Other_ID_Start)), "ES6.UnicodeIDStart"), "UnicodeIDStart")(p); 1947 memo[tuple(`UnicodeIDStart`,p.end)] = result; 1948 return result; 1949 } 1950 } 1951 } 1952 1953 static TParseTree UnicodeIDStart(string s) 1954 { 1955 if(__ctfe) 1956 { 1957 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(ID_Start, Other_ID_Start)), "ES6.UnicodeIDStart")(TParseTree("", false,[], s)); 1958 } 1959 else 1960 { 1961 memo = null; 1962 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(ID_Start, Other_ID_Start)), "ES6.UnicodeIDStart"), "UnicodeIDStart")(TParseTree("", false,[], s)); 1963 } 1964 } 1965 static string UnicodeIDStart(GetName g) 1966 { 1967 return "ES6.UnicodeIDStart"; 1968 } 1969 1970 static TParseTree ID_Start(TParseTree p) 1971 { 1972 if(__ctfe) 1973 { 1974 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Start")(p); 1975 } 1976 else 1977 { 1978 if(auto m = tuple(`ID_Start`,p.end) in memo) 1979 return *m; 1980 else 1981 { 1982 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Start"), "ID_Start")(p); 1983 memo[tuple(`ID_Start`,p.end)] = result; 1984 return result; 1985 } 1986 } 1987 } 1988 1989 static TParseTree ID_Start(string s) 1990 { 1991 if(__ctfe) 1992 { 1993 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Start")(TParseTree("", false,[], s)); 1994 } 1995 else 1996 { 1997 memo = null; 1998 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Start"), "ID_Start")(TParseTree("", false,[], s)); 1999 } 2000 } 2001 static string ID_Start(GetName g) 2002 { 2003 return "ES6.ID_Start"; 2004 } 2005 2006 static TParseTree Other_ID_Start(TParseTree p) 2007 { 2008 if(__ctfe) 2009 { 2010 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u2118"), pegged.peg.literal!("\u212e"), pegged.peg.charRange!('\u309b', '\u309c')), "ES6.Other_ID_Start")(p); 2011 } 2012 else 2013 { 2014 if(auto m = tuple(`Other_ID_Start`,p.end) in memo) 2015 return *m; 2016 else 2017 { 2018 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u2118"), pegged.peg.literal!("\u212e"), pegged.peg.charRange!('\u309b', '\u309c')), "ES6.Other_ID_Start"), "Other_ID_Start")(p); 2019 memo[tuple(`Other_ID_Start`,p.end)] = result; 2020 return result; 2021 } 2022 } 2023 } 2024 2025 static TParseTree Other_ID_Start(string s) 2026 { 2027 if(__ctfe) 2028 { 2029 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u2118"), pegged.peg.literal!("\u212e"), pegged.peg.charRange!('\u309b', '\u309c')), "ES6.Other_ID_Start")(TParseTree("", false,[], s)); 2030 } 2031 else 2032 { 2033 memo = null; 2034 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u2118"), pegged.peg.literal!("\u212e"), pegged.peg.charRange!('\u309b', '\u309c')), "ES6.Other_ID_Start"), "Other_ID_Start")(TParseTree("", false,[], s)); 2035 } 2036 } 2037 static string Other_ID_Start(GetName g) 2038 { 2039 return "ES6.Other_ID_Start"; 2040 } 2041 2042 static TParseTree UnicodeIDContinue(TParseTree p) 2043 { 2044 if(__ctfe) 2045 { 2046 return pegged.peg.defined!(pegged.peg.or!(ID_Continue, Other_ID_Continue, Other_ID_Start), "ES6.UnicodeIDContinue")(p); 2047 } 2048 else 2049 { 2050 if(auto m = tuple(`UnicodeIDContinue`,p.end) in memo) 2051 return *m; 2052 else 2053 { 2054 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(ID_Continue, Other_ID_Continue, Other_ID_Start), "ES6.UnicodeIDContinue"), "UnicodeIDContinue")(p); 2055 memo[tuple(`UnicodeIDContinue`,p.end)] = result; 2056 return result; 2057 } 2058 } 2059 } 2060 2061 static TParseTree UnicodeIDContinue(string s) 2062 { 2063 if(__ctfe) 2064 { 2065 return pegged.peg.defined!(pegged.peg.or!(ID_Continue, Other_ID_Continue, Other_ID_Start), "ES6.UnicodeIDContinue")(TParseTree("", false,[], s)); 2066 } 2067 else 2068 { 2069 memo = null; 2070 return hooked!(pegged.peg.defined!(pegged.peg.or!(ID_Continue, Other_ID_Continue, Other_ID_Start), "ES6.UnicodeIDContinue"), "UnicodeIDContinue")(TParseTree("", false,[], s)); 2071 } 2072 } 2073 static string UnicodeIDContinue(GetName g) 2074 { 2075 return "ES6.UnicodeIDContinue"; 2076 } 2077 2078 static TParseTree ID_Continue(TParseTree p) 2079 { 2080 if(__ctfe) 2081 { 2082 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0030', '\u0039'), pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.literal!("\u005f"), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Continue")(p); 2083 } 2084 else 2085 { 2086 if(auto m = tuple(`ID_Continue`,p.end) in memo) 2087 return *m; 2088 else 2089 { 2090 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0030', '\u0039'), pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.literal!("\u005f"), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Continue"), "ID_Continue")(p); 2091 memo[tuple(`ID_Continue`,p.end)] = result; 2092 return result; 2093 } 2094 } 2095 } 2096 2097 static TParseTree ID_Continue(string s) 2098 { 2099 if(__ctfe) 2100 { 2101 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0030', '\u0039'), pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.literal!("\u005f"), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Continue")(TParseTree("", false,[], s)); 2102 } 2103 else 2104 { 2105 memo = null; 2106 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('\u0030', '\u0039'), pegged.peg.charRange!('\u0041', '\u005a'), pegged.peg.literal!("\u005f"), pegged.peg.charRange!('\u0061', '\u007a'), pegged.peg.literal!("\u00aa"), pegged.peg.literal!("\u00b5"), pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u00ba"), pegged.peg.charRange!('\u00c0', '\u00d6'), pegged.peg.charRange!('\u00d8', '\u00f6')), "ES6.ID_Continue"), "ID_Continue")(TParseTree("", false,[], s)); 2107 } 2108 } 2109 static string ID_Continue(GetName g) 2110 { 2111 return "ES6.ID_Continue"; 2112 } 2113 2114 static TParseTree Other_ID_Continue(TParseTree p) 2115 { 2116 if(__ctfe) 2117 { 2118 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u0387"), pegged.peg.charRange!('\u1369', '\u1371'), pegged.peg.literal!("\u19da")), "ES6.Other_ID_Continue")(p); 2119 } 2120 else 2121 { 2122 if(auto m = tuple(`Other_ID_Continue`,p.end) in memo) 2123 return *m; 2124 else 2125 { 2126 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u0387"), pegged.peg.charRange!('\u1369', '\u1371'), pegged.peg.literal!("\u19da")), "ES6.Other_ID_Continue"), "Other_ID_Continue")(p); 2127 memo[tuple(`Other_ID_Continue`,p.end)] = result; 2128 return result; 2129 } 2130 } 2131 } 2132 2133 static TParseTree Other_ID_Continue(string s) 2134 { 2135 if(__ctfe) 2136 { 2137 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u0387"), pegged.peg.charRange!('\u1369', '\u1371'), pegged.peg.literal!("\u19da")), "ES6.Other_ID_Continue")(TParseTree("", false,[], s)); 2138 } 2139 else 2140 { 2141 memo = null; 2142 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("\u00b7"), pegged.peg.literal!("\u0387"), pegged.peg.charRange!('\u1369', '\u1371'), pegged.peg.literal!("\u19da")), "ES6.Other_ID_Continue"), "Other_ID_Continue")(TParseTree("", false,[], s)); 2143 } 2144 } 2145 static string Other_ID_Continue(GetName g) 2146 { 2147 return "ES6.Other_ID_Continue"; 2148 } 2149 2150 static TParseTree ReservedWord(TParseTree p) 2151 { 2152 if(__ctfe) 2153 { 2154 return pegged.peg.defined!(pegged.peg.or!(Keyword, FutureReservedWord, NullLiteral, BooleanLiteral), "ES6.ReservedWord")(p); 2155 } 2156 else 2157 { 2158 if(auto m = tuple(`ReservedWord`,p.end) in memo) 2159 return *m; 2160 else 2161 { 2162 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(Keyword, FutureReservedWord, NullLiteral, BooleanLiteral), "ES6.ReservedWord"), "ReservedWord")(p); 2163 memo[tuple(`ReservedWord`,p.end)] = result; 2164 return result; 2165 } 2166 } 2167 } 2168 2169 static TParseTree ReservedWord(string s) 2170 { 2171 if(__ctfe) 2172 { 2173 return pegged.peg.defined!(pegged.peg.or!(Keyword, FutureReservedWord, NullLiteral, BooleanLiteral), "ES6.ReservedWord")(TParseTree("", false,[], s)); 2174 } 2175 else 2176 { 2177 memo = null; 2178 return hooked!(pegged.peg.defined!(pegged.peg.or!(Keyword, FutureReservedWord, NullLiteral, BooleanLiteral), "ES6.ReservedWord"), "ReservedWord")(TParseTree("", false,[], s)); 2179 } 2180 } 2181 static string ReservedWord(GetName g) 2182 { 2183 return "ES6.ReservedWord"; 2184 } 2185 2186 static TParseTree Keyword(TParseTree p) 2187 { 2188 if(__ctfe) 2189 { 2190 return pegged.peg.defined!(pegged.peg.keywords!("break", "do", "in", "typeof", "case", "else", "instanceof", "var", "catch", "export", "new", "void", "class", "extends", "return", "while", "const", "finally", "super", "with", "continue", "for", "switch", "yield", "debugger", "function", "this", "default", "if", "throw", "delete", "import", "try"), "ES6.Keyword")(p); 2191 } 2192 else 2193 { 2194 if(auto m = tuple(`Keyword`,p.end) in memo) 2195 return *m; 2196 else 2197 { 2198 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("break", "do", "in", "typeof", "case", "else", "instanceof", "var", "catch", "export", "new", "void", "class", "extends", "return", "while", "const", "finally", "super", "with", "continue", "for", "switch", "yield", "debugger", "function", "this", "default", "if", "throw", "delete", "import", "try"), "ES6.Keyword"), "Keyword")(p); 2199 memo[tuple(`Keyword`,p.end)] = result; 2200 return result; 2201 } 2202 } 2203 } 2204 2205 static TParseTree Keyword(string s) 2206 { 2207 if(__ctfe) 2208 { 2209 return pegged.peg.defined!(pegged.peg.keywords!("break", "do", "in", "typeof", "case", "else", "instanceof", "var", "catch", "export", "new", "void", "class", "extends", "return", "while", "const", "finally", "super", "with", "continue", "for", "switch", "yield", "debugger", "function", "this", "default", "if", "throw", "delete", "import", "try"), "ES6.Keyword")(TParseTree("", false,[], s)); 2210 } 2211 else 2212 { 2213 memo = null; 2214 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("break", "do", "in", "typeof", "case", "else", "instanceof", "var", "catch", "export", "new", "void", "class", "extends", "return", "while", "const", "finally", "super", "with", "continue", "for", "switch", "yield", "debugger", "function", "this", "default", "if", "throw", "delete", "import", "try"), "ES6.Keyword"), "Keyword")(TParseTree("", false,[], s)); 2215 } 2216 } 2217 static string Keyword(GetName g) 2218 { 2219 return "ES6.Keyword"; 2220 } 2221 2222 static TParseTree FutureReservedWord(TParseTree p) 2223 { 2224 if(__ctfe) 2225 { 2226 return pegged.peg.defined!(pegged.peg.keywords!("enum", "await"), "ES6.FutureReservedWord")(p); 2227 } 2228 else 2229 { 2230 if(auto m = tuple(`FutureReservedWord`,p.end) in memo) 2231 return *m; 2232 else 2233 { 2234 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("enum", "await"), "ES6.FutureReservedWord"), "FutureReservedWord")(p); 2235 memo[tuple(`FutureReservedWord`,p.end)] = result; 2236 return result; 2237 } 2238 } 2239 } 2240 2241 static TParseTree FutureReservedWord(string s) 2242 { 2243 if(__ctfe) 2244 { 2245 return pegged.peg.defined!(pegged.peg.keywords!("enum", "await"), "ES6.FutureReservedWord")(TParseTree("", false,[], s)); 2246 } 2247 else 2248 { 2249 memo = null; 2250 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("enum", "await"), "ES6.FutureReservedWord"), "FutureReservedWord")(TParseTree("", false,[], s)); 2251 } 2252 } 2253 static string FutureReservedWord(GetName g) 2254 { 2255 return "ES6.FutureReservedWord"; 2256 } 2257 2258 static TParseTree Punctuator(TParseTree p) 2259 { 2260 if(__ctfe) 2261 { 2262 return pegged.peg.defined!(pegged.peg.keywords!("{", "}", "(", ")", "[", "]", ".", ";", ",", "<=", ">=", "<", ">", "===", "!==", "==", "!=", "++", "--", "*=", "*", "%=", "%", "+=", "+", "-=", "-", "<<=", "<<", ">>>=", ">>>", ">>=", ">>", "&&", "||", "^=", "^", "!", "~", "&=", "&", "|=", "|", "?", ":", "=>", "="), "ES6.Punctuator")(p); 2263 } 2264 else 2265 { 2266 if(auto m = tuple(`Punctuator`,p.end) in memo) 2267 return *m; 2268 else 2269 { 2270 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("{", "}", "(", ")", "[", "]", ".", ";", ",", "<=", ">=", "<", ">", "===", "!==", "==", "!=", "++", "--", "*=", "*", "%=", "%", "+=", "+", "-=", "-", "<<=", "<<", ">>>=", ">>>", ">>=", ">>", "&&", "||", "^=", "^", "!", "~", "&=", "&", "|=", "|", "?", ":", "=>", "="), "ES6.Punctuator"), "Punctuator")(p); 2271 memo[tuple(`Punctuator`,p.end)] = result; 2272 return result; 2273 } 2274 } 2275 } 2276 2277 static TParseTree Punctuator(string s) 2278 { 2279 if(__ctfe) 2280 { 2281 return pegged.peg.defined!(pegged.peg.keywords!("{", "}", "(", ")", "[", "]", ".", ";", ",", "<=", ">=", "<", ">", "===", "!==", "==", "!=", "++", "--", "*=", "*", "%=", "%", "+=", "+", "-=", "-", "<<=", "<<", ">>>=", ">>>", ">>=", ">>", "&&", "||", "^=", "^", "!", "~", "&=", "&", "|=", "|", "?", ":", "=>", "="), "ES6.Punctuator")(TParseTree("", false,[], s)); 2282 } 2283 else 2284 { 2285 memo = null; 2286 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("{", "}", "(", ")", "[", "]", ".", ";", ",", "<=", ">=", "<", ">", "===", "!==", "==", "!=", "++", "--", "*=", "*", "%=", "%", "+=", "+", "-=", "-", "<<=", "<<", ">>>=", ">>>", ">>=", ">>", "&&", "||", "^=", "^", "!", "~", "&=", "&", "|=", "|", "?", ":", "=>", "="), "ES6.Punctuator"), "Punctuator")(TParseTree("", false,[], s)); 2287 } 2288 } 2289 static string Punctuator(GetName g) 2290 { 2291 return "ES6.Punctuator"; 2292 } 2293 2294 static TParseTree DivPunctuator(TParseTree p) 2295 { 2296 if(__ctfe) 2297 { 2298 return pegged.peg.defined!(pegged.peg.keywords!("/=", "/"), "ES6.DivPunctuator")(p); 2299 } 2300 else 2301 { 2302 if(auto m = tuple(`DivPunctuator`,p.end) in memo) 2303 return *m; 2304 else 2305 { 2306 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("/=", "/"), "ES6.DivPunctuator"), "DivPunctuator")(p); 2307 memo[tuple(`DivPunctuator`,p.end)] = result; 2308 return result; 2309 } 2310 } 2311 } 2312 2313 static TParseTree DivPunctuator(string s) 2314 { 2315 if(__ctfe) 2316 { 2317 return pegged.peg.defined!(pegged.peg.keywords!("/=", "/"), "ES6.DivPunctuator")(TParseTree("", false,[], s)); 2318 } 2319 else 2320 { 2321 memo = null; 2322 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("/=", "/"), "ES6.DivPunctuator"), "DivPunctuator")(TParseTree("", false,[], s)); 2323 } 2324 } 2325 static string DivPunctuator(GetName g) 2326 { 2327 return "ES6.DivPunctuator"; 2328 } 2329 2330 static TParseTree RightBracePunctuator(TParseTree p) 2331 { 2332 if(__ctfe) 2333 { 2334 return pegged.peg.defined!(pegged.peg.literal!("}"), "ES6.RightBracePunctuator")(p); 2335 } 2336 else 2337 { 2338 if(auto m = tuple(`RightBracePunctuator`,p.end) in memo) 2339 return *m; 2340 else 2341 { 2342 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.literal!("}"), "ES6.RightBracePunctuator"), "RightBracePunctuator")(p); 2343 memo[tuple(`RightBracePunctuator`,p.end)] = result; 2344 return result; 2345 } 2346 } 2347 } 2348 2349 static TParseTree RightBracePunctuator(string s) 2350 { 2351 if(__ctfe) 2352 { 2353 return pegged.peg.defined!(pegged.peg.literal!("}"), "ES6.RightBracePunctuator")(TParseTree("", false,[], s)); 2354 } 2355 else 2356 { 2357 memo = null; 2358 return hooked!(pegged.peg.defined!(pegged.peg.literal!("}"), "ES6.RightBracePunctuator"), "RightBracePunctuator")(TParseTree("", false,[], s)); 2359 } 2360 } 2361 static string RightBracePunctuator(GetName g) 2362 { 2363 return "ES6.RightBracePunctuator"; 2364 } 2365 2366 static TParseTree NullLiteral(TParseTree p) 2367 { 2368 if(__ctfe) 2369 { 2370 return pegged.peg.defined!(pegged.peg.literal!("null"), "ES6.NullLiteral")(p); 2371 } 2372 else 2373 { 2374 if(auto m = tuple(`NullLiteral`,p.end) in memo) 2375 return *m; 2376 else 2377 { 2378 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.literal!("null"), "ES6.NullLiteral"), "NullLiteral")(p); 2379 memo[tuple(`NullLiteral`,p.end)] = result; 2380 return result; 2381 } 2382 } 2383 } 2384 2385 static TParseTree NullLiteral(string s) 2386 { 2387 if(__ctfe) 2388 { 2389 return pegged.peg.defined!(pegged.peg.literal!("null"), "ES6.NullLiteral")(TParseTree("", false,[], s)); 2390 } 2391 else 2392 { 2393 memo = null; 2394 return hooked!(pegged.peg.defined!(pegged.peg.literal!("null"), "ES6.NullLiteral"), "NullLiteral")(TParseTree("", false,[], s)); 2395 } 2396 } 2397 static string NullLiteral(GetName g) 2398 { 2399 return "ES6.NullLiteral"; 2400 } 2401 2402 static TParseTree BooleanLiteral(TParseTree p) 2403 { 2404 if(__ctfe) 2405 { 2406 return pegged.peg.defined!(pegged.peg.keywords!("true", "false"), "ES6.BooleanLiteral")(p); 2407 } 2408 else 2409 { 2410 if(auto m = tuple(`BooleanLiteral`,p.end) in memo) 2411 return *m; 2412 else 2413 { 2414 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("true", "false"), "ES6.BooleanLiteral"), "BooleanLiteral")(p); 2415 memo[tuple(`BooleanLiteral`,p.end)] = result; 2416 return result; 2417 } 2418 } 2419 } 2420 2421 static TParseTree BooleanLiteral(string s) 2422 { 2423 if(__ctfe) 2424 { 2425 return pegged.peg.defined!(pegged.peg.keywords!("true", "false"), "ES6.BooleanLiteral")(TParseTree("", false,[], s)); 2426 } 2427 else 2428 { 2429 memo = null; 2430 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("true", "false"), "ES6.BooleanLiteral"), "BooleanLiteral")(TParseTree("", false,[], s)); 2431 } 2432 } 2433 static string BooleanLiteral(GetName g) 2434 { 2435 return "ES6.BooleanLiteral"; 2436 } 2437 2438 static TParseTree NumericLiteral(TParseTree p) 2439 { 2440 if(__ctfe) 2441 { 2442 return pegged.peg.defined!(pegged.peg.or!(HexIntegerLiteral, DecimalLiteral, BinaryIntegerLiteral, OctalIntegerLiteral), "ES6.NumericLiteral")(p); 2443 } 2444 else 2445 { 2446 if(auto m = tuple(`NumericLiteral`,p.end) in memo) 2447 return *m; 2448 else 2449 { 2450 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(HexIntegerLiteral, DecimalLiteral, BinaryIntegerLiteral, OctalIntegerLiteral), "ES6.NumericLiteral"), "NumericLiteral")(p); 2451 memo[tuple(`NumericLiteral`,p.end)] = result; 2452 return result; 2453 } 2454 } 2455 } 2456 2457 static TParseTree NumericLiteral(string s) 2458 { 2459 if(__ctfe) 2460 { 2461 return pegged.peg.defined!(pegged.peg.or!(HexIntegerLiteral, DecimalLiteral, BinaryIntegerLiteral, OctalIntegerLiteral), "ES6.NumericLiteral")(TParseTree("", false,[], s)); 2462 } 2463 else 2464 { 2465 memo = null; 2466 return hooked!(pegged.peg.defined!(pegged.peg.or!(HexIntegerLiteral, DecimalLiteral, BinaryIntegerLiteral, OctalIntegerLiteral), "ES6.NumericLiteral"), "NumericLiteral")(TParseTree("", false,[], s)); 2467 } 2468 } 2469 static string NumericLiteral(GetName g) 2470 { 2471 return "ES6.NumericLiteral"; 2472 } 2473 2474 static TParseTree DecimalLiteral(TParseTree p) 2475 { 2476 if(__ctfe) 2477 { 2478 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(DecimalIntegerLiteral, pegged.peg.option!(pegged.peg.and!(pegged.peg.literal!("."), pegged.peg.option!(DecimalDigits))), pegged.peg.option!(ExponentPart)), pegged.peg.and!(pegged.peg.literal!("."), DecimalDigits, pegged.peg.option!(ExponentPart)))), "ES6.DecimalLiteral")(p); 2479 } 2480 else 2481 { 2482 if(auto m = tuple(`DecimalLiteral`,p.end) in memo) 2483 return *m; 2484 else 2485 { 2486 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(DecimalIntegerLiteral, pegged.peg.option!(pegged.peg.and!(pegged.peg.literal!("."), pegged.peg.option!(DecimalDigits))), pegged.peg.option!(ExponentPart)), pegged.peg.and!(pegged.peg.literal!("."), DecimalDigits, pegged.peg.option!(ExponentPart)))), "ES6.DecimalLiteral"), "DecimalLiteral")(p); 2487 memo[tuple(`DecimalLiteral`,p.end)] = result; 2488 return result; 2489 } 2490 } 2491 } 2492 2493 static TParseTree DecimalLiteral(string s) 2494 { 2495 if(__ctfe) 2496 { 2497 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(DecimalIntegerLiteral, pegged.peg.option!(pegged.peg.and!(pegged.peg.literal!("."), pegged.peg.option!(DecimalDigits))), pegged.peg.option!(ExponentPart)), pegged.peg.and!(pegged.peg.literal!("."), DecimalDigits, pegged.peg.option!(ExponentPart)))), "ES6.DecimalLiteral")(TParseTree("", false,[], s)); 2498 } 2499 else 2500 { 2501 memo = null; 2502 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(DecimalIntegerLiteral, pegged.peg.option!(pegged.peg.and!(pegged.peg.literal!("."), pegged.peg.option!(DecimalDigits))), pegged.peg.option!(ExponentPart)), pegged.peg.and!(pegged.peg.literal!("."), DecimalDigits, pegged.peg.option!(ExponentPart)))), "ES6.DecimalLiteral"), "DecimalLiteral")(TParseTree("", false,[], s)); 2503 } 2504 } 2505 static string DecimalLiteral(GetName g) 2506 { 2507 return "ES6.DecimalLiteral"; 2508 } 2509 2510 static TParseTree DecimalIntegerLiteral(TParseTree p) 2511 { 2512 if(__ctfe) 2513 { 2514 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("0"), pegged.peg.and!(NonZeroDigit, pegged.peg.option!(DecimalDigits))), "ES6.DecimalIntegerLiteral")(p); 2515 } 2516 else 2517 { 2518 if(auto m = tuple(`DecimalIntegerLiteral`,p.end) in memo) 2519 return *m; 2520 else 2521 { 2522 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("0"), pegged.peg.and!(NonZeroDigit, pegged.peg.option!(DecimalDigits))), "ES6.DecimalIntegerLiteral"), "DecimalIntegerLiteral")(p); 2523 memo[tuple(`DecimalIntegerLiteral`,p.end)] = result; 2524 return result; 2525 } 2526 } 2527 } 2528 2529 static TParseTree DecimalIntegerLiteral(string s) 2530 { 2531 if(__ctfe) 2532 { 2533 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("0"), pegged.peg.and!(NonZeroDigit, pegged.peg.option!(DecimalDigits))), "ES6.DecimalIntegerLiteral")(TParseTree("", false,[], s)); 2534 } 2535 else 2536 { 2537 memo = null; 2538 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.literal!("0"), pegged.peg.and!(NonZeroDigit, pegged.peg.option!(DecimalDigits))), "ES6.DecimalIntegerLiteral"), "DecimalIntegerLiteral")(TParseTree("", false,[], s)); 2539 } 2540 } 2541 static string DecimalIntegerLiteral(GetName g) 2542 { 2543 return "ES6.DecimalIntegerLiteral"; 2544 } 2545 2546 static TParseTree DecimalDigits(TParseTree p) 2547 { 2548 if(__ctfe) 2549 { 2550 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(DecimalDigit)), "ES6.DecimalDigits")(p); 2551 } 2552 else 2553 { 2554 if(auto m = tuple(`DecimalDigits`,p.end) in memo) 2555 return *m; 2556 else 2557 { 2558 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(DecimalDigit)), "ES6.DecimalDigits"), "DecimalDigits")(p); 2559 memo[tuple(`DecimalDigits`,p.end)] = result; 2560 return result; 2561 } 2562 } 2563 } 2564 2565 static TParseTree DecimalDigits(string s) 2566 { 2567 if(__ctfe) 2568 { 2569 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(DecimalDigit)), "ES6.DecimalDigits")(TParseTree("", false,[], s)); 2570 } 2571 else 2572 { 2573 memo = null; 2574 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(DecimalDigit)), "ES6.DecimalDigits"), "DecimalDigits")(TParseTree("", false,[], s)); 2575 } 2576 } 2577 static string DecimalDigits(GetName g) 2578 { 2579 return "ES6.DecimalDigits"; 2580 } 2581 2582 static TParseTree DecimalDigit(TParseTree p) 2583 { 2584 if(__ctfe) 2585 { 2586 return pegged.peg.defined!(pegged.peg.charRange!('0', '9'), "ES6.DecimalDigit")(p); 2587 } 2588 else 2589 { 2590 if(auto m = tuple(`DecimalDigit`,p.end) in memo) 2591 return *m; 2592 else 2593 { 2594 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.charRange!('0', '9'), "ES6.DecimalDigit"), "DecimalDigit")(p); 2595 memo[tuple(`DecimalDigit`,p.end)] = result; 2596 return result; 2597 } 2598 } 2599 } 2600 2601 static TParseTree DecimalDigit(string s) 2602 { 2603 if(__ctfe) 2604 { 2605 return pegged.peg.defined!(pegged.peg.charRange!('0', '9'), "ES6.DecimalDigit")(TParseTree("", false,[], s)); 2606 } 2607 else 2608 { 2609 memo = null; 2610 return hooked!(pegged.peg.defined!(pegged.peg.charRange!('0', '9'), "ES6.DecimalDigit"), "DecimalDigit")(TParseTree("", false,[], s)); 2611 } 2612 } 2613 static string DecimalDigit(GetName g) 2614 { 2615 return "ES6.DecimalDigit"; 2616 } 2617 2618 static TParseTree NonZeroDigit(TParseTree p) 2619 { 2620 if(__ctfe) 2621 { 2622 return pegged.peg.defined!(pegged.peg.charRange!('1', '9'), "ES6.NonZeroDigit")(p); 2623 } 2624 else 2625 { 2626 if(auto m = tuple(`NonZeroDigit`,p.end) in memo) 2627 return *m; 2628 else 2629 { 2630 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.charRange!('1', '9'), "ES6.NonZeroDigit"), "NonZeroDigit")(p); 2631 memo[tuple(`NonZeroDigit`,p.end)] = result; 2632 return result; 2633 } 2634 } 2635 } 2636 2637 static TParseTree NonZeroDigit(string s) 2638 { 2639 if(__ctfe) 2640 { 2641 return pegged.peg.defined!(pegged.peg.charRange!('1', '9'), "ES6.NonZeroDigit")(TParseTree("", false,[], s)); 2642 } 2643 else 2644 { 2645 memo = null; 2646 return hooked!(pegged.peg.defined!(pegged.peg.charRange!('1', '9'), "ES6.NonZeroDigit"), "NonZeroDigit")(TParseTree("", false,[], s)); 2647 } 2648 } 2649 static string NonZeroDigit(GetName g) 2650 { 2651 return "ES6.NonZeroDigit"; 2652 } 2653 2654 static TParseTree ExponentPart(TParseTree p) 2655 { 2656 if(__ctfe) 2657 { 2658 return pegged.peg.defined!(pegged.peg.and!(ExponentIndicator, SignedInteger), "ES6.ExponentPart")(p); 2659 } 2660 else 2661 { 2662 if(auto m = tuple(`ExponentPart`,p.end) in memo) 2663 return *m; 2664 else 2665 { 2666 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(ExponentIndicator, SignedInteger), "ES6.ExponentPart"), "ExponentPart")(p); 2667 memo[tuple(`ExponentPart`,p.end)] = result; 2668 return result; 2669 } 2670 } 2671 } 2672 2673 static TParseTree ExponentPart(string s) 2674 { 2675 if(__ctfe) 2676 { 2677 return pegged.peg.defined!(pegged.peg.and!(ExponentIndicator, SignedInteger), "ES6.ExponentPart")(TParseTree("", false,[], s)); 2678 } 2679 else 2680 { 2681 memo = null; 2682 return hooked!(pegged.peg.defined!(pegged.peg.and!(ExponentIndicator, SignedInteger), "ES6.ExponentPart"), "ExponentPart")(TParseTree("", false,[], s)); 2683 } 2684 } 2685 static string ExponentPart(GetName g) 2686 { 2687 return "ES6.ExponentPart"; 2688 } 2689 2690 static TParseTree ExponentIndicator(TParseTree p) 2691 { 2692 if(__ctfe) 2693 { 2694 return pegged.peg.defined!(pegged.peg.keywords!("e", "E"), "ES6.ExponentIndicator")(p); 2695 } 2696 else 2697 { 2698 if(auto m = tuple(`ExponentIndicator`,p.end) in memo) 2699 return *m; 2700 else 2701 { 2702 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("e", "E"), "ES6.ExponentIndicator"), "ExponentIndicator")(p); 2703 memo[tuple(`ExponentIndicator`,p.end)] = result; 2704 return result; 2705 } 2706 } 2707 } 2708 2709 static TParseTree ExponentIndicator(string s) 2710 { 2711 if(__ctfe) 2712 { 2713 return pegged.peg.defined!(pegged.peg.keywords!("e", "E"), "ES6.ExponentIndicator")(TParseTree("", false,[], s)); 2714 } 2715 else 2716 { 2717 memo = null; 2718 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("e", "E"), "ES6.ExponentIndicator"), "ExponentIndicator")(TParseTree("", false,[], s)); 2719 } 2720 } 2721 static string ExponentIndicator(GetName g) 2722 { 2723 return "ES6.ExponentIndicator"; 2724 } 2725 2726 static TParseTree SignedInteger(TParseTree p) 2727 { 2728 if(__ctfe) 2729 { 2730 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.keywords!("+", "-")), DecimalDigits), "ES6.SignedInteger")(p); 2731 } 2732 else 2733 { 2734 if(auto m = tuple(`SignedInteger`,p.end) in memo) 2735 return *m; 2736 else 2737 { 2738 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.keywords!("+", "-")), DecimalDigits), "ES6.SignedInteger"), "SignedInteger")(p); 2739 memo[tuple(`SignedInteger`,p.end)] = result; 2740 return result; 2741 } 2742 } 2743 } 2744 2745 static TParseTree SignedInteger(string s) 2746 { 2747 if(__ctfe) 2748 { 2749 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.keywords!("+", "-")), DecimalDigits), "ES6.SignedInteger")(TParseTree("", false,[], s)); 2750 } 2751 else 2752 { 2753 memo = null; 2754 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.keywords!("+", "-")), DecimalDigits), "ES6.SignedInteger"), "SignedInteger")(TParseTree("", false,[], s)); 2755 } 2756 } 2757 static string SignedInteger(GetName g) 2758 { 2759 return "ES6.SignedInteger"; 2760 } 2761 2762 static TParseTree BinaryIntegerLiteral(TParseTree p) 2763 { 2764 if(__ctfe) 2765 { 2766 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0b", "0B"), BinaryDigits)), "ES6.BinaryIntegerLiteral")(p); 2767 } 2768 else 2769 { 2770 if(auto m = tuple(`BinaryIntegerLiteral`,p.end) in memo) 2771 return *m; 2772 else 2773 { 2774 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0b", "0B"), BinaryDigits)), "ES6.BinaryIntegerLiteral"), "BinaryIntegerLiteral")(p); 2775 memo[tuple(`BinaryIntegerLiteral`,p.end)] = result; 2776 return result; 2777 } 2778 } 2779 } 2780 2781 static TParseTree BinaryIntegerLiteral(string s) 2782 { 2783 if(__ctfe) 2784 { 2785 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0b", "0B"), BinaryDigits)), "ES6.BinaryIntegerLiteral")(TParseTree("", false,[], s)); 2786 } 2787 else 2788 { 2789 memo = null; 2790 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0b", "0B"), BinaryDigits)), "ES6.BinaryIntegerLiteral"), "BinaryIntegerLiteral")(TParseTree("", false,[], s)); 2791 } 2792 } 2793 static string BinaryIntegerLiteral(GetName g) 2794 { 2795 return "ES6.BinaryIntegerLiteral"; 2796 } 2797 2798 static TParseTree BinaryDigits(TParseTree p) 2799 { 2800 if(__ctfe) 2801 { 2802 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(BinaryDigit)), "ES6.BinaryDigits")(p); 2803 } 2804 else 2805 { 2806 if(auto m = tuple(`BinaryDigits`,p.end) in memo) 2807 return *m; 2808 else 2809 { 2810 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(BinaryDigit)), "ES6.BinaryDigits"), "BinaryDigits")(p); 2811 memo[tuple(`BinaryDigits`,p.end)] = result; 2812 return result; 2813 } 2814 } 2815 } 2816 2817 static TParseTree BinaryDigits(string s) 2818 { 2819 if(__ctfe) 2820 { 2821 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(BinaryDigit)), "ES6.BinaryDigits")(TParseTree("", false,[], s)); 2822 } 2823 else 2824 { 2825 memo = null; 2826 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(BinaryDigit)), "ES6.BinaryDigits"), "BinaryDigits")(TParseTree("", false,[], s)); 2827 } 2828 } 2829 static string BinaryDigits(GetName g) 2830 { 2831 return "ES6.BinaryDigits"; 2832 } 2833 2834 static TParseTree BinaryDigit(TParseTree p) 2835 { 2836 if(__ctfe) 2837 { 2838 return pegged.peg.defined!(pegged.peg.keywords!("0", "1"), "ES6.BinaryDigit")(p); 2839 } 2840 else 2841 { 2842 if(auto m = tuple(`BinaryDigit`,p.end) in memo) 2843 return *m; 2844 else 2845 { 2846 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("0", "1"), "ES6.BinaryDigit"), "BinaryDigit")(p); 2847 memo[tuple(`BinaryDigit`,p.end)] = result; 2848 return result; 2849 } 2850 } 2851 } 2852 2853 static TParseTree BinaryDigit(string s) 2854 { 2855 if(__ctfe) 2856 { 2857 return pegged.peg.defined!(pegged.peg.keywords!("0", "1"), "ES6.BinaryDigit")(TParseTree("", false,[], s)); 2858 } 2859 else 2860 { 2861 memo = null; 2862 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("0", "1"), "ES6.BinaryDigit"), "BinaryDigit")(TParseTree("", false,[], s)); 2863 } 2864 } 2865 static string BinaryDigit(GetName g) 2866 { 2867 return "ES6.BinaryDigit"; 2868 } 2869 2870 static TParseTree OctalIntegerLiteral(TParseTree p) 2871 { 2872 if(__ctfe) 2873 { 2874 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0o", "0O"), OctalDigits)), "ES6.OctalIntegerLiteral")(p); 2875 } 2876 else 2877 { 2878 if(auto m = tuple(`OctalIntegerLiteral`,p.end) in memo) 2879 return *m; 2880 else 2881 { 2882 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0o", "0O"), OctalDigits)), "ES6.OctalIntegerLiteral"), "OctalIntegerLiteral")(p); 2883 memo[tuple(`OctalIntegerLiteral`,p.end)] = result; 2884 return result; 2885 } 2886 } 2887 } 2888 2889 static TParseTree OctalIntegerLiteral(string s) 2890 { 2891 if(__ctfe) 2892 { 2893 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0o", "0O"), OctalDigits)), "ES6.OctalIntegerLiteral")(TParseTree("", false,[], s)); 2894 } 2895 else 2896 { 2897 memo = null; 2898 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0o", "0O"), OctalDigits)), "ES6.OctalIntegerLiteral"), "OctalIntegerLiteral")(TParseTree("", false,[], s)); 2899 } 2900 } 2901 static string OctalIntegerLiteral(GetName g) 2902 { 2903 return "ES6.OctalIntegerLiteral"; 2904 } 2905 2906 static TParseTree OctalDigits(TParseTree p) 2907 { 2908 if(__ctfe) 2909 { 2910 return pegged.peg.defined!(pegged.peg.oneOrMore!(OctalDigit), "ES6.OctalDigits")(p); 2911 } 2912 else 2913 { 2914 if(auto m = tuple(`OctalDigits`,p.end) in memo) 2915 return *m; 2916 else 2917 { 2918 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(OctalDigit), "ES6.OctalDigits"), "OctalDigits")(p); 2919 memo[tuple(`OctalDigits`,p.end)] = result; 2920 return result; 2921 } 2922 } 2923 } 2924 2925 static TParseTree OctalDigits(string s) 2926 { 2927 if(__ctfe) 2928 { 2929 return pegged.peg.defined!(pegged.peg.oneOrMore!(OctalDigit), "ES6.OctalDigits")(TParseTree("", false,[], s)); 2930 } 2931 else 2932 { 2933 memo = null; 2934 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(OctalDigit), "ES6.OctalDigits"), "OctalDigits")(TParseTree("", false,[], s)); 2935 } 2936 } 2937 static string OctalDigits(GetName g) 2938 { 2939 return "ES6.OctalDigits"; 2940 } 2941 2942 static TParseTree OctalDigit(TParseTree p) 2943 { 2944 if(__ctfe) 2945 { 2946 return pegged.peg.defined!(pegged.peg.charRange!('0', '7'), "ES6.OctalDigit")(p); 2947 } 2948 else 2949 { 2950 if(auto m = tuple(`OctalDigit`,p.end) in memo) 2951 return *m; 2952 else 2953 { 2954 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.charRange!('0', '7'), "ES6.OctalDigit"), "OctalDigit")(p); 2955 memo[tuple(`OctalDigit`,p.end)] = result; 2956 return result; 2957 } 2958 } 2959 } 2960 2961 static TParseTree OctalDigit(string s) 2962 { 2963 if(__ctfe) 2964 { 2965 return pegged.peg.defined!(pegged.peg.charRange!('0', '7'), "ES6.OctalDigit")(TParseTree("", false,[], s)); 2966 } 2967 else 2968 { 2969 memo = null; 2970 return hooked!(pegged.peg.defined!(pegged.peg.charRange!('0', '7'), "ES6.OctalDigit"), "OctalDigit")(TParseTree("", false,[], s)); 2971 } 2972 } 2973 static string OctalDigit(GetName g) 2974 { 2975 return "ES6.OctalDigit"; 2976 } 2977 2978 static TParseTree HexIntegerLiteral(TParseTree p) 2979 { 2980 if(__ctfe) 2981 { 2982 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0x", "0X"), HexDigits)), "ES6.HexIntegerLiteral")(p); 2983 } 2984 else 2985 { 2986 if(auto m = tuple(`HexIntegerLiteral`,p.end) in memo) 2987 return *m; 2988 else 2989 { 2990 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0x", "0X"), HexDigits)), "ES6.HexIntegerLiteral"), "HexIntegerLiteral")(p); 2991 memo[tuple(`HexIntegerLiteral`,p.end)] = result; 2992 return result; 2993 } 2994 } 2995 } 2996 2997 static TParseTree HexIntegerLiteral(string s) 2998 { 2999 if(__ctfe) 3000 { 3001 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0x", "0X"), HexDigits)), "ES6.HexIntegerLiteral")(TParseTree("", false,[], s)); 3002 } 3003 else 3004 { 3005 memo = null; 3006 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.keywords!("0x", "0X"), HexDigits)), "ES6.HexIntegerLiteral"), "HexIntegerLiteral")(TParseTree("", false,[], s)); 3007 } 3008 } 3009 static string HexIntegerLiteral(GetName g) 3010 { 3011 return "ES6.HexIntegerLiteral"; 3012 } 3013 3014 static TParseTree HexDigits(TParseTree p) 3015 { 3016 if(__ctfe) 3017 { 3018 return pegged.peg.defined!(pegged.peg.oneOrMore!(HexDigit), "ES6.HexDigits")(p); 3019 } 3020 else 3021 { 3022 if(auto m = tuple(`HexDigits`,p.end) in memo) 3023 return *m; 3024 else 3025 { 3026 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(HexDigit), "ES6.HexDigits"), "HexDigits")(p); 3027 memo[tuple(`HexDigits`,p.end)] = result; 3028 return result; 3029 } 3030 } 3031 } 3032 3033 static TParseTree HexDigits(string s) 3034 { 3035 if(__ctfe) 3036 { 3037 return pegged.peg.defined!(pegged.peg.oneOrMore!(HexDigit), "ES6.HexDigits")(TParseTree("", false,[], s)); 3038 } 3039 else 3040 { 3041 memo = null; 3042 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(HexDigit), "ES6.HexDigits"), "HexDigits")(TParseTree("", false,[], s)); 3043 } 3044 } 3045 static string HexDigits(GetName g) 3046 { 3047 return "ES6.HexDigits"; 3048 } 3049 3050 static TParseTree HexDigit(TParseTree p) 3051 { 3052 if(__ctfe) 3053 { 3054 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('0', '9'), pegged.peg.charRange!('a', 'f'), pegged.peg.charRange!('A', 'F')), "ES6.HexDigit")(p); 3055 } 3056 else 3057 { 3058 if(auto m = tuple(`HexDigit`,p.end) in memo) 3059 return *m; 3060 else 3061 { 3062 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('0', '9'), pegged.peg.charRange!('a', 'f'), pegged.peg.charRange!('A', 'F')), "ES6.HexDigit"), "HexDigit")(p); 3063 memo[tuple(`HexDigit`,p.end)] = result; 3064 return result; 3065 } 3066 } 3067 } 3068 3069 static TParseTree HexDigit(string s) 3070 { 3071 if(__ctfe) 3072 { 3073 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('0', '9'), pegged.peg.charRange!('a', 'f'), pegged.peg.charRange!('A', 'F')), "ES6.HexDigit")(TParseTree("", false,[], s)); 3074 } 3075 else 3076 { 3077 memo = null; 3078 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.charRange!('0', '9'), pegged.peg.charRange!('a', 'f'), pegged.peg.charRange!('A', 'F')), "ES6.HexDigit"), "HexDigit")(TParseTree("", false,[], s)); 3079 } 3080 } 3081 static string HexDigit(GetName g) 3082 { 3083 return "ES6.HexDigit"; 3084 } 3085 3086 static TParseTree StringLiteral(TParseTree p) 3087 { 3088 if(__ctfe) 3089 { 3090 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("\""), pegged.peg.option!(DoubleStringCharacters), pegged.peg.literal!("\"")), pegged.peg.and!(pegged.peg.literal!("'"), pegged.peg.option!(SingleStringCharacters), pegged.peg.literal!("'")))), "ES6.StringLiteral")(p); 3091 } 3092 else 3093 { 3094 if(auto m = tuple(`StringLiteral`,p.end) in memo) 3095 return *m; 3096 else 3097 { 3098 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("\""), pegged.peg.option!(DoubleStringCharacters), pegged.peg.literal!("\"")), pegged.peg.and!(pegged.peg.literal!("'"), pegged.peg.option!(SingleStringCharacters), pegged.peg.literal!("'")))), "ES6.StringLiteral"), "StringLiteral")(p); 3099 memo[tuple(`StringLiteral`,p.end)] = result; 3100 return result; 3101 } 3102 } 3103 } 3104 3105 static TParseTree StringLiteral(string s) 3106 { 3107 if(__ctfe) 3108 { 3109 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("\""), pegged.peg.option!(DoubleStringCharacters), pegged.peg.literal!("\"")), pegged.peg.and!(pegged.peg.literal!("'"), pegged.peg.option!(SingleStringCharacters), pegged.peg.literal!("'")))), "ES6.StringLiteral")(TParseTree("", false,[], s)); 3110 } 3111 else 3112 { 3113 memo = null; 3114 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("\""), pegged.peg.option!(DoubleStringCharacters), pegged.peg.literal!("\"")), pegged.peg.and!(pegged.peg.literal!("'"), pegged.peg.option!(SingleStringCharacters), pegged.peg.literal!("'")))), "ES6.StringLiteral"), "StringLiteral")(TParseTree("", false,[], s)); 3115 } 3116 } 3117 static string StringLiteral(GetName g) 3118 { 3119 return "ES6.StringLiteral"; 3120 } 3121 3122 static TParseTree DoubleStringCharacters(TParseTree p) 3123 { 3124 if(__ctfe) 3125 { 3126 return pegged.peg.defined!(pegged.peg.oneOrMore!(DoubleStringCharacter), "ES6.DoubleStringCharacters")(p); 3127 } 3128 else 3129 { 3130 if(auto m = tuple(`DoubleStringCharacters`,p.end) in memo) 3131 return *m; 3132 else 3133 { 3134 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(DoubleStringCharacter), "ES6.DoubleStringCharacters"), "DoubleStringCharacters")(p); 3135 memo[tuple(`DoubleStringCharacters`,p.end)] = result; 3136 return result; 3137 } 3138 } 3139 } 3140 3141 static TParseTree DoubleStringCharacters(string s) 3142 { 3143 if(__ctfe) 3144 { 3145 return pegged.peg.defined!(pegged.peg.oneOrMore!(DoubleStringCharacter), "ES6.DoubleStringCharacters")(TParseTree("", false,[], s)); 3146 } 3147 else 3148 { 3149 memo = null; 3150 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(DoubleStringCharacter), "ES6.DoubleStringCharacters"), "DoubleStringCharacters")(TParseTree("", false,[], s)); 3151 } 3152 } 3153 static string DoubleStringCharacters(GetName g) 3154 { 3155 return "ES6.DoubleStringCharacters"; 3156 } 3157 3158 static TParseTree SingleStringCharacters(TParseTree p) 3159 { 3160 if(__ctfe) 3161 { 3162 return pegged.peg.defined!(pegged.peg.oneOrMore!(SingleStringCharacter), "ES6.SingleStringCharacters")(p); 3163 } 3164 else 3165 { 3166 if(auto m = tuple(`SingleStringCharacters`,p.end) in memo) 3167 return *m; 3168 else 3169 { 3170 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(SingleStringCharacter), "ES6.SingleStringCharacters"), "SingleStringCharacters")(p); 3171 memo[tuple(`SingleStringCharacters`,p.end)] = result; 3172 return result; 3173 } 3174 } 3175 } 3176 3177 static TParseTree SingleStringCharacters(string s) 3178 { 3179 if(__ctfe) 3180 { 3181 return pegged.peg.defined!(pegged.peg.oneOrMore!(SingleStringCharacter), "ES6.SingleStringCharacters")(TParseTree("", false,[], s)); 3182 } 3183 else 3184 { 3185 memo = null; 3186 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(SingleStringCharacter), "ES6.SingleStringCharacters"), "SingleStringCharacters")(TParseTree("", false,[], s)); 3187 } 3188 } 3189 static string SingleStringCharacters(GetName g) 3190 { 3191 return "ES6.SingleStringCharacters"; 3192 } 3193 3194 static TParseTree DoubleStringCharacter(TParseTree p) 3195 { 3196 if(__ctfe) 3197 { 3198 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\""), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.DoubleStringCharacter")(p); 3199 } 3200 else 3201 { 3202 if(auto m = tuple(`DoubleStringCharacter`,p.end) in memo) 3203 return *m; 3204 else 3205 { 3206 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\""), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.DoubleStringCharacter"), "DoubleStringCharacter")(p); 3207 memo[tuple(`DoubleStringCharacter`,p.end)] = result; 3208 return result; 3209 } 3210 } 3211 } 3212 3213 static TParseTree DoubleStringCharacter(string s) 3214 { 3215 if(__ctfe) 3216 { 3217 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\""), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.DoubleStringCharacter")(TParseTree("", false,[], s)); 3218 } 3219 else 3220 { 3221 memo = null; 3222 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\""), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.DoubleStringCharacter"), "DoubleStringCharacter")(TParseTree("", false,[], s)); 3223 } 3224 } 3225 static string DoubleStringCharacter(GetName g) 3226 { 3227 return "ES6.DoubleStringCharacter"; 3228 } 3229 3230 static TParseTree SingleStringCharacter(TParseTree p) 3231 { 3232 if(__ctfe) 3233 { 3234 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\'"), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.SingleStringCharacter")(p); 3235 } 3236 else 3237 { 3238 if(auto m = tuple(`SingleStringCharacter`,p.end) in memo) 3239 return *m; 3240 else 3241 { 3242 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\'"), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.SingleStringCharacter"), "SingleStringCharacter")(p); 3243 memo[tuple(`SingleStringCharacter`,p.end)] = result; 3244 return result; 3245 } 3246 } 3247 } 3248 3249 static TParseTree SingleStringCharacter(string s) 3250 { 3251 if(__ctfe) 3252 { 3253 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\'"), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.SingleStringCharacter")(TParseTree("", false,[], s)); 3254 } 3255 else 3256 { 3257 memo = null; 3258 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\'"), pegged.peg.literal!("\\"), LineTerminator)), SourceCharacter), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation), "ES6.SingleStringCharacter"), "SingleStringCharacter")(TParseTree("", false,[], s)); 3259 } 3260 } 3261 static string SingleStringCharacter(GetName g) 3262 { 3263 return "ES6.SingleStringCharacter"; 3264 } 3265 3266 static TParseTree LineContinuation(TParseTree p) 3267 { 3268 if(__ctfe) 3269 { 3270 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), LineTerminatorSequence), "ES6.LineContinuation")(p); 3271 } 3272 else 3273 { 3274 if(auto m = tuple(`LineContinuation`,p.end) in memo) 3275 return *m; 3276 else 3277 { 3278 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), LineTerminatorSequence), "ES6.LineContinuation"), "LineContinuation")(p); 3279 memo[tuple(`LineContinuation`,p.end)] = result; 3280 return result; 3281 } 3282 } 3283 } 3284 3285 static TParseTree LineContinuation(string s) 3286 { 3287 if(__ctfe) 3288 { 3289 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), LineTerminatorSequence), "ES6.LineContinuation")(TParseTree("", false,[], s)); 3290 } 3291 else 3292 { 3293 memo = null; 3294 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), LineTerminatorSequence), "ES6.LineContinuation"), "LineContinuation")(TParseTree("", false,[], s)); 3295 } 3296 } 3297 static string LineContinuation(GetName g) 3298 { 3299 return "ES6.LineContinuation"; 3300 } 3301 3302 static TParseTree EscapeSequence(TParseTree p) 3303 { 3304 if(__ctfe) 3305 { 3306 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.or!(CharacterEscapeSequence, pegged.peg.and!(pegged.peg.literal!("0"), pegged.peg.negLookahead!(DecimalDigit))), HexEscapeSequence, UnicodeEscapeSequence), "ES6.EscapeSequence")(p); 3307 } 3308 else 3309 { 3310 if(auto m = tuple(`EscapeSequence`,p.end) in memo) 3311 return *m; 3312 else 3313 { 3314 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.or!(CharacterEscapeSequence, pegged.peg.and!(pegged.peg.literal!("0"), pegged.peg.negLookahead!(DecimalDigit))), HexEscapeSequence, UnicodeEscapeSequence), "ES6.EscapeSequence"), "EscapeSequence")(p); 3315 memo[tuple(`EscapeSequence`,p.end)] = result; 3316 return result; 3317 } 3318 } 3319 } 3320 3321 static TParseTree EscapeSequence(string s) 3322 { 3323 if(__ctfe) 3324 { 3325 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.or!(CharacterEscapeSequence, pegged.peg.and!(pegged.peg.literal!("0"), pegged.peg.negLookahead!(DecimalDigit))), HexEscapeSequence, UnicodeEscapeSequence), "ES6.EscapeSequence")(TParseTree("", false,[], s)); 3326 } 3327 else 3328 { 3329 memo = null; 3330 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.or!(CharacterEscapeSequence, pegged.peg.and!(pegged.peg.literal!("0"), pegged.peg.negLookahead!(DecimalDigit))), HexEscapeSequence, UnicodeEscapeSequence), "ES6.EscapeSequence"), "EscapeSequence")(TParseTree("", false,[], s)); 3331 } 3332 } 3333 static string EscapeSequence(GetName g) 3334 { 3335 return "ES6.EscapeSequence"; 3336 } 3337 3338 static TParseTree CharacterEscapeSequence(TParseTree p) 3339 { 3340 if(__ctfe) 3341 { 3342 return pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, NonEscapeCharacter), "ES6.CharacterEscapeSequence")(p); 3343 } 3344 else 3345 { 3346 if(auto m = tuple(`CharacterEscapeSequence`,p.end) in memo) 3347 return *m; 3348 else 3349 { 3350 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, NonEscapeCharacter), "ES6.CharacterEscapeSequence"), "CharacterEscapeSequence")(p); 3351 memo[tuple(`CharacterEscapeSequence`,p.end)] = result; 3352 return result; 3353 } 3354 } 3355 } 3356 3357 static TParseTree CharacterEscapeSequence(string s) 3358 { 3359 if(__ctfe) 3360 { 3361 return pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, NonEscapeCharacter), "ES6.CharacterEscapeSequence")(TParseTree("", false,[], s)); 3362 } 3363 else 3364 { 3365 memo = null; 3366 return hooked!(pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, NonEscapeCharacter), "ES6.CharacterEscapeSequence"), "CharacterEscapeSequence")(TParseTree("", false,[], s)); 3367 } 3368 } 3369 static string CharacterEscapeSequence(GetName g) 3370 { 3371 return "ES6.CharacterEscapeSequence"; 3372 } 3373 3374 static TParseTree SingleEscapeCharacter(TParseTree p) 3375 { 3376 if(__ctfe) 3377 { 3378 return pegged.peg.defined!(pegged.peg.keywords!("'", "\"", "\\", "b", "f", "n", "r", "t", "v"), "ES6.SingleEscapeCharacter")(p); 3379 } 3380 else 3381 { 3382 if(auto m = tuple(`SingleEscapeCharacter`,p.end) in memo) 3383 return *m; 3384 else 3385 { 3386 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("'", "\"", "\\", "b", "f", "n", "r", "t", "v"), "ES6.SingleEscapeCharacter"), "SingleEscapeCharacter")(p); 3387 memo[tuple(`SingleEscapeCharacter`,p.end)] = result; 3388 return result; 3389 } 3390 } 3391 } 3392 3393 static TParseTree SingleEscapeCharacter(string s) 3394 { 3395 if(__ctfe) 3396 { 3397 return pegged.peg.defined!(pegged.peg.keywords!("'", "\"", "\\", "b", "f", "n", "r", "t", "v"), "ES6.SingleEscapeCharacter")(TParseTree("", false,[], s)); 3398 } 3399 else 3400 { 3401 memo = null; 3402 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("'", "\"", "\\", "b", "f", "n", "r", "t", "v"), "ES6.SingleEscapeCharacter"), "SingleEscapeCharacter")(TParseTree("", false,[], s)); 3403 } 3404 } 3405 static string SingleEscapeCharacter(GetName g) 3406 { 3407 return "ES6.SingleEscapeCharacter"; 3408 } 3409 3410 static TParseTree NonEscapeCharacter(TParseTree p) 3411 { 3412 if(__ctfe) 3413 { 3414 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(EscapeCharacter, LineTerminator)), SourceCharacter), "ES6.NonEscapeCharacter")(p); 3415 } 3416 else 3417 { 3418 if(auto m = tuple(`NonEscapeCharacter`,p.end) in memo) 3419 return *m; 3420 else 3421 { 3422 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(EscapeCharacter, LineTerminator)), SourceCharacter), "ES6.NonEscapeCharacter"), "NonEscapeCharacter")(p); 3423 memo[tuple(`NonEscapeCharacter`,p.end)] = result; 3424 return result; 3425 } 3426 } 3427 } 3428 3429 static TParseTree NonEscapeCharacter(string s) 3430 { 3431 if(__ctfe) 3432 { 3433 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(EscapeCharacter, LineTerminator)), SourceCharacter), "ES6.NonEscapeCharacter")(TParseTree("", false,[], s)); 3434 } 3435 else 3436 { 3437 memo = null; 3438 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(EscapeCharacter, LineTerminator)), SourceCharacter), "ES6.NonEscapeCharacter"), "NonEscapeCharacter")(TParseTree("", false,[], s)); 3439 } 3440 } 3441 static string NonEscapeCharacter(GetName g) 3442 { 3443 return "ES6.NonEscapeCharacter"; 3444 } 3445 3446 static TParseTree EscapeCharacter(TParseTree p) 3447 { 3448 if(__ctfe) 3449 { 3450 return pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, DecimalDigit, pegged.peg.literal!("x"), pegged.peg.literal!("u")), "ES6.EscapeCharacter")(p); 3451 } 3452 else 3453 { 3454 if(auto m = tuple(`EscapeCharacter`,p.end) in memo) 3455 return *m; 3456 else 3457 { 3458 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, DecimalDigit, pegged.peg.literal!("x"), pegged.peg.literal!("u")), "ES6.EscapeCharacter"), "EscapeCharacter")(p); 3459 memo[tuple(`EscapeCharacter`,p.end)] = result; 3460 return result; 3461 } 3462 } 3463 } 3464 3465 static TParseTree EscapeCharacter(string s) 3466 { 3467 if(__ctfe) 3468 { 3469 return pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, DecimalDigit, pegged.peg.literal!("x"), pegged.peg.literal!("u")), "ES6.EscapeCharacter")(TParseTree("", false,[], s)); 3470 } 3471 else 3472 { 3473 memo = null; 3474 return hooked!(pegged.peg.defined!(pegged.peg.or!(SingleEscapeCharacter, DecimalDigit, pegged.peg.literal!("x"), pegged.peg.literal!("u")), "ES6.EscapeCharacter"), "EscapeCharacter")(TParseTree("", false,[], s)); 3475 } 3476 } 3477 static string EscapeCharacter(GetName g) 3478 { 3479 return "ES6.EscapeCharacter"; 3480 } 3481 3482 static TParseTree HexEscapeSequence(TParseTree p) 3483 { 3484 if(__ctfe) 3485 { 3486 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("x"), HexDigit, HexDigit), "ES6.HexEscapeSequence")(p); 3487 } 3488 else 3489 { 3490 if(auto m = tuple(`HexEscapeSequence`,p.end) in memo) 3491 return *m; 3492 else 3493 { 3494 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("x"), HexDigit, HexDigit), "ES6.HexEscapeSequence"), "HexEscapeSequence")(p); 3495 memo[tuple(`HexEscapeSequence`,p.end)] = result; 3496 return result; 3497 } 3498 } 3499 } 3500 3501 static TParseTree HexEscapeSequence(string s) 3502 { 3503 if(__ctfe) 3504 { 3505 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("x"), HexDigit, HexDigit), "ES6.HexEscapeSequence")(TParseTree("", false,[], s)); 3506 } 3507 else 3508 { 3509 memo = null; 3510 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("x"), HexDigit, HexDigit), "ES6.HexEscapeSequence"), "HexEscapeSequence")(TParseTree("", false,[], s)); 3511 } 3512 } 3513 static string HexEscapeSequence(GetName g) 3514 { 3515 return "ES6.HexEscapeSequence"; 3516 } 3517 3518 static TParseTree UnicodeEscapeSequence(TParseTree p) 3519 { 3520 if(__ctfe) 3521 { 3522 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("u"), Hex4Digits), pegged.peg.and!(pegged.peg.literal!("u{"), HexDigits, pegged.peg.literal!("}"))), "ES6.UnicodeEscapeSequence")(p); 3523 } 3524 else 3525 { 3526 if(auto m = tuple(`UnicodeEscapeSequence`,p.end) in memo) 3527 return *m; 3528 else 3529 { 3530 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("u"), Hex4Digits), pegged.peg.and!(pegged.peg.literal!("u{"), HexDigits, pegged.peg.literal!("}"))), "ES6.UnicodeEscapeSequence"), "UnicodeEscapeSequence")(p); 3531 memo[tuple(`UnicodeEscapeSequence`,p.end)] = result; 3532 return result; 3533 } 3534 } 3535 } 3536 3537 static TParseTree UnicodeEscapeSequence(string s) 3538 { 3539 if(__ctfe) 3540 { 3541 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("u"), Hex4Digits), pegged.peg.and!(pegged.peg.literal!("u{"), HexDigits, pegged.peg.literal!("}"))), "ES6.UnicodeEscapeSequence")(TParseTree("", false,[], s)); 3542 } 3543 else 3544 { 3545 memo = null; 3546 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("u"), Hex4Digits), pegged.peg.and!(pegged.peg.literal!("u{"), HexDigits, pegged.peg.literal!("}"))), "ES6.UnicodeEscapeSequence"), "UnicodeEscapeSequence")(TParseTree("", false,[], s)); 3547 } 3548 } 3549 static string UnicodeEscapeSequence(GetName g) 3550 { 3551 return "ES6.UnicodeEscapeSequence"; 3552 } 3553 3554 static TParseTree Hex4Digits(TParseTree p) 3555 { 3556 if(__ctfe) 3557 { 3558 return pegged.peg.defined!(pegged.peg.and!(HexDigit, HexDigit, HexDigit, HexDigit), "ES6.Hex4Digits")(p); 3559 } 3560 else 3561 { 3562 if(auto m = tuple(`Hex4Digits`,p.end) in memo) 3563 return *m; 3564 else 3565 { 3566 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(HexDigit, HexDigit, HexDigit, HexDigit), "ES6.Hex4Digits"), "Hex4Digits")(p); 3567 memo[tuple(`Hex4Digits`,p.end)] = result; 3568 return result; 3569 } 3570 } 3571 } 3572 3573 static TParseTree Hex4Digits(string s) 3574 { 3575 if(__ctfe) 3576 { 3577 return pegged.peg.defined!(pegged.peg.and!(HexDigit, HexDigit, HexDigit, HexDigit), "ES6.Hex4Digits")(TParseTree("", false,[], s)); 3578 } 3579 else 3580 { 3581 memo = null; 3582 return hooked!(pegged.peg.defined!(pegged.peg.and!(HexDigit, HexDigit, HexDigit, HexDigit), "ES6.Hex4Digits"), "Hex4Digits")(TParseTree("", false,[], s)); 3583 } 3584 } 3585 static string Hex4Digits(GetName g) 3586 { 3587 return "ES6.Hex4Digits"; 3588 } 3589 3590 static TParseTree RegularExpressionLiteral(TParseTree p) 3591 { 3592 if(__ctfe) 3593 { 3594 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("/"), RegularExpressionBody, pegged.peg.literal!("/"), RegularExpressionFlags), "ES6.RegularExpressionLiteral")(p); 3595 } 3596 else 3597 { 3598 if(auto m = tuple(`RegularExpressionLiteral`,p.end) in memo) 3599 return *m; 3600 else 3601 { 3602 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("/"), RegularExpressionBody, pegged.peg.literal!("/"), RegularExpressionFlags), "ES6.RegularExpressionLiteral"), "RegularExpressionLiteral")(p); 3603 memo[tuple(`RegularExpressionLiteral`,p.end)] = result; 3604 return result; 3605 } 3606 } 3607 } 3608 3609 static TParseTree RegularExpressionLiteral(string s) 3610 { 3611 if(__ctfe) 3612 { 3613 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("/"), RegularExpressionBody, pegged.peg.literal!("/"), RegularExpressionFlags), "ES6.RegularExpressionLiteral")(TParseTree("", false,[], s)); 3614 } 3615 else 3616 { 3617 memo = null; 3618 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("/"), RegularExpressionBody, pegged.peg.literal!("/"), RegularExpressionFlags), "ES6.RegularExpressionLiteral"), "RegularExpressionLiteral")(TParseTree("", false,[], s)); 3619 } 3620 } 3621 static string RegularExpressionLiteral(GetName g) 3622 { 3623 return "ES6.RegularExpressionLiteral"; 3624 } 3625 3626 static TParseTree RegularExpressionBody(TParseTree p) 3627 { 3628 if(__ctfe) 3629 { 3630 return pegged.peg.defined!(pegged.peg.and!(RegularExpressionFirstChar, RegularExpressionChars), "ES6.RegularExpressionBody")(p); 3631 } 3632 else 3633 { 3634 if(auto m = tuple(`RegularExpressionBody`,p.end) in memo) 3635 return *m; 3636 else 3637 { 3638 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(RegularExpressionFirstChar, RegularExpressionChars), "ES6.RegularExpressionBody"), "RegularExpressionBody")(p); 3639 memo[tuple(`RegularExpressionBody`,p.end)] = result; 3640 return result; 3641 } 3642 } 3643 } 3644 3645 static TParseTree RegularExpressionBody(string s) 3646 { 3647 if(__ctfe) 3648 { 3649 return pegged.peg.defined!(pegged.peg.and!(RegularExpressionFirstChar, RegularExpressionChars), "ES6.RegularExpressionBody")(TParseTree("", false,[], s)); 3650 } 3651 else 3652 { 3653 memo = null; 3654 return hooked!(pegged.peg.defined!(pegged.peg.and!(RegularExpressionFirstChar, RegularExpressionChars), "ES6.RegularExpressionBody"), "RegularExpressionBody")(TParseTree("", false,[], s)); 3655 } 3656 } 3657 static string RegularExpressionBody(GetName g) 3658 { 3659 return "ES6.RegularExpressionBody"; 3660 } 3661 3662 static TParseTree RegularExpressionChars(TParseTree p) 3663 { 3664 if(__ctfe) 3665 { 3666 return pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionChar), "ES6.RegularExpressionChars")(p); 3667 } 3668 else 3669 { 3670 if(auto m = tuple(`RegularExpressionChars`,p.end) in memo) 3671 return *m; 3672 else 3673 { 3674 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionChar), "ES6.RegularExpressionChars"), "RegularExpressionChars")(p); 3675 memo[tuple(`RegularExpressionChars`,p.end)] = result; 3676 return result; 3677 } 3678 } 3679 } 3680 3681 static TParseTree RegularExpressionChars(string s) 3682 { 3683 if(__ctfe) 3684 { 3685 return pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionChar), "ES6.RegularExpressionChars")(TParseTree("", false,[], s)); 3686 } 3687 else 3688 { 3689 memo = null; 3690 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionChar), "ES6.RegularExpressionChars"), "RegularExpressionChars")(TParseTree("", false,[], s)); 3691 } 3692 } 3693 static string RegularExpressionChars(GetName g) 3694 { 3695 return "ES6.RegularExpressionChars"; 3696 } 3697 3698 static TParseTree RegularExpressionFirstChar(TParseTree p) 3699 { 3700 if(__ctfe) 3701 { 3702 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("*", "\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionFirstChar")(p); 3703 } 3704 else 3705 { 3706 if(auto m = tuple(`RegularExpressionFirstChar`,p.end) in memo) 3707 return *m; 3708 else 3709 { 3710 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("*", "\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionFirstChar"), "RegularExpressionFirstChar")(p); 3711 memo[tuple(`RegularExpressionFirstChar`,p.end)] = result; 3712 return result; 3713 } 3714 } 3715 } 3716 3717 static TParseTree RegularExpressionFirstChar(string s) 3718 { 3719 if(__ctfe) 3720 { 3721 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("*", "\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionFirstChar")(TParseTree("", false,[], s)); 3722 } 3723 else 3724 { 3725 memo = null; 3726 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("*", "\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionFirstChar"), "RegularExpressionFirstChar")(TParseTree("", false,[], s)); 3727 } 3728 } 3729 static string RegularExpressionFirstChar(GetName g) 3730 { 3731 return "ES6.RegularExpressionFirstChar"; 3732 } 3733 3734 static TParseTree RegularExpressionChar(TParseTree p) 3735 { 3736 if(__ctfe) 3737 { 3738 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionChar")(p); 3739 } 3740 else 3741 { 3742 if(auto m = tuple(`RegularExpressionChar`,p.end) in memo) 3743 return *m; 3744 else 3745 { 3746 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionChar"), "RegularExpressionChar")(p); 3747 memo[tuple(`RegularExpressionChar`,p.end)] = result; 3748 return result; 3749 } 3750 } 3751 } 3752 3753 static TParseTree RegularExpressionChar(string s) 3754 { 3755 if(__ctfe) 3756 { 3757 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionChar")(TParseTree("", false,[], s)); 3758 } 3759 else 3760 { 3761 memo = null; 3762 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("\\", "/", "[")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence, RegularExpressionClass), "ES6.RegularExpressionChar"), "RegularExpressionChar")(TParseTree("", false,[], s)); 3763 } 3764 } 3765 static string RegularExpressionChar(GetName g) 3766 { 3767 return "ES6.RegularExpressionChar"; 3768 } 3769 3770 static TParseTree RegularExpressionBackslashSequence(TParseTree p) 3771 { 3772 if(__ctfe) 3773 { 3774 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), RegularExpressionNonTerminator), "ES6.RegularExpressionBackslashSequence")(p); 3775 } 3776 else 3777 { 3778 if(auto m = tuple(`RegularExpressionBackslashSequence`,p.end) in memo) 3779 return *m; 3780 else 3781 { 3782 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), RegularExpressionNonTerminator), "ES6.RegularExpressionBackslashSequence"), "RegularExpressionBackslashSequence")(p); 3783 memo[tuple(`RegularExpressionBackslashSequence`,p.end)] = result; 3784 return result; 3785 } 3786 } 3787 } 3788 3789 static TParseTree RegularExpressionBackslashSequence(string s) 3790 { 3791 if(__ctfe) 3792 { 3793 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), RegularExpressionNonTerminator), "ES6.RegularExpressionBackslashSequence")(TParseTree("", false,[], s)); 3794 } 3795 else 3796 { 3797 memo = null; 3798 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("\\"), RegularExpressionNonTerminator), "ES6.RegularExpressionBackslashSequence"), "RegularExpressionBackslashSequence")(TParseTree("", false,[], s)); 3799 } 3800 } 3801 static string RegularExpressionBackslashSequence(GetName g) 3802 { 3803 return "ES6.RegularExpressionBackslashSequence"; 3804 } 3805 3806 static TParseTree RegularExpressionNonTerminator(TParseTree p) 3807 { 3808 if(__ctfe) 3809 { 3810 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.RegularExpressionNonTerminator")(p); 3811 } 3812 else 3813 { 3814 if(auto m = tuple(`RegularExpressionNonTerminator`,p.end) in memo) 3815 return *m; 3816 else 3817 { 3818 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.RegularExpressionNonTerminator"), "RegularExpressionNonTerminator")(p); 3819 memo[tuple(`RegularExpressionNonTerminator`,p.end)] = result; 3820 return result; 3821 } 3822 } 3823 } 3824 3825 static TParseTree RegularExpressionNonTerminator(string s) 3826 { 3827 if(__ctfe) 3828 { 3829 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.RegularExpressionNonTerminator")(TParseTree("", false,[], s)); 3830 } 3831 else 3832 { 3833 memo = null; 3834 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(LineTerminator), SourceCharacter), "ES6.RegularExpressionNonTerminator"), "RegularExpressionNonTerminator")(TParseTree("", false,[], s)); 3835 } 3836 } 3837 static string RegularExpressionNonTerminator(GetName g) 3838 { 3839 return "ES6.RegularExpressionNonTerminator"; 3840 } 3841 3842 static TParseTree RegularExpressionClass(TParseTree p) 3843 { 3844 if(__ctfe) 3845 { 3846 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("[")), RegularExpressionClassChars, pegged.peg.discard!(pegged.peg.literal!("]"))), "ES6.RegularExpressionClass")(p); 3847 } 3848 else 3849 { 3850 if(auto m = tuple(`RegularExpressionClass`,p.end) in memo) 3851 return *m; 3852 else 3853 { 3854 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("[")), RegularExpressionClassChars, pegged.peg.discard!(pegged.peg.literal!("]"))), "ES6.RegularExpressionClass"), "RegularExpressionClass")(p); 3855 memo[tuple(`RegularExpressionClass`,p.end)] = result; 3856 return result; 3857 } 3858 } 3859 } 3860 3861 static TParseTree RegularExpressionClass(string s) 3862 { 3863 if(__ctfe) 3864 { 3865 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("[")), RegularExpressionClassChars, pegged.peg.discard!(pegged.peg.literal!("]"))), "ES6.RegularExpressionClass")(TParseTree("", false,[], s)); 3866 } 3867 else 3868 { 3869 memo = null; 3870 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("[")), RegularExpressionClassChars, pegged.peg.discard!(pegged.peg.literal!("]"))), "ES6.RegularExpressionClass"), "RegularExpressionClass")(TParseTree("", false,[], s)); 3871 } 3872 } 3873 static string RegularExpressionClass(GetName g) 3874 { 3875 return "ES6.RegularExpressionClass"; 3876 } 3877 3878 static TParseTree RegularExpressionClassChars(TParseTree p) 3879 { 3880 if(__ctfe) 3881 { 3882 return pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionClassChar), "ES6.RegularExpressionClassChars")(p); 3883 } 3884 else 3885 { 3886 if(auto m = tuple(`RegularExpressionClassChars`,p.end) in memo) 3887 return *m; 3888 else 3889 { 3890 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionClassChar), "ES6.RegularExpressionClassChars"), "RegularExpressionClassChars")(p); 3891 memo[tuple(`RegularExpressionClassChars`,p.end)] = result; 3892 return result; 3893 } 3894 } 3895 } 3896 3897 static TParseTree RegularExpressionClassChars(string s) 3898 { 3899 if(__ctfe) 3900 { 3901 return pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionClassChar), "ES6.RegularExpressionClassChars")(TParseTree("", false,[], s)); 3902 } 3903 else 3904 { 3905 memo = null; 3906 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(RegularExpressionClassChar), "ES6.RegularExpressionClassChars"), "RegularExpressionClassChars")(TParseTree("", false,[], s)); 3907 } 3908 } 3909 static string RegularExpressionClassChars(GetName g) 3910 { 3911 return "ES6.RegularExpressionClassChars"; 3912 } 3913 3914 static TParseTree RegularExpressionClassChar(TParseTree p) 3915 { 3916 if(__ctfe) 3917 { 3918 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("]", "\\")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence), "ES6.RegularExpressionClassChar")(p); 3919 } 3920 else 3921 { 3922 if(auto m = tuple(`RegularExpressionClassChar`,p.end) in memo) 3923 return *m; 3924 else 3925 { 3926 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("]", "\\")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence), "ES6.RegularExpressionClassChar"), "RegularExpressionClassChar")(p); 3927 memo[tuple(`RegularExpressionClassChar`,p.end)] = result; 3928 return result; 3929 } 3930 } 3931 } 3932 3933 static TParseTree RegularExpressionClassChar(string s) 3934 { 3935 if(__ctfe) 3936 { 3937 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("]", "\\")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence), "ES6.RegularExpressionClassChar")(TParseTree("", false,[], s)); 3938 } 3939 else 3940 { 3941 memo = null; 3942 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("]", "\\")), RegularExpressionNonTerminator), RegularExpressionBackslashSequence), "ES6.RegularExpressionClassChar"), "RegularExpressionClassChar")(TParseTree("", false,[], s)); 3943 } 3944 } 3945 static string RegularExpressionClassChar(GetName g) 3946 { 3947 return "ES6.RegularExpressionClassChar"; 3948 } 3949 3950 static TParseTree RegularExpressionFlags(TParseTree p) 3951 { 3952 if(__ctfe) 3953 { 3954 return pegged.peg.defined!(pegged.peg.zeroOrMore!(IdentifierPart), "ES6.RegularExpressionFlags")(p); 3955 } 3956 else 3957 { 3958 if(auto m = tuple(`RegularExpressionFlags`,p.end) in memo) 3959 return *m; 3960 else 3961 { 3962 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(IdentifierPart), "ES6.RegularExpressionFlags"), "RegularExpressionFlags")(p); 3963 memo[tuple(`RegularExpressionFlags`,p.end)] = result; 3964 return result; 3965 } 3966 } 3967 } 3968 3969 static TParseTree RegularExpressionFlags(string s) 3970 { 3971 if(__ctfe) 3972 { 3973 return pegged.peg.defined!(pegged.peg.zeroOrMore!(IdentifierPart), "ES6.RegularExpressionFlags")(TParseTree("", false,[], s)); 3974 } 3975 else 3976 { 3977 memo = null; 3978 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(IdentifierPart), "ES6.RegularExpressionFlags"), "RegularExpressionFlags")(TParseTree("", false,[], s)); 3979 } 3980 } 3981 static string RegularExpressionFlags(GetName g) 3982 { 3983 return "ES6.RegularExpressionFlags"; 3984 } 3985 3986 static TParseTree Template(TParseTree p) 3987 { 3988 if(__ctfe) 3989 { 3990 return pegged.peg.defined!(pegged.peg.or!(NoSubstitutionTemplate, TemplateHead), "ES6.Template")(p); 3991 } 3992 else 3993 { 3994 if(auto m = tuple(`Template`,p.end) in memo) 3995 return *m; 3996 else 3997 { 3998 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(NoSubstitutionTemplate, TemplateHead), "ES6.Template"), "Template")(p); 3999 memo[tuple(`Template`,p.end)] = result; 4000 return result; 4001 } 4002 } 4003 } 4004 4005 static TParseTree Template(string s) 4006 { 4007 if(__ctfe) 4008 { 4009 return pegged.peg.defined!(pegged.peg.or!(NoSubstitutionTemplate, TemplateHead), "ES6.Template")(TParseTree("", false,[], s)); 4010 } 4011 else 4012 { 4013 memo = null; 4014 return hooked!(pegged.peg.defined!(pegged.peg.or!(NoSubstitutionTemplate, TemplateHead), "ES6.Template"), "Template")(TParseTree("", false,[], s)); 4015 } 4016 } 4017 static string Template(GetName g) 4018 { 4019 return "ES6.Template"; 4020 } 4021 4022 static TParseTree NoSubstitutionTemplate(TParseTree p) 4023 { 4024 if(__ctfe) 4025 { 4026 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.NoSubstitutionTemplate")(p); 4027 } 4028 else 4029 { 4030 if(auto m = tuple(`NoSubstitutionTemplate`,p.end) in memo) 4031 return *m; 4032 else 4033 { 4034 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.NoSubstitutionTemplate"), "NoSubstitutionTemplate")(p); 4035 memo[tuple(`NoSubstitutionTemplate`,p.end)] = result; 4036 return result; 4037 } 4038 } 4039 } 4040 4041 static TParseTree NoSubstitutionTemplate(string s) 4042 { 4043 if(__ctfe) 4044 { 4045 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.NoSubstitutionTemplate")(TParseTree("", false,[], s)); 4046 } 4047 else 4048 { 4049 memo = null; 4050 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.NoSubstitutionTemplate"), "NoSubstitutionTemplate")(TParseTree("", false,[], s)); 4051 } 4052 } 4053 static string NoSubstitutionTemplate(GetName g) 4054 { 4055 return "ES6.NoSubstitutionTemplate"; 4056 } 4057 4058 static TParseTree TemplateHead(TParseTree p) 4059 { 4060 if(__ctfe) 4061 { 4062 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateHead")(p); 4063 } 4064 else 4065 { 4066 if(auto m = tuple(`TemplateHead`,p.end) in memo) 4067 return *m; 4068 else 4069 { 4070 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateHead"), "TemplateHead")(p); 4071 memo[tuple(`TemplateHead`,p.end)] = result; 4072 return result; 4073 } 4074 } 4075 } 4076 4077 static TParseTree TemplateHead(string s) 4078 { 4079 if(__ctfe) 4080 { 4081 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateHead")(TParseTree("", false,[], s)); 4082 } 4083 else 4084 { 4085 memo = null; 4086 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("\u0060")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateHead"), "TemplateHead")(TParseTree("", false,[], s)); 4087 } 4088 } 4089 static string TemplateHead(GetName g) 4090 { 4091 return "ES6.TemplateHead"; 4092 } 4093 4094 static TParseTree TemplateSubstitutionTail(TParseTree p) 4095 { 4096 if(__ctfe) 4097 { 4098 return pegged.peg.defined!(pegged.peg.or!(TemplateMiddle, TemplateTail), "ES6.TemplateSubstitutionTail")(p); 4099 } 4100 else 4101 { 4102 if(auto m = tuple(`TemplateSubstitutionTail`,p.end) in memo) 4103 return *m; 4104 else 4105 { 4106 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(TemplateMiddle, TemplateTail), "ES6.TemplateSubstitutionTail"), "TemplateSubstitutionTail")(p); 4107 memo[tuple(`TemplateSubstitutionTail`,p.end)] = result; 4108 return result; 4109 } 4110 } 4111 } 4112 4113 static TParseTree TemplateSubstitutionTail(string s) 4114 { 4115 if(__ctfe) 4116 { 4117 return pegged.peg.defined!(pegged.peg.or!(TemplateMiddle, TemplateTail), "ES6.TemplateSubstitutionTail")(TParseTree("", false,[], s)); 4118 } 4119 else 4120 { 4121 memo = null; 4122 return hooked!(pegged.peg.defined!(pegged.peg.or!(TemplateMiddle, TemplateTail), "ES6.TemplateSubstitutionTail"), "TemplateSubstitutionTail")(TParseTree("", false,[], s)); 4123 } 4124 } 4125 static string TemplateSubstitutionTail(GetName g) 4126 { 4127 return "ES6.TemplateSubstitutionTail"; 4128 } 4129 4130 static TParseTree TemplateMiddle(TParseTree p) 4131 { 4132 if(__ctfe) 4133 { 4134 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateMiddle")(p); 4135 } 4136 else 4137 { 4138 if(auto m = tuple(`TemplateMiddle`,p.end) in memo) 4139 return *m; 4140 else 4141 { 4142 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateMiddle"), "TemplateMiddle")(p); 4143 memo[tuple(`TemplateMiddle`,p.end)] = result; 4144 return result; 4145 } 4146 } 4147 } 4148 4149 static TParseTree TemplateMiddle(string s) 4150 { 4151 if(__ctfe) 4152 { 4153 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateMiddle")(TParseTree("", false,[], s)); 4154 } 4155 else 4156 { 4157 memo = null; 4158 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("${"))), "ES6.TemplateMiddle"), "TemplateMiddle")(TParseTree("", false,[], s)); 4159 } 4160 } 4161 static string TemplateMiddle(GetName g) 4162 { 4163 return "ES6.TemplateMiddle"; 4164 } 4165 4166 static TParseTree TemplateTail(TParseTree p) 4167 { 4168 if(__ctfe) 4169 { 4170 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.TemplateTail")(p); 4171 } 4172 else 4173 { 4174 if(auto m = tuple(`TemplateTail`,p.end) in memo) 4175 return *m; 4176 else 4177 { 4178 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.TemplateTail"), "TemplateTail")(p); 4179 memo[tuple(`TemplateTail`,p.end)] = result; 4180 return result; 4181 } 4182 } 4183 } 4184 4185 static TParseTree TemplateTail(string s) 4186 { 4187 if(__ctfe) 4188 { 4189 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.TemplateTail")(TParseTree("", false,[], s)); 4190 } 4191 else 4192 { 4193 memo = null; 4194 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("}")), pegged.peg.option!(TemplateCharacters), pegged.peg.discard!(pegged.peg.literal!("\u0060"))), "ES6.TemplateTail"), "TemplateTail")(TParseTree("", false,[], s)); 4195 } 4196 } 4197 static string TemplateTail(GetName g) 4198 { 4199 return "ES6.TemplateTail"; 4200 } 4201 4202 static TParseTree TemplateCharacters(TParseTree p) 4203 { 4204 if(__ctfe) 4205 { 4206 return pegged.peg.defined!(pegged.peg.oneOrMore!(TemplateCharacter), "ES6.TemplateCharacters")(p); 4207 } 4208 else 4209 { 4210 if(auto m = tuple(`TemplateCharacters`,p.end) in memo) 4211 return *m; 4212 else 4213 { 4214 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(TemplateCharacter), "ES6.TemplateCharacters"), "TemplateCharacters")(p); 4215 memo[tuple(`TemplateCharacters`,p.end)] = result; 4216 return result; 4217 } 4218 } 4219 } 4220 4221 static TParseTree TemplateCharacters(string s) 4222 { 4223 if(__ctfe) 4224 { 4225 return pegged.peg.defined!(pegged.peg.oneOrMore!(TemplateCharacter), "ES6.TemplateCharacters")(TParseTree("", false,[], s)); 4226 } 4227 else 4228 { 4229 memo = null; 4230 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(TemplateCharacter), "ES6.TemplateCharacters"), "TemplateCharacters")(TParseTree("", false,[], s)); 4231 } 4232 } 4233 static string TemplateCharacters(GetName g) 4234 { 4235 return "ES6.TemplateCharacters"; 4236 } 4237 4238 static TParseTree TemplateCharacter(TParseTree p) 4239 { 4240 if(__ctfe) 4241 { 4242 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("$"), pegged.peg.negLookahead!(pegged.peg.literal!("{"))), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation, LineTerminatorSequence, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\u0060"), pegged.peg.literal!("\\"), pegged.peg.literal!("$"), LineTerminator)), SourceCharacter)), "ES6.TemplateCharacter")(p); 4243 } 4244 else 4245 { 4246 if(auto m = tuple(`TemplateCharacter`,p.end) in memo) 4247 return *m; 4248 else 4249 { 4250 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("$"), pegged.peg.negLookahead!(pegged.peg.literal!("{"))), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation, LineTerminatorSequence, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\u0060"), pegged.peg.literal!("\\"), pegged.peg.literal!("$"), LineTerminator)), SourceCharacter)), "ES6.TemplateCharacter"), "TemplateCharacter")(p); 4251 memo[tuple(`TemplateCharacter`,p.end)] = result; 4252 return result; 4253 } 4254 } 4255 } 4256 4257 static TParseTree TemplateCharacter(string s) 4258 { 4259 if(__ctfe) 4260 { 4261 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("$"), pegged.peg.negLookahead!(pegged.peg.literal!("{"))), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation, LineTerminatorSequence, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\u0060"), pegged.peg.literal!("\\"), pegged.peg.literal!("$"), LineTerminator)), SourceCharacter)), "ES6.TemplateCharacter")(TParseTree("", false,[], s)); 4262 } 4263 else 4264 { 4265 memo = null; 4266 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("$"), pegged.peg.negLookahead!(pegged.peg.literal!("{"))), pegged.peg.and!(pegged.peg.literal!("\\"), EscapeSequence), LineContinuation, LineTerminatorSequence, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.or!(pegged.peg.literal!("\u0060"), pegged.peg.literal!("\\"), pegged.peg.literal!("$"), LineTerminator)), SourceCharacter)), "ES6.TemplateCharacter"), "TemplateCharacter")(TParseTree("", false,[], s)); 4267 } 4268 } 4269 static string TemplateCharacter(GetName g) 4270 { 4271 return "ES6.TemplateCharacter"; 4272 } 4273 4274 static TParseTree IdentifierReference(TParseTree p) 4275 { 4276 if(__ctfe) 4277 { 4278 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.IdentifierReference")(p); 4279 } 4280 else 4281 { 4282 if(auto m = tuple(`IdentifierReference`,p.end) in memo) 4283 return *m; 4284 else 4285 { 4286 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.IdentifierReference"), "IdentifierReference")(p); 4287 memo[tuple(`IdentifierReference`,p.end)] = result; 4288 return result; 4289 } 4290 } 4291 } 4292 4293 static TParseTree IdentifierReference(string s) 4294 { 4295 if(__ctfe) 4296 { 4297 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.IdentifierReference")(TParseTree("", false,[], s)); 4298 } 4299 else 4300 { 4301 memo = null; 4302 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.IdentifierReference"), "IdentifierReference")(TParseTree("", false,[], s)); 4303 } 4304 } 4305 static string IdentifierReference(GetName g) 4306 { 4307 return "ES6.IdentifierReference"; 4308 } 4309 4310 static TParseTree IdentifierReferenceYield(TParseTree p) 4311 { 4312 if(__ctfe) 4313 { 4314 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.IdentifierReferenceYield")(p); 4315 } 4316 else 4317 { 4318 if(auto m = tuple(`IdentifierReferenceYield`,p.end) in memo) 4319 return *m; 4320 else 4321 { 4322 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.IdentifierReferenceYield"), "IdentifierReferenceYield")(p); 4323 memo[tuple(`IdentifierReferenceYield`,p.end)] = result; 4324 return result; 4325 } 4326 } 4327 } 4328 4329 static TParseTree IdentifierReferenceYield(string s) 4330 { 4331 if(__ctfe) 4332 { 4333 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.IdentifierReferenceYield")(TParseTree("", false,[], s)); 4334 } 4335 else 4336 { 4337 memo = null; 4338 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.IdentifierReferenceYield"), "IdentifierReferenceYield")(TParseTree("", false,[], s)); 4339 } 4340 } 4341 static string IdentifierReferenceYield(GetName g) 4342 { 4343 return "ES6.IdentifierReferenceYield"; 4344 } 4345 4346 static TParseTree BindingIdentifier(TParseTree p) 4347 { 4348 if(__ctfe) 4349 { 4350 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.BindingIdentifier")(p); 4351 } 4352 else 4353 { 4354 if(auto m = tuple(`BindingIdentifier`,p.end) in memo) 4355 return *m; 4356 else 4357 { 4358 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.BindingIdentifier"), "BindingIdentifier")(p); 4359 memo[tuple(`BindingIdentifier`,p.end)] = result; 4360 return result; 4361 } 4362 } 4363 } 4364 4365 static TParseTree BindingIdentifier(string s) 4366 { 4367 if(__ctfe) 4368 { 4369 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.BindingIdentifier")(TParseTree("", false,[], s)); 4370 } 4371 else 4372 { 4373 memo = null; 4374 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.BindingIdentifier"), "BindingIdentifier")(TParseTree("", false,[], s)); 4375 } 4376 } 4377 static string BindingIdentifier(GetName g) 4378 { 4379 return "ES6.BindingIdentifier"; 4380 } 4381 4382 static TParseTree BindingIdentifierYield(TParseTree p) 4383 { 4384 if(__ctfe) 4385 { 4386 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.BindingIdentifierYield")(p); 4387 } 4388 else 4389 { 4390 if(auto m = tuple(`BindingIdentifierYield`,p.end) in memo) 4391 return *m; 4392 else 4393 { 4394 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.BindingIdentifierYield"), "BindingIdentifierYield")(p); 4395 memo[tuple(`BindingIdentifierYield`,p.end)] = result; 4396 return result; 4397 } 4398 } 4399 } 4400 4401 static TParseTree BindingIdentifierYield(string s) 4402 { 4403 if(__ctfe) 4404 { 4405 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.BindingIdentifierYield")(TParseTree("", false,[], s)); 4406 } 4407 else 4408 { 4409 memo = null; 4410 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.BindingIdentifierYield"), "BindingIdentifierYield")(TParseTree("", false,[], s)); 4411 } 4412 } 4413 static string BindingIdentifierYield(GetName g) 4414 { 4415 return "ES6.BindingIdentifierYield"; 4416 } 4417 4418 static TParseTree LabelIdentifier(TParseTree p) 4419 { 4420 if(__ctfe) 4421 { 4422 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.LabelIdentifier")(p); 4423 } 4424 else 4425 { 4426 if(auto m = tuple(`LabelIdentifier`,p.end) in memo) 4427 return *m; 4428 else 4429 { 4430 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.LabelIdentifier"), "LabelIdentifier")(p); 4431 memo[tuple(`LabelIdentifier`,p.end)] = result; 4432 return result; 4433 } 4434 } 4435 } 4436 4437 static TParseTree LabelIdentifier(string s) 4438 { 4439 if(__ctfe) 4440 { 4441 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.LabelIdentifier")(TParseTree("", false,[], s)); 4442 } 4443 else 4444 { 4445 memo = null; 4446 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("yield"), Spacing)), "ES6.LabelIdentifier"), "LabelIdentifier")(TParseTree("", false,[], s)); 4447 } 4448 } 4449 static string LabelIdentifier(GetName g) 4450 { 4451 return "ES6.LabelIdentifier"; 4452 } 4453 4454 static TParseTree LabelIdentifierYield(TParseTree p) 4455 { 4456 if(__ctfe) 4457 { 4458 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.LabelIdentifierYield")(p); 4459 } 4460 else 4461 { 4462 if(auto m = tuple(`LabelIdentifierYield`,p.end) in memo) 4463 return *m; 4464 else 4465 { 4466 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.LabelIdentifierYield"), "LabelIdentifierYield")(p); 4467 memo[tuple(`LabelIdentifierYield`,p.end)] = result; 4468 return result; 4469 } 4470 } 4471 } 4472 4473 static TParseTree LabelIdentifierYield(string s) 4474 { 4475 if(__ctfe) 4476 { 4477 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.LabelIdentifierYield")(TParseTree("", false,[], s)); 4478 } 4479 else 4480 { 4481 memo = null; 4482 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Identifier, Spacing), "ES6.LabelIdentifierYield"), "LabelIdentifierYield")(TParseTree("", false,[], s)); 4483 } 4484 } 4485 static string LabelIdentifierYield(GetName g) 4486 { 4487 return "ES6.LabelIdentifierYield"; 4488 } 4489 4490 static TParseTree Identifier(TParseTree p) 4491 { 4492 if(__ctfe) 4493 { 4494 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.and!(ReservedWord, pegged.peg.or!(WhiteSpace, LineTerminatorSequence, Comment, pegged.peg.literal!(";"), pegged.peg.literal!(":")))), IdentifierName), "ES6.Identifier")(p); 4495 } 4496 else 4497 { 4498 if(auto m = tuple(`Identifier`,p.end) in memo) 4499 return *m; 4500 else 4501 { 4502 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.and!(ReservedWord, pegged.peg.or!(WhiteSpace, LineTerminatorSequence, Comment, pegged.peg.literal!(";"), pegged.peg.literal!(":")))), IdentifierName), "ES6.Identifier"), "Identifier")(p); 4503 memo[tuple(`Identifier`,p.end)] = result; 4504 return result; 4505 } 4506 } 4507 } 4508 4509 static TParseTree Identifier(string s) 4510 { 4511 if(__ctfe) 4512 { 4513 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.and!(ReservedWord, pegged.peg.or!(WhiteSpace, LineTerminatorSequence, Comment, pegged.peg.literal!(";"), pegged.peg.literal!(":")))), IdentifierName), "ES6.Identifier")(TParseTree("", false,[], s)); 4514 } 4515 else 4516 { 4517 memo = null; 4518 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.and!(ReservedWord, pegged.peg.or!(WhiteSpace, LineTerminatorSequence, Comment, pegged.peg.literal!(";"), pegged.peg.literal!(":")))), IdentifierName), "ES6.Identifier"), "Identifier")(TParseTree("", false,[], s)); 4519 } 4520 } 4521 static string Identifier(GetName g) 4522 { 4523 return "ES6.Identifier"; 4524 } 4525 4526 static TParseTree ThisKeyword(TParseTree p) 4527 { 4528 if(__ctfe) 4529 { 4530 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("this"), pegged.peg.negLookahead!(IdentifierPart)), "ES6.ThisKeyword")(p); 4531 } 4532 else 4533 { 4534 if(auto m = tuple(`ThisKeyword`,p.end) in memo) 4535 return *m; 4536 else 4537 { 4538 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("this"), pegged.peg.negLookahead!(IdentifierPart)), "ES6.ThisKeyword"), "ThisKeyword")(p); 4539 memo[tuple(`ThisKeyword`,p.end)] = result; 4540 return result; 4541 } 4542 } 4543 } 4544 4545 static TParseTree ThisKeyword(string s) 4546 { 4547 if(__ctfe) 4548 { 4549 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("this"), pegged.peg.negLookahead!(IdentifierPart)), "ES6.ThisKeyword")(TParseTree("", false,[], s)); 4550 } 4551 else 4552 { 4553 memo = null; 4554 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("this"), pegged.peg.negLookahead!(IdentifierPart)), "ES6.ThisKeyword"), "ThisKeyword")(TParseTree("", false,[], s)); 4555 } 4556 } 4557 static string ThisKeyword(GetName g) 4558 { 4559 return "ES6.ThisKeyword"; 4560 } 4561 4562 static TParseTree PrimaryExpression(TParseTree p) 4563 { 4564 if(__ctfe) 4565 { 4566 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteral, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteral, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpression, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PrimaryExpression")(p); 4567 } 4568 else 4569 { 4570 if(auto m = tuple(`PrimaryExpression`,p.end) in memo) 4571 return *m; 4572 else 4573 { 4574 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteral, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteral, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpression, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PrimaryExpression"), "PrimaryExpression")(p); 4575 memo[tuple(`PrimaryExpression`,p.end)] = result; 4576 return result; 4577 } 4578 } 4579 } 4580 4581 static TParseTree PrimaryExpression(string s) 4582 { 4583 if(__ctfe) 4584 { 4585 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteral, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteral, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpression, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PrimaryExpression")(TParseTree("", false,[], s)); 4586 } 4587 else 4588 { 4589 memo = null; 4590 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteral, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteral, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpression, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PrimaryExpression"), "PrimaryExpression")(TParseTree("", false,[], s)); 4591 } 4592 } 4593 static string PrimaryExpression(GetName g) 4594 { 4595 return "ES6.PrimaryExpression"; 4596 } 4597 4598 static TParseTree PrimaryExpressionYield(TParseTree p) 4599 { 4600 if(__ctfe) 4601 { 4602 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PrimaryExpressionYield")(p); 4603 } 4604 else 4605 { 4606 if(auto m = tuple(`PrimaryExpressionYield`,p.end) in memo) 4607 return *m; 4608 else 4609 { 4610 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PrimaryExpressionYield"), "PrimaryExpressionYield")(p); 4611 memo[tuple(`PrimaryExpressionYield`,p.end)] = result; 4612 return result; 4613 } 4614 } 4615 } 4616 4617 static TParseTree PrimaryExpressionYield(string s) 4618 { 4619 if(__ctfe) 4620 { 4621 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PrimaryExpressionYield")(TParseTree("", false,[], s)); 4622 } 4623 else 4624 { 4625 memo = null; 4626 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ThisKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Literal, Spacing), pegged.peg.wrapAround!(Spacing, ArrayLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ObjectLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, GeneratorExpression, Spacing), pegged.peg.wrapAround!(Spacing, ClassExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionExpression, Spacing), pegged.peg.wrapAround!(Spacing, RegularExpressionLiteral, Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PrimaryExpressionYield"), "PrimaryExpressionYield")(TParseTree("", false,[], s)); 4627 } 4628 } 4629 static string PrimaryExpressionYield(GetName g) 4630 { 4631 return "ES6.PrimaryExpressionYield"; 4632 } 4633 4634 static TParseTree CoverParenthesizedExpressionAndArrowParameterList(TParseTree p) 4635 { 4636 if(__ctfe) 4637 { 4638 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterList")(p); 4639 } 4640 else 4641 { 4642 if(auto m = tuple(`CoverParenthesizedExpressionAndArrowParameterList`,p.end) in memo) 4643 return *m; 4644 else 4645 { 4646 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterList"), "CoverParenthesizedExpressionAndArrowParameterList")(p); 4647 memo[tuple(`CoverParenthesizedExpressionAndArrowParameterList`,p.end)] = result; 4648 return result; 4649 } 4650 } 4651 } 4652 4653 static TParseTree CoverParenthesizedExpressionAndArrowParameterList(string s) 4654 { 4655 if(__ctfe) 4656 { 4657 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterList")(TParseTree("", false,[], s)); 4658 } 4659 else 4660 { 4661 memo = null; 4662 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterList"), "CoverParenthesizedExpressionAndArrowParameterList")(TParseTree("", false,[], s)); 4663 } 4664 } 4665 static string CoverParenthesizedExpressionAndArrowParameterList(GetName g) 4666 { 4667 return "ES6.CoverParenthesizedExpressionAndArrowParameterList"; 4668 } 4669 4670 static TParseTree CoverParenthesizedExpressionAndArrowParameterListYield(TParseTree p) 4671 { 4672 if(__ctfe) 4673 { 4674 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterListYield")(p); 4675 } 4676 else 4677 { 4678 if(auto m = tuple(`CoverParenthesizedExpressionAndArrowParameterListYield`,p.end) in memo) 4679 return *m; 4680 else 4681 { 4682 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterListYield"), "CoverParenthesizedExpressionAndArrowParameterListYield")(p); 4683 memo[tuple(`CoverParenthesizedExpressionAndArrowParameterListYield`,p.end)] = result; 4684 return result; 4685 } 4686 } 4687 } 4688 4689 static TParseTree CoverParenthesizedExpressionAndArrowParameterListYield(string s) 4690 { 4691 if(__ctfe) 4692 { 4693 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterListYield")(TParseTree("", false,[], s)); 4694 } 4695 else 4696 { 4697 memo = null; 4698 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing)), "ES6.CoverParenthesizedExpressionAndArrowParameterListYield"), "CoverParenthesizedExpressionAndArrowParameterListYield")(TParseTree("", false,[], s)); 4699 } 4700 } 4701 static string CoverParenthesizedExpressionAndArrowParameterListYield(GetName g) 4702 { 4703 return "ES6.CoverParenthesizedExpressionAndArrowParameterListYield"; 4704 } 4705 4706 static TParseTree ParenthesizedExpression(TParseTree p) 4707 { 4708 if(__ctfe) 4709 { 4710 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), "ES6.ParenthesizedExpression")(p); 4711 } 4712 else 4713 { 4714 if(auto m = tuple(`ParenthesizedExpression`,p.end) in memo) 4715 return *m; 4716 else 4717 { 4718 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), "ES6.ParenthesizedExpression"), "ParenthesizedExpression")(p); 4719 memo[tuple(`ParenthesizedExpression`,p.end)] = result; 4720 return result; 4721 } 4722 } 4723 } 4724 4725 static TParseTree ParenthesizedExpression(string s) 4726 { 4727 if(__ctfe) 4728 { 4729 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), "ES6.ParenthesizedExpression")(TParseTree("", false,[], s)); 4730 } 4731 else 4732 { 4733 memo = null; 4734 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), "ES6.ParenthesizedExpression"), "ParenthesizedExpression")(TParseTree("", false,[], s)); 4735 } 4736 } 4737 static string ParenthesizedExpression(GetName g) 4738 { 4739 return "ES6.ParenthesizedExpression"; 4740 } 4741 4742 static TParseTree ParenthesizedExpressionYield(TParseTree p) 4743 { 4744 if(__ctfe) 4745 { 4746 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), "ES6.ParenthesizedExpressionYield")(p); 4747 } 4748 else 4749 { 4750 if(auto m = tuple(`ParenthesizedExpressionYield`,p.end) in memo) 4751 return *m; 4752 else 4753 { 4754 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), "ES6.ParenthesizedExpressionYield"), "ParenthesizedExpressionYield")(p); 4755 memo[tuple(`ParenthesizedExpressionYield`,p.end)] = result; 4756 return result; 4757 } 4758 } 4759 } 4760 4761 static TParseTree ParenthesizedExpressionYield(string s) 4762 { 4763 if(__ctfe) 4764 { 4765 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), "ES6.ParenthesizedExpressionYield")(TParseTree("", false,[], s)); 4766 } 4767 else 4768 { 4769 memo = null; 4770 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), "ES6.ParenthesizedExpressionYield"), "ParenthesizedExpressionYield")(TParseTree("", false,[], s)); 4771 } 4772 } 4773 static string ParenthesizedExpressionYield(GetName g) 4774 { 4775 return "ES6.ParenthesizedExpressionYield"; 4776 } 4777 4778 static TParseTree Literal(TParseTree p) 4779 { 4780 if(__ctfe) 4781 { 4782 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.or!(NullLiteral, BooleanLiteral, NumericLiteral), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), StringLiteral), "ES6.Literal")(p); 4783 } 4784 else 4785 { 4786 if(auto m = tuple(`Literal`,p.end) in memo) 4787 return *m; 4788 else 4789 { 4790 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.or!(NullLiteral, BooleanLiteral, NumericLiteral), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), StringLiteral), "ES6.Literal"), "Literal")(p); 4791 memo[tuple(`Literal`,p.end)] = result; 4792 return result; 4793 } 4794 } 4795 } 4796 4797 static TParseTree Literal(string s) 4798 { 4799 if(__ctfe) 4800 { 4801 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.or!(NullLiteral, BooleanLiteral, NumericLiteral), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), StringLiteral), "ES6.Literal")(TParseTree("", false,[], s)); 4802 } 4803 else 4804 { 4805 memo = null; 4806 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.or!(NullLiteral, BooleanLiteral, NumericLiteral), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), StringLiteral), "ES6.Literal"), "Literal")(TParseTree("", false,[], s)); 4807 } 4808 } 4809 static string Literal(GetName g) 4810 { 4811 return "ES6.Literal"; 4812 } 4813 4814 static TParseTree ArrayLiteral(TParseTree p) 4815 { 4816 if(__ctfe) 4817 { 4818 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementList, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteral")(p); 4819 } 4820 else 4821 { 4822 if(auto m = tuple(`ArrayLiteral`,p.end) in memo) 4823 return *m; 4824 else 4825 { 4826 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementList, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteral"), "ArrayLiteral")(p); 4827 memo[tuple(`ArrayLiteral`,p.end)] = result; 4828 return result; 4829 } 4830 } 4831 } 4832 4833 static TParseTree ArrayLiteral(string s) 4834 { 4835 if(__ctfe) 4836 { 4837 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementList, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteral")(TParseTree("", false,[], s)); 4838 } 4839 else 4840 { 4841 memo = null; 4842 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementList, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteral"), "ArrayLiteral")(TParseTree("", false,[], s)); 4843 } 4844 } 4845 static string ArrayLiteral(GetName g) 4846 { 4847 return "ES6.ArrayLiteral"; 4848 } 4849 4850 static TParseTree ArrayLiteralYield(TParseTree p) 4851 { 4852 if(__ctfe) 4853 { 4854 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementListYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteralYield")(p); 4855 } 4856 else 4857 { 4858 if(auto m = tuple(`ArrayLiteralYield`,p.end) in memo) 4859 return *m; 4860 else 4861 { 4862 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementListYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteralYield"), "ArrayLiteralYield")(p); 4863 memo[tuple(`ArrayLiteralYield`,p.end)] = result; 4864 return result; 4865 } 4866 } 4867 } 4868 4869 static TParseTree ArrayLiteralYield(string s) 4870 { 4871 if(__ctfe) 4872 { 4873 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementListYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteralYield")(TParseTree("", false,[], s)); 4874 } 4875 else 4876 { 4877 memo = null; 4878 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ElementListYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)))), Spacing), "ES6.ArrayLiteralYield"), "ArrayLiteralYield")(TParseTree("", false,[], s)); 4879 } 4880 } 4881 static string ArrayLiteralYield(GetName g) 4882 { 4883 return "ES6.ArrayLiteralYield"; 4884 } 4885 4886 static TParseTree ElementList(TParseTree p) 4887 { 4888 if(__ctfe) 4889 { 4890 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing)), Spacing))), "ES6.ElementList")(p); 4891 } 4892 else 4893 { 4894 if(auto m = tuple(`ElementList`,p.end) in memo) 4895 return *m; 4896 else 4897 { 4898 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing)), Spacing))), "ES6.ElementList"), "ElementList")(p); 4899 memo[tuple(`ElementList`,p.end)] = result; 4900 return result; 4901 } 4902 } 4903 } 4904 4905 static TParseTree ElementList(string s) 4906 { 4907 if(__ctfe) 4908 { 4909 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing)), Spacing))), "ES6.ElementList")(TParseTree("", false,[], s)); 4910 } 4911 else 4912 { 4913 memo = null; 4914 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing)), Spacing))), "ES6.ElementList"), "ElementList")(TParseTree("", false,[], s)); 4915 } 4916 } 4917 static string ElementList(GetName g) 4918 { 4919 return "ES6.ElementList"; 4920 } 4921 4922 static TParseTree ElementListYield(TParseTree p) 4923 { 4924 if(__ctfe) 4925 { 4926 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing)), Spacing))), "ES6.ElementListYield")(p); 4927 } 4928 else 4929 { 4930 if(auto m = tuple(`ElementListYield`,p.end) in memo) 4931 return *m; 4932 else 4933 { 4934 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing)), Spacing))), "ES6.ElementListYield"), "ElementListYield")(p); 4935 memo[tuple(`ElementListYield`,p.end)] = result; 4936 return result; 4937 } 4938 } 4939 } 4940 4941 static TParseTree ElementListYield(string s) 4942 { 4943 if(__ctfe) 4944 { 4945 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing)), Spacing))), "ES6.ElementListYield")(TParseTree("", false,[], s)); 4946 } 4947 else 4948 { 4949 memo = null; 4950 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, SpreadElementYield, Spacing)), Spacing)), Spacing))), "ES6.ElementListYield"), "ElementListYield")(TParseTree("", false,[], s)); 4951 } 4952 } 4953 static string ElementListYield(GetName g) 4954 { 4955 return "ES6.ElementListYield"; 4956 } 4957 4958 static TParseTree Elision(TParseTree p) 4959 { 4960 if(__ctfe) 4961 { 4962 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), "ES6.Elision")(p); 4963 } 4964 else 4965 { 4966 if(auto m = tuple(`Elision`,p.end) in memo) 4967 return *m; 4968 else 4969 { 4970 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), "ES6.Elision"), "Elision")(p); 4971 memo[tuple(`Elision`,p.end)] = result; 4972 return result; 4973 } 4974 } 4975 } 4976 4977 static TParseTree Elision(string s) 4978 { 4979 if(__ctfe) 4980 { 4981 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), "ES6.Elision")(TParseTree("", false,[], s)); 4982 } 4983 else 4984 { 4985 memo = null; 4986 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), "ES6.Elision"), "Elision")(TParseTree("", false,[], s)); 4987 } 4988 } 4989 static string Elision(GetName g) 4990 { 4991 return "ES6.Elision"; 4992 } 4993 4994 static TParseTree SpreadElement(TParseTree p) 4995 { 4996 if(__ctfe) 4997 { 4998 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.SpreadElement")(p); 4999 } 5000 else 5001 { 5002 if(auto m = tuple(`SpreadElement`,p.end) in memo) 5003 return *m; 5004 else 5005 { 5006 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.SpreadElement"), "SpreadElement")(p); 5007 memo[tuple(`SpreadElement`,p.end)] = result; 5008 return result; 5009 } 5010 } 5011 } 5012 5013 static TParseTree SpreadElement(string s) 5014 { 5015 if(__ctfe) 5016 { 5017 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.SpreadElement")(TParseTree("", false,[], s)); 5018 } 5019 else 5020 { 5021 memo = null; 5022 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.SpreadElement"), "SpreadElement")(TParseTree("", false,[], s)); 5023 } 5024 } 5025 static string SpreadElement(GetName g) 5026 { 5027 return "ES6.SpreadElement"; 5028 } 5029 5030 static TParseTree SpreadElementYield(TParseTree p) 5031 { 5032 if(__ctfe) 5033 { 5034 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.SpreadElementYield")(p); 5035 } 5036 else 5037 { 5038 if(auto m = tuple(`SpreadElementYield`,p.end) in memo) 5039 return *m; 5040 else 5041 { 5042 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.SpreadElementYield"), "SpreadElementYield")(p); 5043 memo[tuple(`SpreadElementYield`,p.end)] = result; 5044 return result; 5045 } 5046 } 5047 } 5048 5049 static TParseTree SpreadElementYield(string s) 5050 { 5051 if(__ctfe) 5052 { 5053 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.SpreadElementYield")(TParseTree("", false,[], s)); 5054 } 5055 else 5056 { 5057 memo = null; 5058 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.SpreadElementYield"), "SpreadElementYield")(TParseTree("", false,[], s)); 5059 } 5060 } 5061 static string SpreadElementYield(GetName g) 5062 { 5063 return "ES6.SpreadElementYield"; 5064 } 5065 5066 static TParseTree ObjectLiteral(TParseTree p) 5067 { 5068 if(__ctfe) 5069 { 5070 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionList, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteral")(p); 5071 } 5072 else 5073 { 5074 if(auto m = tuple(`ObjectLiteral`,p.end) in memo) 5075 return *m; 5076 else 5077 { 5078 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionList, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteral"), "ObjectLiteral")(p); 5079 memo[tuple(`ObjectLiteral`,p.end)] = result; 5080 return result; 5081 } 5082 } 5083 } 5084 5085 static TParseTree ObjectLiteral(string s) 5086 { 5087 if(__ctfe) 5088 { 5089 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionList, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteral")(TParseTree("", false,[], s)); 5090 } 5091 else 5092 { 5093 memo = null; 5094 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionList, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteral"), "ObjectLiteral")(TParseTree("", false,[], s)); 5095 } 5096 } 5097 static string ObjectLiteral(GetName g) 5098 { 5099 return "ES6.ObjectLiteral"; 5100 } 5101 5102 static TParseTree ObjectLiteralYield(TParseTree p) 5103 { 5104 if(__ctfe) 5105 { 5106 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionListYield, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteralYield")(p); 5107 } 5108 else 5109 { 5110 if(auto m = tuple(`ObjectLiteralYield`,p.end) in memo) 5111 return *m; 5112 else 5113 { 5114 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionListYield, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteralYield"), "ObjectLiteralYield")(p); 5115 memo[tuple(`ObjectLiteralYield`,p.end)] = result; 5116 return result; 5117 } 5118 } 5119 } 5120 5121 static TParseTree ObjectLiteralYield(string s) 5122 { 5123 if(__ctfe) 5124 { 5125 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionListYield, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteralYield")(TParseTree("", false,[], s)); 5126 } 5127 else 5128 { 5129 memo = null; 5130 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionListYield, Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)))), Spacing))), Spacing), "ES6.ObjectLiteralYield"), "ObjectLiteralYield")(TParseTree("", false,[], s)); 5131 } 5132 } 5133 static string ObjectLiteralYield(GetName g) 5134 { 5135 return "ES6.ObjectLiteralYield"; 5136 } 5137 5138 static TParseTree PropertyDefinitionList(TParseTree p) 5139 { 5140 if(__ctfe) 5141 { 5142 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing)), Spacing))), "ES6.PropertyDefinitionList")(p); 5143 } 5144 else 5145 { 5146 if(auto m = tuple(`PropertyDefinitionList`,p.end) in memo) 5147 return *m; 5148 else 5149 { 5150 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing)), Spacing))), "ES6.PropertyDefinitionList"), "PropertyDefinitionList")(p); 5151 memo[tuple(`PropertyDefinitionList`,p.end)] = result; 5152 return result; 5153 } 5154 } 5155 } 5156 5157 static TParseTree PropertyDefinitionList(string s) 5158 { 5159 if(__ctfe) 5160 { 5161 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing)), Spacing))), "ES6.PropertyDefinitionList")(TParseTree("", false,[], s)); 5162 } 5163 else 5164 { 5165 memo = null; 5166 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinition, Spacing)), Spacing))), "ES6.PropertyDefinitionList"), "PropertyDefinitionList")(TParseTree("", false,[], s)); 5167 } 5168 } 5169 static string PropertyDefinitionList(GetName g) 5170 { 5171 return "ES6.PropertyDefinitionList"; 5172 } 5173 5174 static TParseTree PropertyDefinitionListYield(TParseTree p) 5175 { 5176 if(__ctfe) 5177 { 5178 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing)), Spacing))), "ES6.PropertyDefinitionListYield")(p); 5179 } 5180 else 5181 { 5182 if(auto m = tuple(`PropertyDefinitionListYield`,p.end) in memo) 5183 return *m; 5184 else 5185 { 5186 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing)), Spacing))), "ES6.PropertyDefinitionListYield"), "PropertyDefinitionListYield")(p); 5187 memo[tuple(`PropertyDefinitionListYield`,p.end)] = result; 5188 return result; 5189 } 5190 } 5191 } 5192 5193 static TParseTree PropertyDefinitionListYield(string s) 5194 { 5195 if(__ctfe) 5196 { 5197 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing)), Spacing))), "ES6.PropertyDefinitionListYield")(TParseTree("", false,[], s)); 5198 } 5199 else 5200 { 5201 memo = null; 5202 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, PropertyDefinitionYield, Spacing)), Spacing))), "ES6.PropertyDefinitionListYield"), "PropertyDefinitionListYield")(TParseTree("", false,[], s)); 5203 } 5204 } 5205 static string PropertyDefinitionListYield(GetName g) 5206 { 5207 return "ES6.PropertyDefinitionListYield"; 5208 } 5209 5210 static TParseTree PropertyDefinition(TParseTree p) 5211 { 5212 if(__ctfe) 5213 { 5214 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PropertyDefinition")(p); 5215 } 5216 else 5217 { 5218 if(auto m = tuple(`PropertyDefinition`,p.end) in memo) 5219 return *m; 5220 else 5221 { 5222 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PropertyDefinition"), "PropertyDefinition")(p); 5223 memo[tuple(`PropertyDefinition`,p.end)] = result; 5224 return result; 5225 } 5226 } 5227 } 5228 5229 static TParseTree PropertyDefinition(string s) 5230 { 5231 if(__ctfe) 5232 { 5233 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PropertyDefinition")(TParseTree("", false,[], s)); 5234 } 5235 else 5236 { 5237 memo = null; 5238 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing)), "ES6.PropertyDefinition"), "PropertyDefinition")(TParseTree("", false,[], s)); 5239 } 5240 } 5241 static string PropertyDefinition(GetName g) 5242 { 5243 return "ES6.PropertyDefinition"; 5244 } 5245 5246 static TParseTree PropertyDefinitionYield(TParseTree p) 5247 { 5248 if(__ctfe) 5249 { 5250 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PropertyDefinitionYield")(p); 5251 } 5252 else 5253 { 5254 if(auto m = tuple(`PropertyDefinitionYield`,p.end) in memo) 5255 return *m; 5256 else 5257 { 5258 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PropertyDefinitionYield"), "PropertyDefinitionYield")(p); 5259 memo[tuple(`PropertyDefinitionYield`,p.end)] = result; 5260 return result; 5261 } 5262 } 5263 } 5264 5265 static TParseTree PropertyDefinitionYield(string s) 5266 { 5267 if(__ctfe) 5268 { 5269 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PropertyDefinitionYield")(TParseTree("", false,[], s)); 5270 } 5271 else 5272 { 5273 memo = null; 5274 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverInitializedNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing)), "ES6.PropertyDefinitionYield"), "PropertyDefinitionYield")(TParseTree("", false,[], s)); 5275 } 5276 } 5277 static string PropertyDefinitionYield(GetName g) 5278 { 5279 return "ES6.PropertyDefinitionYield"; 5280 } 5281 5282 static TParseTree PropertyName(TParseTree p) 5283 { 5284 if(__ctfe) 5285 { 5286 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyName, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyName")(p); 5287 } 5288 else 5289 { 5290 if(auto m = tuple(`PropertyName`,p.end) in memo) 5291 return *m; 5292 else 5293 { 5294 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyName, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyName"), "PropertyName")(p); 5295 memo[tuple(`PropertyName`,p.end)] = result; 5296 return result; 5297 } 5298 } 5299 } 5300 5301 static TParseTree PropertyName(string s) 5302 { 5303 if(__ctfe) 5304 { 5305 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyName, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyName")(TParseTree("", false,[], s)); 5306 } 5307 else 5308 { 5309 memo = null; 5310 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyName, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyName"), "PropertyName")(TParseTree("", false,[], s)); 5311 } 5312 } 5313 static string PropertyName(GetName g) 5314 { 5315 return "ES6.PropertyName"; 5316 } 5317 5318 static TParseTree PropertyNameYield(TParseTree p) 5319 { 5320 if(__ctfe) 5321 { 5322 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyNameYield")(p); 5323 } 5324 else 5325 { 5326 if(auto m = tuple(`PropertyNameYield`,p.end) in memo) 5327 return *m; 5328 else 5329 { 5330 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyNameYield"), "PropertyNameYield")(p); 5331 memo[tuple(`PropertyNameYield`,p.end)] = result; 5332 return result; 5333 } 5334 } 5335 } 5336 5337 static TParseTree PropertyNameYield(string s) 5338 { 5339 if(__ctfe) 5340 { 5341 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyNameYield")(TParseTree("", false,[], s)); 5342 } 5343 else 5344 { 5345 memo = null; 5346 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ComputedPropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, LiteralPropertyName, Spacing)), "ES6.PropertyNameYield"), "PropertyNameYield")(TParseTree("", false,[], s)); 5347 } 5348 } 5349 static string PropertyNameYield(GetName g) 5350 { 5351 return "ES6.PropertyNameYield"; 5352 } 5353 5354 static TParseTree LiteralPropertyName(TParseTree p) 5355 { 5356 if(__ctfe) 5357 { 5358 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NumericLiteral, Spacing), pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.LiteralPropertyName")(p); 5359 } 5360 else 5361 { 5362 if(auto m = tuple(`LiteralPropertyName`,p.end) in memo) 5363 return *m; 5364 else 5365 { 5366 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NumericLiteral, Spacing), pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.LiteralPropertyName"), "LiteralPropertyName")(p); 5367 memo[tuple(`LiteralPropertyName`,p.end)] = result; 5368 return result; 5369 } 5370 } 5371 } 5372 5373 static TParseTree LiteralPropertyName(string s) 5374 { 5375 if(__ctfe) 5376 { 5377 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NumericLiteral, Spacing), pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.LiteralPropertyName")(TParseTree("", false,[], s)); 5378 } 5379 else 5380 { 5381 memo = null; 5382 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NumericLiteral, Spacing), pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.LiteralPropertyName"), "LiteralPropertyName")(TParseTree("", false,[], s)); 5383 } 5384 } 5385 static string LiteralPropertyName(GetName g) 5386 { 5387 return "ES6.LiteralPropertyName"; 5388 } 5389 5390 static TParseTree ComputedPropertyName(TParseTree p) 5391 { 5392 if(__ctfe) 5393 { 5394 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), "ES6.ComputedPropertyName")(p); 5395 } 5396 else 5397 { 5398 if(auto m = tuple(`ComputedPropertyName`,p.end) in memo) 5399 return *m; 5400 else 5401 { 5402 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), "ES6.ComputedPropertyName"), "ComputedPropertyName")(p); 5403 memo[tuple(`ComputedPropertyName`,p.end)] = result; 5404 return result; 5405 } 5406 } 5407 } 5408 5409 static TParseTree ComputedPropertyName(string s) 5410 { 5411 if(__ctfe) 5412 { 5413 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), "ES6.ComputedPropertyName")(TParseTree("", false,[], s)); 5414 } 5415 else 5416 { 5417 memo = null; 5418 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), "ES6.ComputedPropertyName"), "ComputedPropertyName")(TParseTree("", false,[], s)); 5419 } 5420 } 5421 static string ComputedPropertyName(GetName g) 5422 { 5423 return "ES6.ComputedPropertyName"; 5424 } 5425 5426 static TParseTree ComputedPropertyNameYield(TParseTree p) 5427 { 5428 if(__ctfe) 5429 { 5430 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), "ES6.ComputedPropertyNameYield")(p); 5431 } 5432 else 5433 { 5434 if(auto m = tuple(`ComputedPropertyNameYield`,p.end) in memo) 5435 return *m; 5436 else 5437 { 5438 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), "ES6.ComputedPropertyNameYield"), "ComputedPropertyNameYield")(p); 5439 memo[tuple(`ComputedPropertyNameYield`,p.end)] = result; 5440 return result; 5441 } 5442 } 5443 } 5444 5445 static TParseTree ComputedPropertyNameYield(string s) 5446 { 5447 if(__ctfe) 5448 { 5449 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), "ES6.ComputedPropertyNameYield")(TParseTree("", false,[], s)); 5450 } 5451 else 5452 { 5453 memo = null; 5454 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing), "ES6.ComputedPropertyNameYield"), "ComputedPropertyNameYield")(TParseTree("", false,[], s)); 5455 } 5456 } 5457 static string ComputedPropertyNameYield(GetName g) 5458 { 5459 return "ES6.ComputedPropertyNameYield"; 5460 } 5461 5462 static TParseTree CoverInitializedName(TParseTree p) 5463 { 5464 if(__ctfe) 5465 { 5466 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), "ES6.CoverInitializedName")(p); 5467 } 5468 else 5469 { 5470 if(auto m = tuple(`CoverInitializedName`,p.end) in memo) 5471 return *m; 5472 else 5473 { 5474 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), "ES6.CoverInitializedName"), "CoverInitializedName")(p); 5475 memo[tuple(`CoverInitializedName`,p.end)] = result; 5476 return result; 5477 } 5478 } 5479 } 5480 5481 static TParseTree CoverInitializedName(string s) 5482 { 5483 if(__ctfe) 5484 { 5485 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), "ES6.CoverInitializedName")(TParseTree("", false,[], s)); 5486 } 5487 else 5488 { 5489 memo = null; 5490 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReference, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), "ES6.CoverInitializedName"), "CoverInitializedName")(TParseTree("", false,[], s)); 5491 } 5492 } 5493 static string CoverInitializedName(GetName g) 5494 { 5495 return "ES6.CoverInitializedName"; 5496 } 5497 5498 static TParseTree CoverInitializedNameYield(TParseTree p) 5499 { 5500 if(__ctfe) 5501 { 5502 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), "ES6.CoverInitializedNameYield")(p); 5503 } 5504 else 5505 { 5506 if(auto m = tuple(`CoverInitializedNameYield`,p.end) in memo) 5507 return *m; 5508 else 5509 { 5510 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), "ES6.CoverInitializedNameYield"), "CoverInitializedNameYield")(p); 5511 memo[tuple(`CoverInitializedNameYield`,p.end)] = result; 5512 return result; 5513 } 5514 } 5515 } 5516 5517 static TParseTree CoverInitializedNameYield(string s) 5518 { 5519 if(__ctfe) 5520 { 5521 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), "ES6.CoverInitializedNameYield")(TParseTree("", false,[], s)); 5522 } 5523 else 5524 { 5525 memo = null; 5526 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, IdentifierReferenceYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), "ES6.CoverInitializedNameYield"), "CoverInitializedNameYield")(TParseTree("", false,[], s)); 5527 } 5528 } 5529 static string CoverInitializedNameYield(GetName g) 5530 { 5531 return "ES6.CoverInitializedNameYield"; 5532 } 5533 5534 static TParseTree Initializer(TParseTree p) 5535 { 5536 if(__ctfe) 5537 { 5538 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), "ES6.Initializer")(p); 5539 } 5540 else 5541 { 5542 if(auto m = tuple(`Initializer`,p.end) in memo) 5543 return *m; 5544 else 5545 { 5546 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), "ES6.Initializer"), "Initializer")(p); 5547 memo[tuple(`Initializer`,p.end)] = result; 5548 return result; 5549 } 5550 } 5551 } 5552 5553 static TParseTree Initializer(string s) 5554 { 5555 if(__ctfe) 5556 { 5557 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), "ES6.Initializer")(TParseTree("", false,[], s)); 5558 } 5559 else 5560 { 5561 memo = null; 5562 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), "ES6.Initializer"), "Initializer")(TParseTree("", false,[], s)); 5563 } 5564 } 5565 static string Initializer(GetName g) 5566 { 5567 return "ES6.Initializer"; 5568 } 5569 5570 static TParseTree InitializerIn(TParseTree p) 5571 { 5572 if(__ctfe) 5573 { 5574 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.InitializerIn")(p); 5575 } 5576 else 5577 { 5578 if(auto m = tuple(`InitializerIn`,p.end) in memo) 5579 return *m; 5580 else 5581 { 5582 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.InitializerIn"), "InitializerIn")(p); 5583 memo[tuple(`InitializerIn`,p.end)] = result; 5584 return result; 5585 } 5586 } 5587 } 5588 5589 static TParseTree InitializerIn(string s) 5590 { 5591 if(__ctfe) 5592 { 5593 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.InitializerIn")(TParseTree("", false,[], s)); 5594 } 5595 else 5596 { 5597 memo = null; 5598 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), "ES6.InitializerIn"), "InitializerIn")(TParseTree("", false,[], s)); 5599 } 5600 } 5601 static string InitializerIn(GetName g) 5602 { 5603 return "ES6.InitializerIn"; 5604 } 5605 5606 static TParseTree InitializerYield(TParseTree p) 5607 { 5608 if(__ctfe) 5609 { 5610 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), "ES6.InitializerYield")(p); 5611 } 5612 else 5613 { 5614 if(auto m = tuple(`InitializerYield`,p.end) in memo) 5615 return *m; 5616 else 5617 { 5618 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), "ES6.InitializerYield"), "InitializerYield")(p); 5619 memo[tuple(`InitializerYield`,p.end)] = result; 5620 return result; 5621 } 5622 } 5623 } 5624 5625 static TParseTree InitializerYield(string s) 5626 { 5627 if(__ctfe) 5628 { 5629 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), "ES6.InitializerYield")(TParseTree("", false,[], s)); 5630 } 5631 else 5632 { 5633 memo = null; 5634 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), "ES6.InitializerYield"), "InitializerYield")(TParseTree("", false,[], s)); 5635 } 5636 } 5637 static string InitializerYield(GetName g) 5638 { 5639 return "ES6.InitializerYield"; 5640 } 5641 5642 static TParseTree InitializerInYield(TParseTree p) 5643 { 5644 if(__ctfe) 5645 { 5646 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.InitializerInYield")(p); 5647 } 5648 else 5649 { 5650 if(auto m = tuple(`InitializerInYield`,p.end) in memo) 5651 return *m; 5652 else 5653 { 5654 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.InitializerInYield"), "InitializerInYield")(p); 5655 memo[tuple(`InitializerInYield`,p.end)] = result; 5656 return result; 5657 } 5658 } 5659 } 5660 5661 static TParseTree InitializerInYield(string s) 5662 { 5663 if(__ctfe) 5664 { 5665 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.InitializerInYield")(TParseTree("", false,[], s)); 5666 } 5667 else 5668 { 5669 memo = null; 5670 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), "ES6.InitializerInYield"), "InitializerInYield")(TParseTree("", false,[], s)); 5671 } 5672 } 5673 static string InitializerInYield(GetName g) 5674 { 5675 return "ES6.InitializerInYield"; 5676 } 5677 5678 static TParseTree TemplateLiteral(TParseTree p) 5679 { 5680 if(__ctfe) 5681 { 5682 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpans, Spacing)), Spacing)), "ES6.TemplateLiteral")(p); 5683 } 5684 else 5685 { 5686 if(auto m = tuple(`TemplateLiteral`,p.end) in memo) 5687 return *m; 5688 else 5689 { 5690 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpans, Spacing)), Spacing)), "ES6.TemplateLiteral"), "TemplateLiteral")(p); 5691 memo[tuple(`TemplateLiteral`,p.end)] = result; 5692 return result; 5693 } 5694 } 5695 } 5696 5697 static TParseTree TemplateLiteral(string s) 5698 { 5699 if(__ctfe) 5700 { 5701 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpans, Spacing)), Spacing)), "ES6.TemplateLiteral")(TParseTree("", false,[], s)); 5702 } 5703 else 5704 { 5705 memo = null; 5706 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpans, Spacing)), Spacing)), "ES6.TemplateLiteral"), "TemplateLiteral")(TParseTree("", false,[], s)); 5707 } 5708 } 5709 static string TemplateLiteral(GetName g) 5710 { 5711 return "ES6.TemplateLiteral"; 5712 } 5713 5714 static TParseTree TemplateLiteralYield(TParseTree p) 5715 { 5716 if(__ctfe) 5717 { 5718 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpansYield, Spacing)), Spacing)), "ES6.TemplateLiteralYield")(p); 5719 } 5720 else 5721 { 5722 if(auto m = tuple(`TemplateLiteralYield`,p.end) in memo) 5723 return *m; 5724 else 5725 { 5726 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpansYield, Spacing)), Spacing)), "ES6.TemplateLiteralYield"), "TemplateLiteralYield")(p); 5727 memo[tuple(`TemplateLiteralYield`,p.end)] = result; 5728 return result; 5729 } 5730 } 5731 } 5732 5733 static TParseTree TemplateLiteralYield(string s) 5734 { 5735 if(__ctfe) 5736 { 5737 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpansYield, Spacing)), Spacing)), "ES6.TemplateLiteralYield")(TParseTree("", false,[], s)); 5738 } 5739 else 5740 { 5741 memo = null; 5742 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, NoSubstitutionTemplate, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, TemplateHead, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, TemplateSpansYield, Spacing)), Spacing)), "ES6.TemplateLiteralYield"), "TemplateLiteralYield")(TParseTree("", false,[], s)); 5743 } 5744 } 5745 static string TemplateLiteralYield(GetName g) 5746 { 5747 return "ES6.TemplateLiteralYield"; 5748 } 5749 5750 static TParseTree TemplateSpans(TParseTree p) 5751 { 5752 if(__ctfe) 5753 { 5754 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpans")(p); 5755 } 5756 else 5757 { 5758 if(auto m = tuple(`TemplateSpans`,p.end) in memo) 5759 return *m; 5760 else 5761 { 5762 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpans"), "TemplateSpans")(p); 5763 memo[tuple(`TemplateSpans`,p.end)] = result; 5764 return result; 5765 } 5766 } 5767 } 5768 5769 static TParseTree TemplateSpans(string s) 5770 { 5771 if(__ctfe) 5772 { 5773 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpans")(TParseTree("", false,[], s)); 5774 } 5775 else 5776 { 5777 memo = null; 5778 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpans"), "TemplateSpans")(TParseTree("", false,[], s)); 5779 } 5780 } 5781 static string TemplateSpans(GetName g) 5782 { 5783 return "ES6.TemplateSpans"; 5784 } 5785 5786 static TParseTree TemplateSpansYield(TParseTree p) 5787 { 5788 if(__ctfe) 5789 { 5790 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpansYield")(p); 5791 } 5792 else 5793 { 5794 if(auto m = tuple(`TemplateSpansYield`,p.end) in memo) 5795 return *m; 5796 else 5797 { 5798 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpansYield"), "TemplateSpansYield")(p); 5799 memo[tuple(`TemplateSpansYield`,p.end)] = result; 5800 return result; 5801 } 5802 } 5803 } 5804 5805 static TParseTree TemplateSpansYield(string s) 5806 { 5807 if(__ctfe) 5808 { 5809 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpansYield")(TParseTree("", false,[], s)); 5810 } 5811 else 5812 { 5813 memo = null; 5814 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateTail, Spacing)), "ES6.TemplateSpansYield"), "TemplateSpansYield")(TParseTree("", false,[], s)); 5815 } 5816 } 5817 static string TemplateSpansYield(GetName g) 5818 { 5819 return "ES6.TemplateSpansYield"; 5820 } 5821 5822 static TParseTree TemplateMiddleList(TParseTree p) 5823 { 5824 if(__ctfe) 5825 { 5826 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.TemplateMiddleList")(p); 5827 } 5828 else 5829 { 5830 if(auto m = tuple(`TemplateMiddleList`,p.end) in memo) 5831 return *m; 5832 else 5833 { 5834 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.TemplateMiddleList"), "TemplateMiddleList")(p); 5835 memo[tuple(`TemplateMiddleList`,p.end)] = result; 5836 return result; 5837 } 5838 } 5839 } 5840 5841 static TParseTree TemplateMiddleList(string s) 5842 { 5843 if(__ctfe) 5844 { 5845 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.TemplateMiddleList")(TParseTree("", false,[], s)); 5846 } 5847 else 5848 { 5849 memo = null; 5850 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleList, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.TemplateMiddleList"), "TemplateMiddleList")(TParseTree("", false,[], s)); 5851 } 5852 } 5853 static string TemplateMiddleList(GetName g) 5854 { 5855 return "ES6.TemplateMiddleList"; 5856 } 5857 5858 static TParseTree TemplateMiddleListYield(TParseTree p) 5859 { 5860 if(__ctfe) 5861 { 5862 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.TemplateMiddleListYield")(p); 5863 } 5864 else 5865 { 5866 if(auto m = tuple(`TemplateMiddleListYield`,p.end) in memo) 5867 return *m; 5868 else 5869 { 5870 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.TemplateMiddleListYield"), "TemplateMiddleListYield")(p); 5871 memo[tuple(`TemplateMiddleListYield`,p.end)] = result; 5872 return result; 5873 } 5874 } 5875 } 5876 5877 static TParseTree TemplateMiddleListYield(string s) 5878 { 5879 if(__ctfe) 5880 { 5881 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.TemplateMiddleListYield")(TParseTree("", false,[], s)); 5882 } 5883 else 5884 { 5885 memo = null; 5886 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, TemplateMiddleListYield, Spacing)), pegged.peg.wrapAround!(Spacing, TemplateMiddle, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.TemplateMiddleListYield"), "TemplateMiddleListYield")(TParseTree("", false,[], s)); 5887 } 5888 } 5889 static string TemplateMiddleListYield(GetName g) 5890 { 5891 return "ES6.TemplateMiddleListYield"; 5892 } 5893 5894 static TParseTree FieldAccessor(TParseTree p) 5895 { 5896 if(__ctfe) 5897 { 5898 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.FieldAccessor")(p); 5899 } 5900 else 5901 { 5902 if(auto m = tuple(`FieldAccessor`,p.end) in memo) 5903 return *m; 5904 else 5905 { 5906 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.FieldAccessor"), "FieldAccessor")(p); 5907 memo[tuple(`FieldAccessor`,p.end)] = result; 5908 return result; 5909 } 5910 } 5911 } 5912 5913 static TParseTree FieldAccessor(string s) 5914 { 5915 if(__ctfe) 5916 { 5917 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.FieldAccessor")(TParseTree("", false,[], s)); 5918 } 5919 else 5920 { 5921 memo = null; 5922 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.wrapAround!(Spacing, IdentifierName, Spacing)), "ES6.FieldAccessor"), "FieldAccessor")(TParseTree("", false,[], s)); 5923 } 5924 } 5925 static string FieldAccessor(GetName g) 5926 { 5927 return "ES6.FieldAccessor"; 5928 } 5929 5930 static TParseTree MemberExpression(TParseTree p) 5931 { 5932 if(__ctfe) 5933 { 5934 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), "ES6.MemberExpression")(p); 5935 } 5936 else 5937 { 5938 if(auto m = tuple(`MemberExpression`,p.end) in memo) 5939 return *m; 5940 else 5941 { 5942 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), "ES6.MemberExpression"), "MemberExpression")(p); 5943 memo[tuple(`MemberExpression`,p.end)] = result; 5944 return result; 5945 } 5946 } 5947 } 5948 5949 static TParseTree MemberExpression(string s) 5950 { 5951 if(__ctfe) 5952 { 5953 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), "ES6.MemberExpression")(TParseTree("", false,[], s)); 5954 } 5955 else 5956 { 5957 memo = null; 5958 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperProperty, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpression, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing)), Spacing))), "ES6.MemberExpression"), "MemberExpression")(TParseTree("", false,[], s)); 5959 } 5960 } 5961 static string MemberExpression(GetName g) 5962 { 5963 return "ES6.MemberExpression"; 5964 } 5965 5966 static TParseTree MemberExpressionYield(TParseTree p) 5967 { 5968 if(__ctfe) 5969 { 5970 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), "ES6.MemberExpressionYield")(p); 5971 } 5972 else 5973 { 5974 if(auto m = tuple(`MemberExpressionYield`,p.end) in memo) 5975 return *m; 5976 else 5977 { 5978 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), "ES6.MemberExpressionYield"), "MemberExpressionYield")(p); 5979 memo[tuple(`MemberExpressionYield`,p.end)] = result; 5980 return result; 5981 } 5982 } 5983 } 5984 5985 static TParseTree MemberExpressionYield(string s) 5986 { 5987 if(__ctfe) 5988 { 5989 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), "ES6.MemberExpressionYield")(TParseTree("", false,[], s)); 5990 } 5991 else 5992 { 5993 memo = null; 5994 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperPropertyYield, Spacing), pegged.peg.wrapAround!(Spacing, MetaProperty, Spacing), pegged.peg.wrapAround!(Spacing, PrimaryExpressionYield, Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing)), Spacing))), "ES6.MemberExpressionYield"), "MemberExpressionYield")(TParseTree("", false,[], s)); 5995 } 5996 } 5997 static string MemberExpressionYield(GetName g) 5998 { 5999 return "ES6.MemberExpressionYield"; 6000 } 6001 6002 static TParseTree SuperProperty(TParseTree p) 6003 { 6004 if(__ctfe) 6005 { 6006 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperProperty")(p); 6007 } 6008 else 6009 { 6010 if(auto m = tuple(`SuperProperty`,p.end) in memo) 6011 return *m; 6012 else 6013 { 6014 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperProperty"), "SuperProperty")(p); 6015 memo[tuple(`SuperProperty`,p.end)] = result; 6016 return result; 6017 } 6018 } 6019 } 6020 6021 static TParseTree SuperProperty(string s) 6022 { 6023 if(__ctfe) 6024 { 6025 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperProperty")(TParseTree("", false,[], s)); 6026 } 6027 else 6028 { 6029 memo = null; 6030 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperProperty"), "SuperProperty")(TParseTree("", false,[], s)); 6031 } 6032 } 6033 static string SuperProperty(GetName g) 6034 { 6035 return "ES6.SuperProperty"; 6036 } 6037 6038 static TParseTree SuperPropertyYield(TParseTree p) 6039 { 6040 if(__ctfe) 6041 { 6042 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperPropertyYield")(p); 6043 } 6044 else 6045 { 6046 if(auto m = tuple(`SuperPropertyYield`,p.end) in memo) 6047 return *m; 6048 else 6049 { 6050 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperPropertyYield"), "SuperPropertyYield")(p); 6051 memo[tuple(`SuperPropertyYield`,p.end)] = result; 6052 return result; 6053 } 6054 } 6055 } 6056 6057 static TParseTree SuperPropertyYield(string s) 6058 { 6059 if(__ctfe) 6060 { 6061 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperPropertyYield")(TParseTree("", false,[], s)); 6062 } 6063 else 6064 { 6065 memo = null; 6066 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing)), Spacing)), "ES6.SuperPropertyYield"), "SuperPropertyYield")(TParseTree("", false,[], s)); 6067 } 6068 } 6069 static string SuperPropertyYield(GetName g) 6070 { 6071 return "ES6.SuperPropertyYield"; 6072 } 6073 6074 static TParseTree MetaProperty(TParseTree p) 6075 { 6076 if(__ctfe) 6077 { 6078 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, NewTarget, Spacing), "ES6.MetaProperty")(p); 6079 } 6080 else 6081 { 6082 if(auto m = tuple(`MetaProperty`,p.end) in memo) 6083 return *m; 6084 else 6085 { 6086 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, NewTarget, Spacing), "ES6.MetaProperty"), "MetaProperty")(p); 6087 memo[tuple(`MetaProperty`,p.end)] = result; 6088 return result; 6089 } 6090 } 6091 } 6092 6093 static TParseTree MetaProperty(string s) 6094 { 6095 if(__ctfe) 6096 { 6097 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, NewTarget, Spacing), "ES6.MetaProperty")(TParseTree("", false,[], s)); 6098 } 6099 else 6100 { 6101 memo = null; 6102 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, NewTarget, Spacing), "ES6.MetaProperty"), "MetaProperty")(TParseTree("", false,[], s)); 6103 } 6104 } 6105 static string MetaProperty(GetName g) 6106 { 6107 return "ES6.MetaProperty"; 6108 } 6109 6110 static TParseTree NewKeyword(TParseTree p) 6111 { 6112 if(__ctfe) 6113 { 6114 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("new"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.NewKeyword")(p); 6115 } 6116 else 6117 { 6118 if(auto m = tuple(`NewKeyword`,p.end) in memo) 6119 return *m; 6120 else 6121 { 6122 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("new"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.NewKeyword"), "NewKeyword")(p); 6123 memo[tuple(`NewKeyword`,p.end)] = result; 6124 return result; 6125 } 6126 } 6127 } 6128 6129 static TParseTree NewKeyword(string s) 6130 { 6131 if(__ctfe) 6132 { 6133 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("new"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.NewKeyword")(TParseTree("", false,[], s)); 6134 } 6135 else 6136 { 6137 memo = null; 6138 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("new"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.NewKeyword"), "NewKeyword")(TParseTree("", false,[], s)); 6139 } 6140 } 6141 static string NewKeyword(GetName g) 6142 { 6143 return "ES6.NewKeyword"; 6144 } 6145 6146 static TParseTree NewTarget(TParseTree p) 6147 { 6148 if(__ctfe) 6149 { 6150 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("new"), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("target"), Spacing))), "ES6.NewTarget")(p); 6151 } 6152 else 6153 { 6154 if(auto m = tuple(`NewTarget`,p.end) in memo) 6155 return *m; 6156 else 6157 { 6158 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("new"), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("target"), Spacing))), "ES6.NewTarget"), "NewTarget")(p); 6159 memo[tuple(`NewTarget`,p.end)] = result; 6160 return result; 6161 } 6162 } 6163 } 6164 6165 static TParseTree NewTarget(string s) 6166 { 6167 if(__ctfe) 6168 { 6169 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("new"), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("target"), Spacing))), "ES6.NewTarget")(TParseTree("", false,[], s)); 6170 } 6171 else 6172 { 6173 memo = null; 6174 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("new"), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("."), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("target"), Spacing))), "ES6.NewTarget"), "NewTarget")(TParseTree("", false,[], s)); 6175 } 6176 } 6177 static string NewTarget(GetName g) 6178 { 6179 return "ES6.NewTarget"; 6180 } 6181 6182 static TParseTree NewExpression(TParseTree p) 6183 { 6184 if(__ctfe) 6185 { 6186 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing)), Spacing)), "ES6.NewExpression")(p); 6187 } 6188 else 6189 { 6190 if(auto m = tuple(`NewExpression`,p.end) in memo) 6191 return *m; 6192 else 6193 { 6194 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing)), Spacing)), "ES6.NewExpression"), "NewExpression")(p); 6195 memo[tuple(`NewExpression`,p.end)] = result; 6196 return result; 6197 } 6198 } 6199 } 6200 6201 static TParseTree NewExpression(string s) 6202 { 6203 if(__ctfe) 6204 { 6205 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing)), Spacing)), "ES6.NewExpression")(TParseTree("", false,[], s)); 6206 } 6207 else 6208 { 6209 memo = null; 6210 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing)), Spacing)), "ES6.NewExpression"), "NewExpression")(TParseTree("", false,[], s)); 6211 } 6212 } 6213 static string NewExpression(GetName g) 6214 { 6215 return "ES6.NewExpression"; 6216 } 6217 6218 static TParseTree NewExpressionYield(TParseTree p) 6219 { 6220 if(__ctfe) 6221 { 6222 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing)), Spacing)), "ES6.NewExpressionYield")(p); 6223 } 6224 else 6225 { 6226 if(auto m = tuple(`NewExpressionYield`,p.end) in memo) 6227 return *m; 6228 else 6229 { 6230 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing)), Spacing)), "ES6.NewExpressionYield"), "NewExpressionYield")(p); 6231 memo[tuple(`NewExpressionYield`,p.end)] = result; 6232 return result; 6233 } 6234 } 6235 } 6236 6237 static TParseTree NewExpressionYield(string s) 6238 { 6239 if(__ctfe) 6240 { 6241 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing)), Spacing)), "ES6.NewExpressionYield")(TParseTree("", false,[], s)); 6242 } 6243 else 6244 { 6245 memo = null; 6246 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, NewKeyword, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, WhiteSpace, Spacing))), Spacing)), pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing)), Spacing)), "ES6.NewExpressionYield"), "NewExpressionYield")(TParseTree("", false,[], s)); 6247 } 6248 } 6249 static string NewExpressionYield(GetName g) 6250 { 6251 return "ES6.NewExpressionYield"; 6252 } 6253 6254 static TParseTree CallExpression(TParseTree p) 6255 { 6256 if(__ctfe) 6257 { 6258 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCall, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing))), "ES6.CallExpression")(p); 6259 } 6260 else 6261 { 6262 if(auto m = tuple(`CallExpression`,p.end) in memo) 6263 return *m; 6264 else 6265 { 6266 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCall, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing))), "ES6.CallExpression"), "CallExpression")(p); 6267 memo[tuple(`CallExpression`,p.end)] = result; 6268 return result; 6269 } 6270 } 6271 } 6272 6273 static TParseTree CallExpression(string s) 6274 { 6275 if(__ctfe) 6276 { 6277 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCall, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing))), "ES6.CallExpression")(TParseTree("", false,[], s)); 6278 } 6279 else 6280 { 6281 memo = null; 6282 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCall, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpression, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteral, Spacing), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), Spacing))), "ES6.CallExpression"), "CallExpression")(TParseTree("", false,[], s)); 6283 } 6284 } 6285 static string CallExpression(GetName g) 6286 { 6287 return "ES6.CallExpression"; 6288 } 6289 6290 static TParseTree CallExpressionYield(TParseTree p) 6291 { 6292 if(__ctfe) 6293 { 6294 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCallYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing))), "ES6.CallExpressionYield")(p); 6295 } 6296 else 6297 { 6298 if(auto m = tuple(`CallExpressionYield`,p.end) in memo) 6299 return *m; 6300 else 6301 { 6302 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCallYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing))), "ES6.CallExpressionYield"), "CallExpressionYield")(p); 6303 memo[tuple(`CallExpressionYield`,p.end)] = result; 6304 return result; 6305 } 6306 } 6307 } 6308 6309 static TParseTree CallExpressionYield(string s) 6310 { 6311 if(__ctfe) 6312 { 6313 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCallYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing))), "ES6.CallExpressionYield")(TParseTree("", false,[], s)); 6314 } 6315 else 6316 { 6317 memo = null; 6318 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SuperCallYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, MemberExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing)), Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, FieldAccessor, Spacing), Spacing), pegged.peg.wrapAround!(Spacing, TemplateLiteralYield, Spacing), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), Spacing))), "ES6.CallExpressionYield"), "CallExpressionYield")(TParseTree("", false,[], s)); 6319 } 6320 } 6321 static string CallExpressionYield(GetName g) 6322 { 6323 return "ES6.CallExpressionYield"; 6324 } 6325 6326 static TParseTree SuperCall(TParseTree p) 6327 { 6328 if(__ctfe) 6329 { 6330 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), "ES6.SuperCall")(p); 6331 } 6332 else 6333 { 6334 if(auto m = tuple(`SuperCall`,p.end) in memo) 6335 return *m; 6336 else 6337 { 6338 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), "ES6.SuperCall"), "SuperCall")(p); 6339 memo[tuple(`SuperCall`,p.end)] = result; 6340 return result; 6341 } 6342 } 6343 } 6344 6345 static TParseTree SuperCall(string s) 6346 { 6347 if(__ctfe) 6348 { 6349 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), "ES6.SuperCall")(TParseTree("", false,[], s)); 6350 } 6351 else 6352 { 6353 memo = null; 6354 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, Arguments, Spacing)), "ES6.SuperCall"), "SuperCall")(TParseTree("", false,[], s)); 6355 } 6356 } 6357 static string SuperCall(GetName g) 6358 { 6359 return "ES6.SuperCall"; 6360 } 6361 6362 static TParseTree SuperCallYield(TParseTree p) 6363 { 6364 if(__ctfe) 6365 { 6366 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), "ES6.SuperCallYield")(p); 6367 } 6368 else 6369 { 6370 if(auto m = tuple(`SuperCallYield`,p.end) in memo) 6371 return *m; 6372 else 6373 { 6374 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), "ES6.SuperCallYield"), "SuperCallYield")(p); 6375 memo[tuple(`SuperCallYield`,p.end)] = result; 6376 return result; 6377 } 6378 } 6379 } 6380 6381 static TParseTree SuperCallYield(string s) 6382 { 6383 if(__ctfe) 6384 { 6385 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), "ES6.SuperCallYield")(TParseTree("", false,[], s)); 6386 } 6387 else 6388 { 6389 memo = null; 6390 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("super"), Spacing)), pegged.peg.wrapAround!(Spacing, ArgumentsYield, Spacing)), "ES6.SuperCallYield"), "SuperCallYield")(TParseTree("", false,[], s)); 6391 } 6392 } 6393 static string SuperCallYield(GetName g) 6394 { 6395 return "ES6.SuperCallYield"; 6396 } 6397 6398 static TParseTree Arguments(TParseTree p) 6399 { 6400 if(__ctfe) 6401 { 6402 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing))), Spacing), "ES6.Arguments")(p); 6403 } 6404 else 6405 { 6406 if(auto m = tuple(`Arguments`,p.end) in memo) 6407 return *m; 6408 else 6409 { 6410 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing))), Spacing), "ES6.Arguments"), "Arguments")(p); 6411 memo[tuple(`Arguments`,p.end)] = result; 6412 return result; 6413 } 6414 } 6415 } 6416 6417 static TParseTree Arguments(string s) 6418 { 6419 if(__ctfe) 6420 { 6421 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing))), Spacing), "ES6.Arguments")(TParseTree("", false,[], s)); 6422 } 6423 else 6424 { 6425 memo = null; 6426 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing))), Spacing), "ES6.Arguments"), "Arguments")(TParseTree("", false,[], s)); 6427 } 6428 } 6429 static string Arguments(GetName g) 6430 { 6431 return "ES6.Arguments"; 6432 } 6433 6434 static TParseTree ArgumentsYield(TParseTree p) 6435 { 6436 if(__ctfe) 6437 { 6438 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing))), Spacing), "ES6.ArgumentsYield")(p); 6439 } 6440 else 6441 { 6442 if(auto m = tuple(`ArgumentsYield`,p.end) in memo) 6443 return *m; 6444 else 6445 { 6446 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing))), Spacing), "ES6.ArgumentsYield"), "ArgumentsYield")(p); 6447 memo[tuple(`ArgumentsYield`,p.end)] = result; 6448 return result; 6449 } 6450 } 6451 } 6452 6453 static TParseTree ArgumentsYield(string s) 6454 { 6455 if(__ctfe) 6456 { 6457 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing))), Spacing), "ES6.ArgumentsYield")(TParseTree("", false,[], s)); 6458 } 6459 else 6460 { 6461 memo = null; 6462 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing))), Spacing), "ES6.ArgumentsYield"), "ArgumentsYield")(TParseTree("", false,[], s)); 6463 } 6464 } 6465 static string ArgumentsYield(GetName g) 6466 { 6467 return "ES6.ArgumentsYield"; 6468 } 6469 6470 static TParseTree ArgumentList(TParseTree p) 6471 { 6472 if(__ctfe) 6473 { 6474 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing)), Spacing))), "ES6.ArgumentList")(p); 6475 } 6476 else 6477 { 6478 if(auto m = tuple(`ArgumentList`,p.end) in memo) 6479 return *m; 6480 else 6481 { 6482 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing)), Spacing))), "ES6.ArgumentList"), "ArgumentList")(p); 6483 memo[tuple(`ArgumentList`,p.end)] = result; 6484 return result; 6485 } 6486 } 6487 } 6488 6489 static TParseTree ArgumentList(string s) 6490 { 6491 if(__ctfe) 6492 { 6493 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing)), Spacing))), "ES6.ArgumentList")(TParseTree("", false,[], s)); 6494 } 6495 else 6496 { 6497 memo = null; 6498 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentList, Spacing)), Spacing))), "ES6.ArgumentList"), "ArgumentList")(TParseTree("", false,[], s)); 6499 } 6500 } 6501 static string ArgumentList(GetName g) 6502 { 6503 return "ES6.ArgumentList"; 6504 } 6505 6506 static TParseTree ArgumentListYield(TParseTree p) 6507 { 6508 if(__ctfe) 6509 { 6510 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing)), Spacing))), "ES6.ArgumentListYield")(p); 6511 } 6512 else 6513 { 6514 if(auto m = tuple(`ArgumentListYield`,p.end) in memo) 6515 return *m; 6516 else 6517 { 6518 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing)), Spacing))), "ES6.ArgumentListYield"), "ArgumentListYield")(p); 6519 memo[tuple(`ArgumentListYield`,p.end)] = result; 6520 return result; 6521 } 6522 } 6523 } 6524 6525 static TParseTree ArgumentListYield(string s) 6526 { 6527 if(__ctfe) 6528 { 6529 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing)), Spacing))), "ES6.ArgumentListYield")(TParseTree("", false,[], s)); 6530 } 6531 else 6532 { 6533 memo = null; 6534 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), pegged.peg.wrapAround!(Spacing, ArgumentListYield, Spacing)), Spacing))), "ES6.ArgumentListYield"), "ArgumentListYield")(TParseTree("", false,[], s)); 6535 } 6536 } 6537 static string ArgumentListYield(GetName g) 6538 { 6539 return "ES6.ArgumentListYield"; 6540 } 6541 6542 static TParseTree LeftHandSideExpression(TParseTree p) 6543 { 6544 if(__ctfe) 6545 { 6546 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpression, Spacing), pegged.peg.wrapAround!(Spacing, NewExpression, Spacing)), "ES6.LeftHandSideExpression")(p); 6547 } 6548 else 6549 { 6550 if(auto m = tuple(`LeftHandSideExpression`,p.end) in memo) 6551 return *m; 6552 else 6553 { 6554 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpression, Spacing), pegged.peg.wrapAround!(Spacing, NewExpression, Spacing)), "ES6.LeftHandSideExpression"), "LeftHandSideExpression")(p); 6555 memo[tuple(`LeftHandSideExpression`,p.end)] = result; 6556 return result; 6557 } 6558 } 6559 } 6560 6561 static TParseTree LeftHandSideExpression(string s) 6562 { 6563 if(__ctfe) 6564 { 6565 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpression, Spacing), pegged.peg.wrapAround!(Spacing, NewExpression, Spacing)), "ES6.LeftHandSideExpression")(TParseTree("", false,[], s)); 6566 } 6567 else 6568 { 6569 memo = null; 6570 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpression, Spacing), pegged.peg.wrapAround!(Spacing, NewExpression, Spacing)), "ES6.LeftHandSideExpression"), "LeftHandSideExpression")(TParseTree("", false,[], s)); 6571 } 6572 } 6573 static string LeftHandSideExpression(GetName g) 6574 { 6575 return "ES6.LeftHandSideExpression"; 6576 } 6577 6578 static TParseTree LeftHandSideExpressionYield(TParseTree p) 6579 { 6580 if(__ctfe) 6581 { 6582 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, NewExpressionYield, Spacing)), "ES6.LeftHandSideExpressionYield")(p); 6583 } 6584 else 6585 { 6586 if(auto m = tuple(`LeftHandSideExpressionYield`,p.end) in memo) 6587 return *m; 6588 else 6589 { 6590 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, NewExpressionYield, Spacing)), "ES6.LeftHandSideExpressionYield"), "LeftHandSideExpressionYield")(p); 6591 memo[tuple(`LeftHandSideExpressionYield`,p.end)] = result; 6592 return result; 6593 } 6594 } 6595 } 6596 6597 static TParseTree LeftHandSideExpressionYield(string s) 6598 { 6599 if(__ctfe) 6600 { 6601 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, NewExpressionYield, Spacing)), "ES6.LeftHandSideExpressionYield")(TParseTree("", false,[], s)); 6602 } 6603 else 6604 { 6605 memo = null; 6606 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CallExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, NewExpressionYield, Spacing)), "ES6.LeftHandSideExpressionYield"), "LeftHandSideExpressionYield")(TParseTree("", false,[], s)); 6607 } 6608 } 6609 static string LeftHandSideExpressionYield(GetName g) 6610 { 6611 return "ES6.LeftHandSideExpressionYield"; 6612 } 6613 6614 static TParseTree PostfixExpression(TParseTree p) 6615 { 6616 if(__ctfe) 6617 { 6618 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpression")(p); 6619 } 6620 else 6621 { 6622 if(auto m = tuple(`PostfixExpression`,p.end) in memo) 6623 return *m; 6624 else 6625 { 6626 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpression"), "PostfixExpression")(p); 6627 memo[tuple(`PostfixExpression`,p.end)] = result; 6628 return result; 6629 } 6630 } 6631 } 6632 6633 static TParseTree PostfixExpression(string s) 6634 { 6635 if(__ctfe) 6636 { 6637 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpression")(TParseTree("", false,[], s)); 6638 } 6639 else 6640 { 6641 memo = null; 6642 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpression"), "PostfixExpression")(TParseTree("", false,[], s)); 6643 } 6644 } 6645 static string PostfixExpression(GetName g) 6646 { 6647 return "ES6.PostfixExpression"; 6648 } 6649 6650 static TParseTree PostfixExpressionYield(TParseTree p) 6651 { 6652 if(__ctfe) 6653 { 6654 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpressionYield")(p); 6655 } 6656 else 6657 { 6658 if(auto m = tuple(`PostfixExpressionYield`,p.end) in memo) 6659 return *m; 6660 else 6661 { 6662 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpressionYield"), "PostfixExpressionYield")(p); 6663 memo[tuple(`PostfixExpressionYield`,p.end)] = result; 6664 return result; 6665 } 6666 } 6667 } 6668 6669 static TParseTree PostfixExpressionYield(string s) 6670 { 6671 if(__ctfe) 6672 { 6673 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpressionYield")(TParseTree("", false,[], s)); 6674 } 6675 else 6676 { 6677 memo = null; 6678 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Spaces, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, PostfixOperator, Spacing), Spacing)), Spacing))), "ES6.PostfixExpressionYield"), "PostfixExpressionYield")(TParseTree("", false,[], s)); 6679 } 6680 } 6681 static string PostfixExpressionYield(GetName g) 6682 { 6683 return "ES6.PostfixExpressionYield"; 6684 } 6685 6686 static TParseTree PostfixOperator(TParseTree p) 6687 { 6688 if(__ctfe) 6689 { 6690 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("++"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("--"), Spacing)), "ES6.PostfixOperator")(p); 6691 } 6692 else 6693 { 6694 if(auto m = tuple(`PostfixOperator`,p.end) in memo) 6695 return *m; 6696 else 6697 { 6698 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("++"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("--"), Spacing)), "ES6.PostfixOperator"), "PostfixOperator")(p); 6699 memo[tuple(`PostfixOperator`,p.end)] = result; 6700 return result; 6701 } 6702 } 6703 } 6704 6705 static TParseTree PostfixOperator(string s) 6706 { 6707 if(__ctfe) 6708 { 6709 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("++"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("--"), Spacing)), "ES6.PostfixOperator")(TParseTree("", false,[], s)); 6710 } 6711 else 6712 { 6713 memo = null; 6714 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("++"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("--"), Spacing)), "ES6.PostfixOperator"), "PostfixOperator")(TParseTree("", false,[], s)); 6715 } 6716 } 6717 static string PostfixOperator(GetName g) 6718 { 6719 return "ES6.PostfixOperator"; 6720 } 6721 6722 static TParseTree PrefixExpression(TParseTree p) 6723 { 6724 if(__ctfe) 6725 { 6726 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.keywords!("delete", "void", "typeof"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), pegged.peg.literal!("++"), pegged.peg.literal!("--"), pegged.peg.literal!("+"), pegged.peg.literal!("-"), pegged.peg.literal!("~"), pegged.peg.literal!("!")), "ES6.PrefixExpression")(p); 6727 } 6728 else 6729 { 6730 if(auto m = tuple(`PrefixExpression`,p.end) in memo) 6731 return *m; 6732 else 6733 { 6734 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.keywords!("delete", "void", "typeof"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), pegged.peg.literal!("++"), pegged.peg.literal!("--"), pegged.peg.literal!("+"), pegged.peg.literal!("-"), pegged.peg.literal!("~"), pegged.peg.literal!("!")), "ES6.PrefixExpression"), "PrefixExpression")(p); 6735 memo[tuple(`PrefixExpression`,p.end)] = result; 6736 return result; 6737 } 6738 } 6739 } 6740 6741 static TParseTree PrefixExpression(string s) 6742 { 6743 if(__ctfe) 6744 { 6745 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.keywords!("delete", "void", "typeof"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), pegged.peg.literal!("++"), pegged.peg.literal!("--"), pegged.peg.literal!("+"), pegged.peg.literal!("-"), pegged.peg.literal!("~"), pegged.peg.literal!("!")), "ES6.PrefixExpression")(TParseTree("", false,[], s)); 6746 } 6747 else 6748 { 6749 memo = null; 6750 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.keywords!("delete", "void", "typeof"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), pegged.peg.literal!("++"), pegged.peg.literal!("--"), pegged.peg.literal!("+"), pegged.peg.literal!("-"), pegged.peg.literal!("~"), pegged.peg.literal!("!")), "ES6.PrefixExpression"), "PrefixExpression")(TParseTree("", false,[], s)); 6751 } 6752 } 6753 static string PrefixExpression(GetName g) 6754 { 6755 return "ES6.PrefixExpression"; 6756 } 6757 6758 static TParseTree UnaryExpression(TParseTree p) 6759 { 6760 if(__ctfe) 6761 { 6762 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpression, Spacing)), "ES6.UnaryExpression")(p); 6763 } 6764 else 6765 { 6766 if(auto m = tuple(`UnaryExpression`,p.end) in memo) 6767 return *m; 6768 else 6769 { 6770 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpression, Spacing)), "ES6.UnaryExpression"), "UnaryExpression")(p); 6771 memo[tuple(`UnaryExpression`,p.end)] = result; 6772 return result; 6773 } 6774 } 6775 } 6776 6777 static TParseTree UnaryExpression(string s) 6778 { 6779 if(__ctfe) 6780 { 6781 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpression, Spacing)), "ES6.UnaryExpression")(TParseTree("", false,[], s)); 6782 } 6783 else 6784 { 6785 memo = null; 6786 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpression, Spacing)), "ES6.UnaryExpression"), "UnaryExpression")(TParseTree("", false,[], s)); 6787 } 6788 } 6789 static string UnaryExpression(GetName g) 6790 { 6791 return "ES6.UnaryExpression"; 6792 } 6793 6794 static TParseTree UnaryExpressionYield(TParseTree p) 6795 { 6796 if(__ctfe) 6797 { 6798 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpressionYield, Spacing)), "ES6.UnaryExpressionYield")(p); 6799 } 6800 else 6801 { 6802 if(auto m = tuple(`UnaryExpressionYield`,p.end) in memo) 6803 return *m; 6804 else 6805 { 6806 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpressionYield, Spacing)), "ES6.UnaryExpressionYield"), "UnaryExpressionYield")(p); 6807 memo[tuple(`UnaryExpressionYield`,p.end)] = result; 6808 return result; 6809 } 6810 } 6811 } 6812 6813 static TParseTree UnaryExpressionYield(string s) 6814 { 6815 if(__ctfe) 6816 { 6817 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpressionYield, Spacing)), "ES6.UnaryExpressionYield")(TParseTree("", false,[], s)); 6818 } 6819 else 6820 { 6821 memo = null; 6822 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, PrefixExpression, Spacing)), pegged.peg.wrapAround!(Spacing, PostfixExpressionYield, Spacing)), "ES6.UnaryExpressionYield"), "UnaryExpressionYield")(TParseTree("", false,[], s)); 6823 } 6824 } 6825 static string UnaryExpressionYield(GetName g) 6826 { 6827 return "ES6.UnaryExpressionYield"; 6828 } 6829 6830 static TParseTree RightHandSideExpression(TParseTree p) 6831 { 6832 if(__ctfe) 6833 { 6834 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpression, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpression")(p); 6835 } 6836 else 6837 { 6838 if(auto m = tuple(`RightHandSideExpression`,p.end) in memo) 6839 return *m; 6840 else 6841 { 6842 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpression, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpression"), "RightHandSideExpression")(p); 6843 memo[tuple(`RightHandSideExpression`,p.end)] = result; 6844 return result; 6845 } 6846 } 6847 } 6848 6849 static TParseTree RightHandSideExpression(string s) 6850 { 6851 if(__ctfe) 6852 { 6853 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpression, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpression")(TParseTree("", false,[], s)); 6854 } 6855 else 6856 { 6857 memo = null; 6858 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpression, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpression"), "RightHandSideExpression")(TParseTree("", false,[], s)); 6859 } 6860 } 6861 static string RightHandSideExpression(GetName g) 6862 { 6863 return "ES6.RightHandSideExpression"; 6864 } 6865 6866 static TParseTree RightHandSideExpressionIn(TParseTree p) 6867 { 6868 if(__ctfe) 6869 { 6870 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpressionIn")(p); 6871 } 6872 else 6873 { 6874 if(auto m = tuple(`RightHandSideExpressionIn`,p.end) in memo) 6875 return *m; 6876 else 6877 { 6878 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpressionIn"), "RightHandSideExpressionIn")(p); 6879 memo[tuple(`RightHandSideExpressionIn`,p.end)] = result; 6880 return result; 6881 } 6882 } 6883 } 6884 6885 static TParseTree RightHandSideExpressionIn(string s) 6886 { 6887 if(__ctfe) 6888 { 6889 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpressionIn")(TParseTree("", false,[], s)); 6890 } 6891 else 6892 { 6893 memo = null; 6894 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), "ES6.RightHandSideExpressionIn"), "RightHandSideExpressionIn")(TParseTree("", false,[], s)); 6895 } 6896 } 6897 static string RightHandSideExpressionIn(GetName g) 6898 { 6899 return "ES6.RightHandSideExpressionIn"; 6900 } 6901 6902 static TParseTree RightHandSideExpressionYield(TParseTree p) 6903 { 6904 if(__ctfe) 6905 { 6906 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionYield")(p); 6907 } 6908 else 6909 { 6910 if(auto m = tuple(`RightHandSideExpressionYield`,p.end) in memo) 6911 return *m; 6912 else 6913 { 6914 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionYield"), "RightHandSideExpressionYield")(p); 6915 memo[tuple(`RightHandSideExpressionYield`,p.end)] = result; 6916 return result; 6917 } 6918 } 6919 } 6920 6921 static TParseTree RightHandSideExpressionYield(string s) 6922 { 6923 if(__ctfe) 6924 { 6925 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionYield")(TParseTree("", false,[], s)); 6926 } 6927 else 6928 { 6929 memo = null; 6930 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionYield"), "RightHandSideExpressionYield")(TParseTree("", false,[], s)); 6931 } 6932 } 6933 static string RightHandSideExpressionYield(GetName g) 6934 { 6935 return "ES6.RightHandSideExpressionYield"; 6936 } 6937 6938 static TParseTree RightHandSideExpressionInYield(TParseTree p) 6939 { 6940 if(__ctfe) 6941 { 6942 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionInYield")(p); 6943 } 6944 else 6945 { 6946 if(auto m = tuple(`RightHandSideExpressionInYield`,p.end) in memo) 6947 return *m; 6948 else 6949 { 6950 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionInYield"), "RightHandSideExpressionInYield")(p); 6951 memo[tuple(`RightHandSideExpressionInYield`,p.end)] = result; 6952 return result; 6953 } 6954 } 6955 } 6956 6957 static TParseTree RightHandSideExpressionInYield(string s) 6958 { 6959 if(__ctfe) 6960 { 6961 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionInYield")(TParseTree("", false,[], s)); 6962 } 6963 else 6964 { 6965 memo = null; 6966 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BinaryExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), "ES6.RightHandSideExpressionInYield"), "RightHandSideExpressionInYield")(TParseTree("", false,[], s)); 6967 } 6968 } 6969 static string RightHandSideExpressionInYield(GetName g) 6970 { 6971 return "ES6.RightHandSideExpressionInYield"; 6972 } 6973 6974 static TParseTree BinaryExpression(TParseTree p) 6975 { 6976 if(__ctfe) 6977 { 6978 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpression")(p); 6979 } 6980 else 6981 { 6982 if(auto m = tuple(`BinaryExpression`,p.end) in memo) 6983 return *m; 6984 else 6985 { 6986 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpression"), "BinaryExpression")(p); 6987 memo[tuple(`BinaryExpression`,p.end)] = result; 6988 return result; 6989 } 6990 } 6991 } 6992 6993 static TParseTree BinaryExpression(string s) 6994 { 6995 if(__ctfe) 6996 { 6997 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpression")(TParseTree("", false,[], s)); 6998 } 6999 else 7000 { 7001 memo = null; 7002 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpression"), "BinaryExpression")(TParseTree("", false,[], s)); 7003 } 7004 } 7005 static string BinaryExpression(GetName g) 7006 { 7007 return "ES6.BinaryExpression"; 7008 } 7009 7010 static TParseTree BinaryExpressionIn(TParseTree p) 7011 { 7012 if(__ctfe) 7013 { 7014 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpressionIn")(p); 7015 } 7016 else 7017 { 7018 if(auto m = tuple(`BinaryExpressionIn`,p.end) in memo) 7019 return *m; 7020 else 7021 { 7022 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpressionIn"), "BinaryExpressionIn")(p); 7023 memo[tuple(`BinaryExpressionIn`,p.end)] = result; 7024 return result; 7025 } 7026 } 7027 } 7028 7029 static TParseTree BinaryExpressionIn(string s) 7030 { 7031 if(__ctfe) 7032 { 7033 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpressionIn")(TParseTree("", false,[], s)); 7034 } 7035 else 7036 { 7037 memo = null; 7038 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpression, Spacing)), Spacing))), "ES6.BinaryExpressionIn"), "BinaryExpressionIn")(TParseTree("", false,[], s)); 7039 } 7040 } 7041 static string BinaryExpressionIn(GetName g) 7042 { 7043 return "ES6.BinaryExpressionIn"; 7044 } 7045 7046 static TParseTree BinaryExpressionYield(TParseTree p) 7047 { 7048 if(__ctfe) 7049 { 7050 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionYield")(p); 7051 } 7052 else 7053 { 7054 if(auto m = tuple(`BinaryExpressionYield`,p.end) in memo) 7055 return *m; 7056 else 7057 { 7058 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionYield"), "BinaryExpressionYield")(p); 7059 memo[tuple(`BinaryExpressionYield`,p.end)] = result; 7060 return result; 7061 } 7062 } 7063 } 7064 7065 static TParseTree BinaryExpressionYield(string s) 7066 { 7067 if(__ctfe) 7068 { 7069 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionYield")(TParseTree("", false,[], s)); 7070 } 7071 else 7072 { 7073 memo = null; 7074 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperator, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionYield"), "BinaryExpressionYield")(TParseTree("", false,[], s)); 7075 } 7076 } 7077 static string BinaryExpressionYield(GetName g) 7078 { 7079 return "ES6.BinaryExpressionYield"; 7080 } 7081 7082 static TParseTree BinaryExpressionInYield(TParseTree p) 7083 { 7084 if(__ctfe) 7085 { 7086 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionInYield")(p); 7087 } 7088 else 7089 { 7090 if(auto m = tuple(`BinaryExpressionInYield`,p.end) in memo) 7091 return *m; 7092 else 7093 { 7094 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionInYield"), "BinaryExpressionInYield")(p); 7095 memo[tuple(`BinaryExpressionInYield`,p.end)] = result; 7096 return result; 7097 } 7098 } 7099 } 7100 7101 static TParseTree BinaryExpressionInYield(string s) 7102 { 7103 if(__ctfe) 7104 { 7105 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionInYield")(TParseTree("", false,[], s)); 7106 } 7107 else 7108 { 7109 memo = null; 7110 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing), pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ExpressionOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, UnaryExpressionYield, Spacing)), Spacing))), "ES6.BinaryExpressionInYield"), "BinaryExpressionInYield")(TParseTree("", false,[], s)); 7111 } 7112 } 7113 static string BinaryExpressionInYield(GetName g) 7114 { 7115 return "ES6.BinaryExpressionInYield"; 7116 } 7117 7118 static TParseTree ExpressionOperator(TParseTree p) 7119 { 7120 if(__ctfe) 7121 { 7122 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperator, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperator")(p); 7123 } 7124 else 7125 { 7126 if(auto m = tuple(`ExpressionOperator`,p.end) in memo) 7127 return *m; 7128 else 7129 { 7130 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperator, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperator"), "ExpressionOperator")(p); 7131 memo[tuple(`ExpressionOperator`,p.end)] = result; 7132 return result; 7133 } 7134 } 7135 } 7136 7137 static TParseTree ExpressionOperator(string s) 7138 { 7139 if(__ctfe) 7140 { 7141 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperator, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperator")(TParseTree("", false,[], s)); 7142 } 7143 else 7144 { 7145 memo = null; 7146 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperator, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperator"), "ExpressionOperator")(TParseTree("", false,[], s)); 7147 } 7148 } 7149 static string ExpressionOperator(GetName g) 7150 { 7151 return "ES6.ExpressionOperator"; 7152 } 7153 7154 static TParseTree ExpressionOperatorIn(TParseTree p) 7155 { 7156 if(__ctfe) 7157 { 7158 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperatorIn")(p); 7159 } 7160 else 7161 { 7162 if(auto m = tuple(`ExpressionOperatorIn`,p.end) in memo) 7163 return *m; 7164 else 7165 { 7166 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperatorIn"), "ExpressionOperatorIn")(p); 7167 memo[tuple(`ExpressionOperatorIn`,p.end)] = result; 7168 return result; 7169 } 7170 } 7171 } 7172 7173 static TParseTree ExpressionOperatorIn(string s) 7174 { 7175 if(__ctfe) 7176 { 7177 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperatorIn")(TParseTree("", false,[], s)); 7178 } 7179 else 7180 { 7181 memo = null; 7182 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, LogicalOperator, Spacing), pegged.peg.wrapAround!(Spacing, BitwiseOperator, Spacing), pegged.peg.wrapAround!(Spacing, EqualityOperator, Spacing), pegged.peg.wrapAround!(Spacing, ShiftOperator, Spacing), pegged.peg.wrapAround!(Spacing, RelationalOperatorIn, Spacing), pegged.peg.wrapAround!(Spacing, AdditiveOperator, Spacing), pegged.peg.wrapAround!(Spacing, MultiplicativeOperator, Spacing)), "ES6.ExpressionOperatorIn"), "ExpressionOperatorIn")(TParseTree("", false,[], s)); 7183 } 7184 } 7185 static string ExpressionOperatorIn(GetName g) 7186 { 7187 return "ES6.ExpressionOperatorIn"; 7188 } 7189 7190 static TParseTree LogicalOperator(TParseTree p) 7191 { 7192 if(__ctfe) 7193 { 7194 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("||"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&&"), Spacing)), "ES6.LogicalOperator")(p); 7195 } 7196 else 7197 { 7198 if(auto m = tuple(`LogicalOperator`,p.end) in memo) 7199 return *m; 7200 else 7201 { 7202 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("||"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&&"), Spacing)), "ES6.LogicalOperator"), "LogicalOperator")(p); 7203 memo[tuple(`LogicalOperator`,p.end)] = result; 7204 return result; 7205 } 7206 } 7207 } 7208 7209 static TParseTree LogicalOperator(string s) 7210 { 7211 if(__ctfe) 7212 { 7213 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("||"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&&"), Spacing)), "ES6.LogicalOperator")(TParseTree("", false,[], s)); 7214 } 7215 else 7216 { 7217 memo = null; 7218 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("||"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&&"), Spacing)), "ES6.LogicalOperator"), "LogicalOperator")(TParseTree("", false,[], s)); 7219 } 7220 } 7221 static string LogicalOperator(GetName g) 7222 { 7223 return "ES6.LogicalOperator"; 7224 } 7225 7226 static TParseTree BitwiseOperator(TParseTree p) 7227 { 7228 if(__ctfe) 7229 { 7230 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&"), Spacing)), "ES6.BitwiseOperator")(p); 7231 } 7232 else 7233 { 7234 if(auto m = tuple(`BitwiseOperator`,p.end) in memo) 7235 return *m; 7236 else 7237 { 7238 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&"), Spacing)), "ES6.BitwiseOperator"), "BitwiseOperator")(p); 7239 memo[tuple(`BitwiseOperator`,p.end)] = result; 7240 return result; 7241 } 7242 } 7243 } 7244 7245 static TParseTree BitwiseOperator(string s) 7246 { 7247 if(__ctfe) 7248 { 7249 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&"), Spacing)), "ES6.BitwiseOperator")(TParseTree("", false,[], s)); 7250 } 7251 else 7252 { 7253 memo = null; 7254 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&"), Spacing)), "ES6.BitwiseOperator"), "BitwiseOperator")(TParseTree("", false,[], s)); 7255 } 7256 } 7257 static string BitwiseOperator(GetName g) 7258 { 7259 return "ES6.BitwiseOperator"; 7260 } 7261 7262 static TParseTree EqualityOperator(TParseTree p) 7263 { 7264 if(__ctfe) 7265 { 7266 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("==="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!="), Spacing)), "ES6.EqualityOperator")(p); 7267 } 7268 else 7269 { 7270 if(auto m = tuple(`EqualityOperator`,p.end) in memo) 7271 return *m; 7272 else 7273 { 7274 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("==="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!="), Spacing)), "ES6.EqualityOperator"), "EqualityOperator")(p); 7275 memo[tuple(`EqualityOperator`,p.end)] = result; 7276 return result; 7277 } 7278 } 7279 } 7280 7281 static TParseTree EqualityOperator(string s) 7282 { 7283 if(__ctfe) 7284 { 7285 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("==="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!="), Spacing)), "ES6.EqualityOperator")(TParseTree("", false,[], s)); 7286 } 7287 else 7288 { 7289 memo = null; 7290 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("==="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("!="), Spacing)), "ES6.EqualityOperator"), "EqualityOperator")(TParseTree("", false,[], s)); 7291 } 7292 } 7293 static string EqualityOperator(GetName g) 7294 { 7295 return "ES6.EqualityOperator"; 7296 } 7297 7298 static TParseTree RelationalOperator(TParseTree p) 7299 { 7300 if(__ctfe) 7301 { 7302 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing)), "ES6.RelationalOperator")(p); 7303 } 7304 else 7305 { 7306 if(auto m = tuple(`RelationalOperator`,p.end) in memo) 7307 return *m; 7308 else 7309 { 7310 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing)), "ES6.RelationalOperator"), "RelationalOperator")(p); 7311 memo[tuple(`RelationalOperator`,p.end)] = result; 7312 return result; 7313 } 7314 } 7315 } 7316 7317 static TParseTree RelationalOperator(string s) 7318 { 7319 if(__ctfe) 7320 { 7321 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing)), "ES6.RelationalOperator")(TParseTree("", false,[], s)); 7322 } 7323 else 7324 { 7325 memo = null; 7326 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing)), "ES6.RelationalOperator"), "RelationalOperator")(TParseTree("", false,[], s)); 7327 } 7328 } 7329 static string RelationalOperator(GetName g) 7330 { 7331 return "ES6.RelationalOperator"; 7332 } 7333 7334 static TParseTree RelationalOperatorIn(TParseTree p) 7335 { 7336 if(__ctfe) 7337 { 7338 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing)), "ES6.RelationalOperatorIn")(p); 7339 } 7340 else 7341 { 7342 if(auto m = tuple(`RelationalOperatorIn`,p.end) in memo) 7343 return *m; 7344 else 7345 { 7346 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing)), "ES6.RelationalOperatorIn"), "RelationalOperatorIn")(p); 7347 memo[tuple(`RelationalOperatorIn`,p.end)] = result; 7348 return result; 7349 } 7350 } 7351 } 7352 7353 static TParseTree RelationalOperatorIn(string s) 7354 { 7355 if(__ctfe) 7356 { 7357 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing)), "ES6.RelationalOperatorIn")(TParseTree("", false,[], s)); 7358 } 7359 else 7360 { 7361 memo = null; 7362 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("instanceof"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing)), "ES6.RelationalOperatorIn"), "RelationalOperatorIn")(TParseTree("", false,[], s)); 7363 } 7364 } 7365 static string RelationalOperatorIn(GetName g) 7366 { 7367 return "ES6.RelationalOperatorIn"; 7368 } 7369 7370 static TParseTree ShiftOperator(TParseTree p) 7371 { 7372 if(__ctfe) 7373 { 7374 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>"), Spacing)), "ES6.ShiftOperator")(p); 7375 } 7376 else 7377 { 7378 if(auto m = tuple(`ShiftOperator`,p.end) in memo) 7379 return *m; 7380 else 7381 { 7382 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>"), Spacing)), "ES6.ShiftOperator"), "ShiftOperator")(p); 7383 memo[tuple(`ShiftOperator`,p.end)] = result; 7384 return result; 7385 } 7386 } 7387 } 7388 7389 static TParseTree ShiftOperator(string s) 7390 { 7391 if(__ctfe) 7392 { 7393 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>"), Spacing)), "ES6.ShiftOperator")(TParseTree("", false,[], s)); 7394 } 7395 else 7396 { 7397 memo = null; 7398 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>"), Spacing)), "ES6.ShiftOperator"), "ShiftOperator")(TParseTree("", false,[], s)); 7399 } 7400 } 7401 static string ShiftOperator(GetName g) 7402 { 7403 return "ES6.ShiftOperator"; 7404 } 7405 7406 static TParseTree AdditiveOperator(TParseTree p) 7407 { 7408 if(__ctfe) 7409 { 7410 return pegged.peg.defined!(pegged.peg.keywords!("+", "-"), "ES6.AdditiveOperator")(p); 7411 } 7412 else 7413 { 7414 if(auto m = tuple(`AdditiveOperator`,p.end) in memo) 7415 return *m; 7416 else 7417 { 7418 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.keywords!("+", "-"), "ES6.AdditiveOperator"), "AdditiveOperator")(p); 7419 memo[tuple(`AdditiveOperator`,p.end)] = result; 7420 return result; 7421 } 7422 } 7423 } 7424 7425 static TParseTree AdditiveOperator(string s) 7426 { 7427 if(__ctfe) 7428 { 7429 return pegged.peg.defined!(pegged.peg.keywords!("+", "-"), "ES6.AdditiveOperator")(TParseTree("", false,[], s)); 7430 } 7431 else 7432 { 7433 memo = null; 7434 return hooked!(pegged.peg.defined!(pegged.peg.keywords!("+", "-"), "ES6.AdditiveOperator"), "AdditiveOperator")(TParseTree("", false,[], s)); 7435 } 7436 } 7437 static string AdditiveOperator(GetName g) 7438 { 7439 return "ES6.AdditiveOperator"; 7440 } 7441 7442 static TParseTree MultiplicativeOperator(TParseTree p) 7443 { 7444 if(__ctfe) 7445 { 7446 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%"), Spacing)), "ES6.MultiplicativeOperator")(p); 7447 } 7448 else 7449 { 7450 if(auto m = tuple(`MultiplicativeOperator`,p.end) in memo) 7451 return *m; 7452 else 7453 { 7454 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%"), Spacing)), "ES6.MultiplicativeOperator"), "MultiplicativeOperator")(p); 7455 memo[tuple(`MultiplicativeOperator`,p.end)] = result; 7456 return result; 7457 } 7458 } 7459 } 7460 7461 static TParseTree MultiplicativeOperator(string s) 7462 { 7463 if(__ctfe) 7464 { 7465 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%"), Spacing)), "ES6.MultiplicativeOperator")(TParseTree("", false,[], s)); 7466 } 7467 else 7468 { 7469 memo = null; 7470 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%"), Spacing)), "ES6.MultiplicativeOperator"), "MultiplicativeOperator")(TParseTree("", false,[], s)); 7471 } 7472 } 7473 static string MultiplicativeOperator(GetName g) 7474 { 7475 return "ES6.MultiplicativeOperator"; 7476 } 7477 7478 static TParseTree ConditionalExpression(TParseTree p) 7479 { 7480 if(__ctfe) 7481 { 7482 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.ConditionalExpression")(p); 7483 } 7484 else 7485 { 7486 if(auto m = tuple(`ConditionalExpression`,p.end) in memo) 7487 return *m; 7488 else 7489 { 7490 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.ConditionalExpression"), "ConditionalExpression")(p); 7491 memo[tuple(`ConditionalExpression`,p.end)] = result; 7492 return result; 7493 } 7494 } 7495 } 7496 7497 static TParseTree ConditionalExpression(string s) 7498 { 7499 if(__ctfe) 7500 { 7501 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.ConditionalExpression")(TParseTree("", false,[], s)); 7502 } 7503 else 7504 { 7505 memo = null; 7506 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpression, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.ConditionalExpression"), "ConditionalExpression")(TParseTree("", false,[], s)); 7507 } 7508 } 7509 static string ConditionalExpression(GetName g) 7510 { 7511 return "ES6.ConditionalExpression"; 7512 } 7513 7514 static TParseTree ConditionalExpressionIn(TParseTree p) 7515 { 7516 if(__ctfe) 7517 { 7518 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionIn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ConditionalExpressionIn")(p); 7519 } 7520 else 7521 { 7522 if(auto m = tuple(`ConditionalExpressionIn`,p.end) in memo) 7523 return *m; 7524 else 7525 { 7526 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionIn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ConditionalExpressionIn"), "ConditionalExpressionIn")(p); 7527 memo[tuple(`ConditionalExpressionIn`,p.end)] = result; 7528 return result; 7529 } 7530 } 7531 } 7532 7533 static TParseTree ConditionalExpressionIn(string s) 7534 { 7535 if(__ctfe) 7536 { 7537 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionIn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ConditionalExpressionIn")(TParseTree("", false,[], s)); 7538 } 7539 else 7540 { 7541 memo = null; 7542 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionIn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ConditionalExpressionIn"), "ConditionalExpressionIn")(TParseTree("", false,[], s)); 7543 } 7544 } 7545 static string ConditionalExpressionIn(GetName g) 7546 { 7547 return "ES6.ConditionalExpressionIn"; 7548 } 7549 7550 static TParseTree ConditionalExpressionYield(TParseTree p) 7551 { 7552 if(__ctfe) 7553 { 7554 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ConditionalExpressionYield")(p); 7555 } 7556 else 7557 { 7558 if(auto m = tuple(`ConditionalExpressionYield`,p.end) in memo) 7559 return *m; 7560 else 7561 { 7562 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ConditionalExpressionYield"), "ConditionalExpressionYield")(p); 7563 memo[tuple(`ConditionalExpressionYield`,p.end)] = result; 7564 return result; 7565 } 7566 } 7567 } 7568 7569 static TParseTree ConditionalExpressionYield(string s) 7570 { 7571 if(__ctfe) 7572 { 7573 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ConditionalExpressionYield")(TParseTree("", false,[], s)); 7574 } 7575 else 7576 { 7577 memo = null; 7578 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ConditionalExpressionYield"), "ConditionalExpressionYield")(TParseTree("", false,[], s)); 7579 } 7580 } 7581 static string ConditionalExpressionYield(GetName g) 7582 { 7583 return "ES6.ConditionalExpressionYield"; 7584 } 7585 7586 static TParseTree ConditionalExpressionInYield(TParseTree p) 7587 { 7588 if(__ctfe) 7589 { 7590 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionInYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ConditionalExpressionInYield")(p); 7591 } 7592 else 7593 { 7594 if(auto m = tuple(`ConditionalExpressionInYield`,p.end) in memo) 7595 return *m; 7596 else 7597 { 7598 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionInYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ConditionalExpressionInYield"), "ConditionalExpressionInYield")(p); 7599 memo[tuple(`ConditionalExpressionInYield`,p.end)] = result; 7600 return result; 7601 } 7602 } 7603 } 7604 7605 static TParseTree ConditionalExpressionInYield(string s) 7606 { 7607 if(__ctfe) 7608 { 7609 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionInYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ConditionalExpressionInYield")(TParseTree("", false,[], s)); 7610 } 7611 else 7612 { 7613 memo = null; 7614 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, RightHandSideExpressionInYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("?"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ConditionalExpressionInYield"), "ConditionalExpressionInYield")(TParseTree("", false,[], s)); 7615 } 7616 } 7617 static string ConditionalExpressionInYield(GetName g) 7618 { 7619 return "ES6.ConditionalExpressionInYield"; 7620 } 7621 7622 static TParseTree AssignmentExpression(TParseTree p) 7623 { 7624 if(__ctfe) 7625 { 7626 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpression")(p); 7627 } 7628 else 7629 { 7630 if(auto m = tuple(`AssignmentExpression`,p.end) in memo) 7631 return *m; 7632 else 7633 { 7634 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpression"), "AssignmentExpression")(p); 7635 memo[tuple(`AssignmentExpression`,p.end)] = result; 7636 return result; 7637 } 7638 } 7639 } 7640 7641 static TParseTree AssignmentExpression(string s) 7642 { 7643 if(__ctfe) 7644 { 7645 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpression")(TParseTree("", false,[], s)); 7646 } 7647 else 7648 { 7649 memo = null; 7650 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpression"), "AssignmentExpression")(TParseTree("", false,[], s)); 7651 } 7652 } 7653 static string AssignmentExpression(GetName g) 7654 { 7655 return "ES6.AssignmentExpression"; 7656 } 7657 7658 static TParseTree AssignmentExpressionIn(TParseTree p) 7659 { 7660 if(__ctfe) 7661 { 7662 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionIn")(p); 7663 } 7664 else 7665 { 7666 if(auto m = tuple(`AssignmentExpressionIn`,p.end) in memo) 7667 return *m; 7668 else 7669 { 7670 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionIn"), "AssignmentExpressionIn")(p); 7671 memo[tuple(`AssignmentExpressionIn`,p.end)] = result; 7672 return result; 7673 } 7674 } 7675 } 7676 7677 static TParseTree AssignmentExpressionIn(string s) 7678 { 7679 if(__ctfe) 7680 { 7681 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionIn")(TParseTree("", false,[], s)); 7682 } 7683 else 7684 { 7685 memo = null; 7686 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionIn, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionIn, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionIn"), "AssignmentExpressionIn")(TParseTree("", false,[], s)); 7687 } 7688 } 7689 static string AssignmentExpressionIn(GetName g) 7690 { 7691 return "ES6.AssignmentExpressionIn"; 7692 } 7693 7694 static TParseTree AssignmentExpressionYield(TParseTree p) 7695 { 7696 if(__ctfe) 7697 { 7698 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionYield")(p); 7699 } 7700 else 7701 { 7702 if(auto m = tuple(`AssignmentExpressionYield`,p.end) in memo) 7703 return *m; 7704 else 7705 { 7706 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionYield"), "AssignmentExpressionYield")(p); 7707 memo[tuple(`AssignmentExpressionYield`,p.end)] = result; 7708 return result; 7709 } 7710 } 7711 } 7712 7713 static TParseTree AssignmentExpressionYield(string s) 7714 { 7715 if(__ctfe) 7716 { 7717 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionYield")(TParseTree("", false,[], s)); 7718 } 7719 else 7720 { 7721 memo = null; 7722 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpression, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionYield"), "AssignmentExpressionYield")(TParseTree("", false,[], s)); 7723 } 7724 } 7725 static string AssignmentExpressionYield(GetName g) 7726 { 7727 return "ES6.AssignmentExpressionYield"; 7728 } 7729 7730 static TParseTree AssignmentExpressionInYield(TParseTree p) 7731 { 7732 if(__ctfe) 7733 { 7734 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionInYield")(p); 7735 } 7736 else 7737 { 7738 if(auto m = tuple(`AssignmentExpressionInYield`,p.end) in memo) 7739 return *m; 7740 else 7741 { 7742 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionInYield"), "AssignmentExpressionInYield")(p); 7743 memo[tuple(`AssignmentExpressionInYield`,p.end)] = result; 7744 return result; 7745 } 7746 } 7747 } 7748 7749 static TParseTree AssignmentExpressionInYield(string s) 7750 { 7751 if(__ctfe) 7752 { 7753 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionInYield")(TParseTree("", false,[], s)); 7754 } 7755 else 7756 { 7757 memo = null; 7758 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentOperator, Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, YieldExpressionIn, Spacing), pegged.peg.wrapAround!(Spacing, ArrowFunctionInYield, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpressionInYield, Spacing)), Spacing)), Spacing)), "ES6.AssignmentExpressionInYield"), "AssignmentExpressionInYield")(TParseTree("", false,[], s)); 7759 } 7760 } 7761 static string AssignmentExpressionInYield(GetName g) 7762 { 7763 return "ES6.AssignmentExpressionInYield"; 7764 } 7765 7766 static TParseTree AssignmentOperator(TParseTree p) 7767 { 7768 if(__ctfe) 7769 { 7770 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("+="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("-="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|="), Spacing)), "ES6.AssignmentOperator")(p); 7771 } 7772 else 7773 { 7774 if(auto m = tuple(`AssignmentOperator`,p.end) in memo) 7775 return *m; 7776 else 7777 { 7778 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("+="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("-="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|="), Spacing)), "ES6.AssignmentOperator"), "AssignmentOperator")(p); 7779 memo[tuple(`AssignmentOperator`,p.end)] = result; 7780 return result; 7781 } 7782 } 7783 } 7784 7785 static TParseTree AssignmentOperator(string s) 7786 { 7787 if(__ctfe) 7788 { 7789 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("+="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("-="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|="), Spacing)), "ES6.AssignmentOperator")(TParseTree("", false,[], s)); 7790 } 7791 else 7792 { 7793 memo = null; 7794 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("=="), Spacing)), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("%="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("+="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("-="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<<="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">>>="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("&="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("^="), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("|="), Spacing)), "ES6.AssignmentOperator"), "AssignmentOperator")(TParseTree("", false,[], s)); 7795 } 7796 } 7797 static string AssignmentOperator(GetName g) 7798 { 7799 return "ES6.AssignmentOperator"; 7800 } 7801 7802 static TParseTree Comma(TParseTree p) 7803 { 7804 if(__ctfe) 7805 { 7806 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), "ES6.Comma")(p); 7807 } 7808 else 7809 { 7810 if(auto m = tuple(`Comma`,p.end) in memo) 7811 return *m; 7812 else 7813 { 7814 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), "ES6.Comma"), "Comma")(p); 7815 memo[tuple(`Comma`,p.end)] = result; 7816 return result; 7817 } 7818 } 7819 } 7820 7821 static TParseTree Comma(string s) 7822 { 7823 if(__ctfe) 7824 { 7825 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), "ES6.Comma")(TParseTree("", false,[], s)); 7826 } 7827 else 7828 { 7829 memo = null; 7830 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing), "ES6.Comma"), "Comma")(TParseTree("", false,[], s)); 7831 } 7832 } 7833 static string Comma(GetName g) 7834 { 7835 return "ES6.Comma"; 7836 } 7837 7838 static TParseTree Expression(TParseTree p) 7839 { 7840 if(__ctfe) 7841 { 7842 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.Expression")(p); 7843 } 7844 else 7845 { 7846 if(auto m = tuple(`Expression`,p.end) in memo) 7847 return *m; 7848 else 7849 { 7850 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.Expression"), "Expression")(p); 7851 memo[tuple(`Expression`,p.end)] = result; 7852 return result; 7853 } 7854 } 7855 } 7856 7857 static TParseTree Expression(string s) 7858 { 7859 if(__ctfe) 7860 { 7861 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.Expression")(TParseTree("", false,[], s)); 7862 } 7863 else 7864 { 7865 memo = null; 7866 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing))), "ES6.Expression"), "Expression")(TParseTree("", false,[], s)); 7867 } 7868 } 7869 static string Expression(GetName g) 7870 { 7871 return "ES6.Expression"; 7872 } 7873 7874 static TParseTree ExpressionIn(TParseTree p) 7875 { 7876 if(__ctfe) 7877 { 7878 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ExpressionIn")(p); 7879 } 7880 else 7881 { 7882 if(auto m = tuple(`ExpressionIn`,p.end) in memo) 7883 return *m; 7884 else 7885 { 7886 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ExpressionIn"), "ExpressionIn")(p); 7887 memo[tuple(`ExpressionIn`,p.end)] = result; 7888 return result; 7889 } 7890 } 7891 } 7892 7893 static TParseTree ExpressionIn(string s) 7894 { 7895 if(__ctfe) 7896 { 7897 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ExpressionIn")(TParseTree("", false,[], s)); 7898 } 7899 else 7900 { 7901 memo = null; 7902 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing))), "ES6.ExpressionIn"), "ExpressionIn")(TParseTree("", false,[], s)); 7903 } 7904 } 7905 static string ExpressionIn(GetName g) 7906 { 7907 return "ES6.ExpressionIn"; 7908 } 7909 7910 static TParseTree ExpressionYield(TParseTree p) 7911 { 7912 if(__ctfe) 7913 { 7914 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ExpressionYield")(p); 7915 } 7916 else 7917 { 7918 if(auto m = tuple(`ExpressionYield`,p.end) in memo) 7919 return *m; 7920 else 7921 { 7922 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ExpressionYield"), "ExpressionYield")(p); 7923 memo[tuple(`ExpressionYield`,p.end)] = result; 7924 return result; 7925 } 7926 } 7927 } 7928 7929 static TParseTree ExpressionYield(string s) 7930 { 7931 if(__ctfe) 7932 { 7933 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ExpressionYield")(TParseTree("", false,[], s)); 7934 } 7935 else 7936 { 7937 memo = null; 7938 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionYield, Spacing)), Spacing))), "ES6.ExpressionYield"), "ExpressionYield")(TParseTree("", false,[], s)); 7939 } 7940 } 7941 static string ExpressionYield(GetName g) 7942 { 7943 return "ES6.ExpressionYield"; 7944 } 7945 7946 static TParseTree ExpressionInYield(TParseTree p) 7947 { 7948 if(__ctfe) 7949 { 7950 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ExpressionInYield")(p); 7951 } 7952 else 7953 { 7954 if(auto m = tuple(`ExpressionInYield`,p.end) in memo) 7955 return *m; 7956 else 7957 { 7958 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ExpressionInYield"), "ExpressionInYield")(p); 7959 memo[tuple(`ExpressionInYield`,p.end)] = result; 7960 return result; 7961 } 7962 } 7963 } 7964 7965 static TParseTree ExpressionInYield(string s) 7966 { 7967 if(__ctfe) 7968 { 7969 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ExpressionInYield")(TParseTree("", false,[], s)); 7970 } 7971 else 7972 { 7973 memo = null; 7974 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, Comma, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing))), "ES6.ExpressionInYield"), "ExpressionInYield")(TParseTree("", false,[], s)); 7975 } 7976 } 7977 static string ExpressionInYield(GetName g) 7978 { 7979 return "ES6.ExpressionInYield"; 7980 } 7981 7982 static TParseTree Statement(TParseTree p) 7983 { 7984 if(__ctfe) 7985 { 7986 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatement, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatement, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatement, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatement, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatement, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.Statement")(p); 7987 } 7988 else 7989 { 7990 if(auto m = tuple(`Statement`,p.end) in memo) 7991 return *m; 7992 else 7993 { 7994 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatement, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatement, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatement, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatement, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatement, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.Statement"), "Statement")(p); 7995 memo[tuple(`Statement`,p.end)] = result; 7996 return result; 7997 } 7998 } 7999 } 8000 8001 static TParseTree Statement(string s) 8002 { 8003 if(__ctfe) 8004 { 8005 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatement, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatement, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatement, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatement, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatement, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.Statement")(TParseTree("", false,[], s)); 8006 } 8007 else 8008 { 8009 memo = null; 8010 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatement, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatement, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatement, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatement, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatement, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.Statement"), "Statement")(TParseTree("", false,[], s)); 8011 } 8012 } 8013 static string Statement(GetName g) 8014 { 8015 return "ES6.Statement"; 8016 } 8017 8018 static TParseTree StatementYield(TParseTree p) 8019 { 8020 if(__ctfe) 8021 { 8022 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYield")(p); 8023 } 8024 else 8025 { 8026 if(auto m = tuple(`StatementYield`,p.end) in memo) 8027 return *m; 8028 else 8029 { 8030 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYield"), "StatementYield")(p); 8031 memo[tuple(`StatementYield`,p.end)] = result; 8032 return result; 8033 } 8034 } 8035 } 8036 8037 static TParseTree StatementYield(string s) 8038 { 8039 if(__ctfe) 8040 { 8041 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYield")(TParseTree("", false,[], s)); 8042 } 8043 else 8044 { 8045 memo = null; 8046 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYield"), "StatementYield")(TParseTree("", false,[], s)); 8047 } 8048 } 8049 static string StatementYield(GetName g) 8050 { 8051 return "ES6.StatementYield"; 8052 } 8053 8054 static TParseTree StatementReturn(TParseTree p) 8055 { 8056 if(__ctfe) 8057 { 8058 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementReturn")(p); 8059 } 8060 else 8061 { 8062 if(auto m = tuple(`StatementReturn`,p.end) in memo) 8063 return *m; 8064 else 8065 { 8066 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementReturn"), "StatementReturn")(p); 8067 memo[tuple(`StatementReturn`,p.end)] = result; 8068 return result; 8069 } 8070 } 8071 } 8072 8073 static TParseTree StatementReturn(string s) 8074 { 8075 if(__ctfe) 8076 { 8077 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementReturn")(TParseTree("", false,[], s)); 8078 } 8079 else 8080 { 8081 memo = null; 8082 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatement, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatement, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatement, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatement, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatement, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatement, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementReturn"), "StatementReturn")(TParseTree("", false,[], s)); 8083 } 8084 } 8085 static string StatementReturn(GetName g) 8086 { 8087 return "ES6.StatementReturn"; 8088 } 8089 8090 static TParseTree StatementYieldReturn(TParseTree p) 8091 { 8092 if(__ctfe) 8093 { 8094 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYieldReturn")(p); 8095 } 8096 else 8097 { 8098 if(auto m = tuple(`StatementYieldReturn`,p.end) in memo) 8099 return *m; 8100 else 8101 { 8102 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYieldReturn"), "StatementYieldReturn")(p); 8103 memo[tuple(`StatementYieldReturn`,p.end)] = result; 8104 return result; 8105 } 8106 } 8107 } 8108 8109 static TParseTree StatementYieldReturn(string s) 8110 { 8111 if(__ctfe) 8112 { 8113 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYieldReturn")(TParseTree("", false,[], s)); 8114 } 8115 else 8116 { 8117 memo = null; 8118 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BlockStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, VariableStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, EmptyStatement, Spacing), pegged.peg.wrapAround!(Spacing, IfStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, BreakableStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ContinueStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, BreakStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, ReturnStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WithStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, LabelledStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, ThrowStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, TryStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, DebuggerStatement, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionStatementYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)))), "ES6.StatementYieldReturn"), "StatementYieldReturn")(TParseTree("", false,[], s)); 8119 } 8120 } 8121 static string StatementYieldReturn(GetName g) 8122 { 8123 return "ES6.StatementYieldReturn"; 8124 } 8125 8126 static TParseTree Declaration(TParseTree p) 8127 { 8128 if(__ctfe) 8129 { 8130 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationIn, Spacing)), "ES6.Declaration")(p); 8131 } 8132 else 8133 { 8134 if(auto m = tuple(`Declaration`,p.end) in memo) 8135 return *m; 8136 else 8137 { 8138 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationIn, Spacing)), "ES6.Declaration"), "Declaration")(p); 8139 memo[tuple(`Declaration`,p.end)] = result; 8140 return result; 8141 } 8142 } 8143 } 8144 8145 static TParseTree Declaration(string s) 8146 { 8147 if(__ctfe) 8148 { 8149 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationIn, Spacing)), "ES6.Declaration")(TParseTree("", false,[], s)); 8150 } 8151 else 8152 { 8153 memo = null; 8154 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationIn, Spacing)), "ES6.Declaration"), "Declaration")(TParseTree("", false,[], s)); 8155 } 8156 } 8157 static string Declaration(GetName g) 8158 { 8159 return "ES6.Declaration"; 8160 } 8161 8162 static TParseTree DeclarationYield(TParseTree p) 8163 { 8164 if(__ctfe) 8165 { 8166 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationInYield, Spacing)), "ES6.DeclarationYield")(p); 8167 } 8168 else 8169 { 8170 if(auto m = tuple(`DeclarationYield`,p.end) in memo) 8171 return *m; 8172 else 8173 { 8174 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationInYield, Spacing)), "ES6.DeclarationYield"), "DeclarationYield")(p); 8175 memo[tuple(`DeclarationYield`,p.end)] = result; 8176 return result; 8177 } 8178 } 8179 } 8180 8181 static TParseTree DeclarationYield(string s) 8182 { 8183 if(__ctfe) 8184 { 8185 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationInYield, Spacing)), "ES6.DeclarationYield")(TParseTree("", false,[], s)); 8186 } 8187 else 8188 { 8189 memo = null; 8190 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, HoistableDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, ClassDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, LexicalDeclarationInYield, Spacing)), "ES6.DeclarationYield"), "DeclarationYield")(TParseTree("", false,[], s)); 8191 } 8192 } 8193 static string DeclarationYield(GetName g) 8194 { 8195 return "ES6.DeclarationYield"; 8196 } 8197 8198 static TParseTree HoistableDeclaration(TParseTree p) 8199 { 8200 if(__ctfe) 8201 { 8202 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing)), "ES6.HoistableDeclaration")(p); 8203 } 8204 else 8205 { 8206 if(auto m = tuple(`HoistableDeclaration`,p.end) in memo) 8207 return *m; 8208 else 8209 { 8210 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing)), "ES6.HoistableDeclaration"), "HoistableDeclaration")(p); 8211 memo[tuple(`HoistableDeclaration`,p.end)] = result; 8212 return result; 8213 } 8214 } 8215 } 8216 8217 static TParseTree HoistableDeclaration(string s) 8218 { 8219 if(__ctfe) 8220 { 8221 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing)), "ES6.HoistableDeclaration")(TParseTree("", false,[], s)); 8222 } 8223 else 8224 { 8225 memo = null; 8226 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing)), "ES6.HoistableDeclaration"), "HoistableDeclaration")(TParseTree("", false,[], s)); 8227 } 8228 } 8229 static string HoistableDeclaration(GetName g) 8230 { 8231 return "ES6.HoistableDeclaration"; 8232 } 8233 8234 static TParseTree HoistableDeclarationYield(TParseTree p) 8235 { 8236 if(__ctfe) 8237 { 8238 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing)), "ES6.HoistableDeclarationYield")(p); 8239 } 8240 else 8241 { 8242 if(auto m = tuple(`HoistableDeclarationYield`,p.end) in memo) 8243 return *m; 8244 else 8245 { 8246 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing)), "ES6.HoistableDeclarationYield"), "HoistableDeclarationYield")(p); 8247 memo[tuple(`HoistableDeclarationYield`,p.end)] = result; 8248 return result; 8249 } 8250 } 8251 } 8252 8253 static TParseTree HoistableDeclarationYield(string s) 8254 { 8255 if(__ctfe) 8256 { 8257 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing)), "ES6.HoistableDeclarationYield")(TParseTree("", false,[], s)); 8258 } 8259 else 8260 { 8261 memo = null; 8262 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing)), "ES6.HoistableDeclarationYield"), "HoistableDeclarationYield")(TParseTree("", false,[], s)); 8263 } 8264 } 8265 static string HoistableDeclarationYield(GetName g) 8266 { 8267 return "ES6.HoistableDeclarationYield"; 8268 } 8269 8270 static TParseTree HoistableDeclarationDefault(TParseTree p) 8271 { 8272 if(__ctfe) 8273 { 8274 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationDefault, Spacing)), "ES6.HoistableDeclarationDefault")(p); 8275 } 8276 else 8277 { 8278 if(auto m = tuple(`HoistableDeclarationDefault`,p.end) in memo) 8279 return *m; 8280 else 8281 { 8282 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationDefault, Spacing)), "ES6.HoistableDeclarationDefault"), "HoistableDeclarationDefault")(p); 8283 memo[tuple(`HoistableDeclarationDefault`,p.end)] = result; 8284 return result; 8285 } 8286 } 8287 } 8288 8289 static TParseTree HoistableDeclarationDefault(string s) 8290 { 8291 if(__ctfe) 8292 { 8293 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationDefault, Spacing)), "ES6.HoistableDeclarationDefault")(TParseTree("", false,[], s)); 8294 } 8295 else 8296 { 8297 memo = null; 8298 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationDefault, Spacing)), "ES6.HoistableDeclarationDefault"), "HoistableDeclarationDefault")(TParseTree("", false,[], s)); 8299 } 8300 } 8301 static string HoistableDeclarationDefault(GetName g) 8302 { 8303 return "ES6.HoistableDeclarationDefault"; 8304 } 8305 8306 static TParseTree HoistableDeclarationYieldDefault(TParseTree p) 8307 { 8308 if(__ctfe) 8309 { 8310 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYieldDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYieldDefault, Spacing)), "ES6.HoistableDeclarationYieldDefault")(p); 8311 } 8312 else 8313 { 8314 if(auto m = tuple(`HoistableDeclarationYieldDefault`,p.end) in memo) 8315 return *m; 8316 else 8317 { 8318 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYieldDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYieldDefault, Spacing)), "ES6.HoistableDeclarationYieldDefault"), "HoistableDeclarationYieldDefault")(p); 8319 memo[tuple(`HoistableDeclarationYieldDefault`,p.end)] = result; 8320 return result; 8321 } 8322 } 8323 } 8324 8325 static TParseTree HoistableDeclarationYieldDefault(string s) 8326 { 8327 if(__ctfe) 8328 { 8329 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYieldDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYieldDefault, Spacing)), "ES6.HoistableDeclarationYieldDefault")(TParseTree("", false,[], s)); 8330 } 8331 else 8332 { 8333 memo = null; 8334 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorDeclarationYieldDefault, Spacing), pegged.peg.wrapAround!(Spacing, FunctionDeclarationYieldDefault, Spacing)), "ES6.HoistableDeclarationYieldDefault"), "HoistableDeclarationYieldDefault")(TParseTree("", false,[], s)); 8335 } 8336 } 8337 static string HoistableDeclarationYieldDefault(GetName g) 8338 { 8339 return "ES6.HoistableDeclarationYieldDefault"; 8340 } 8341 8342 static TParseTree BreakableStatement(TParseTree p) 8343 { 8344 if(__ctfe) 8345 { 8346 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatement, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatement, Spacing)), "ES6.BreakableStatement")(p); 8347 } 8348 else 8349 { 8350 if(auto m = tuple(`BreakableStatement`,p.end) in memo) 8351 return *m; 8352 else 8353 { 8354 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatement, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatement, Spacing)), "ES6.BreakableStatement"), "BreakableStatement")(p); 8355 memo[tuple(`BreakableStatement`,p.end)] = result; 8356 return result; 8357 } 8358 } 8359 } 8360 8361 static TParseTree BreakableStatement(string s) 8362 { 8363 if(__ctfe) 8364 { 8365 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatement, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatement, Spacing)), "ES6.BreakableStatement")(TParseTree("", false,[], s)); 8366 } 8367 else 8368 { 8369 memo = null; 8370 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatement, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatement, Spacing)), "ES6.BreakableStatement"), "BreakableStatement")(TParseTree("", false,[], s)); 8371 } 8372 } 8373 static string BreakableStatement(GetName g) 8374 { 8375 return "ES6.BreakableStatement"; 8376 } 8377 8378 static TParseTree BreakableStatementYield(TParseTree p) 8379 { 8380 if(__ctfe) 8381 { 8382 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYield, Spacing)), "ES6.BreakableStatementYield")(p); 8383 } 8384 else 8385 { 8386 if(auto m = tuple(`BreakableStatementYield`,p.end) in memo) 8387 return *m; 8388 else 8389 { 8390 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYield, Spacing)), "ES6.BreakableStatementYield"), "BreakableStatementYield")(p); 8391 memo[tuple(`BreakableStatementYield`,p.end)] = result; 8392 return result; 8393 } 8394 } 8395 } 8396 8397 static TParseTree BreakableStatementYield(string s) 8398 { 8399 if(__ctfe) 8400 { 8401 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYield, Spacing)), "ES6.BreakableStatementYield")(TParseTree("", false,[], s)); 8402 } 8403 else 8404 { 8405 memo = null; 8406 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYield, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYield, Spacing)), "ES6.BreakableStatementYield"), "BreakableStatementYield")(TParseTree("", false,[], s)); 8407 } 8408 } 8409 static string BreakableStatementYield(GetName g) 8410 { 8411 return "ES6.BreakableStatementYield"; 8412 } 8413 8414 static TParseTree BreakableStatementReturn(TParseTree p) 8415 { 8416 if(__ctfe) 8417 { 8418 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementReturn, Spacing)), "ES6.BreakableStatementReturn")(p); 8419 } 8420 else 8421 { 8422 if(auto m = tuple(`BreakableStatementReturn`,p.end) in memo) 8423 return *m; 8424 else 8425 { 8426 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementReturn, Spacing)), "ES6.BreakableStatementReturn"), "BreakableStatementReturn")(p); 8427 memo[tuple(`BreakableStatementReturn`,p.end)] = result; 8428 return result; 8429 } 8430 } 8431 } 8432 8433 static TParseTree BreakableStatementReturn(string s) 8434 { 8435 if(__ctfe) 8436 { 8437 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementReturn, Spacing)), "ES6.BreakableStatementReturn")(TParseTree("", false,[], s)); 8438 } 8439 else 8440 { 8441 memo = null; 8442 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementReturn, Spacing)), "ES6.BreakableStatementReturn"), "BreakableStatementReturn")(TParseTree("", false,[], s)); 8443 } 8444 } 8445 static string BreakableStatementReturn(GetName g) 8446 { 8447 return "ES6.BreakableStatementReturn"; 8448 } 8449 8450 static TParseTree BreakableStatementYieldReturn(TParseTree p) 8451 { 8452 if(__ctfe) 8453 { 8454 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYieldReturn, Spacing)), "ES6.BreakableStatementYieldReturn")(p); 8455 } 8456 else 8457 { 8458 if(auto m = tuple(`BreakableStatementYieldReturn`,p.end) in memo) 8459 return *m; 8460 else 8461 { 8462 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYieldReturn, Spacing)), "ES6.BreakableStatementYieldReturn"), "BreakableStatementYieldReturn")(p); 8463 memo[tuple(`BreakableStatementYieldReturn`,p.end)] = result; 8464 return result; 8465 } 8466 } 8467 } 8468 8469 static TParseTree BreakableStatementYieldReturn(string s) 8470 { 8471 if(__ctfe) 8472 { 8473 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYieldReturn, Spacing)), "ES6.BreakableStatementYieldReturn")(TParseTree("", false,[], s)); 8474 } 8475 else 8476 { 8477 memo = null; 8478 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IterationStatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, SwitchStatementYieldReturn, Spacing)), "ES6.BreakableStatementYieldReturn"), "BreakableStatementYieldReturn")(TParseTree("", false,[], s)); 8479 } 8480 } 8481 static string BreakableStatementYieldReturn(GetName g) 8482 { 8483 return "ES6.BreakableStatementYieldReturn"; 8484 } 8485 8486 static TParseTree BlockStatement(TParseTree p) 8487 { 8488 if(__ctfe) 8489 { 8490 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), "ES6.BlockStatement")(p); 8491 } 8492 else 8493 { 8494 if(auto m = tuple(`BlockStatement`,p.end) in memo) 8495 return *m; 8496 else 8497 { 8498 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), "ES6.BlockStatement"), "BlockStatement")(p); 8499 memo[tuple(`BlockStatement`,p.end)] = result; 8500 return result; 8501 } 8502 } 8503 } 8504 8505 static TParseTree BlockStatement(string s) 8506 { 8507 if(__ctfe) 8508 { 8509 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), "ES6.BlockStatement")(TParseTree("", false,[], s)); 8510 } 8511 else 8512 { 8513 memo = null; 8514 return hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), "ES6.BlockStatement"), "BlockStatement")(TParseTree("", false,[], s)); 8515 } 8516 } 8517 static string BlockStatement(GetName g) 8518 { 8519 return "ES6.BlockStatement"; 8520 } 8521 8522 static TParseTree BlockStatementYield(TParseTree p) 8523 { 8524 if(__ctfe) 8525 { 8526 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), "ES6.BlockStatementYield")(p); 8527 } 8528 else 8529 { 8530 if(auto m = tuple(`BlockStatementYield`,p.end) in memo) 8531 return *m; 8532 else 8533 { 8534 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), "ES6.BlockStatementYield"), "BlockStatementYield")(p); 8535 memo[tuple(`BlockStatementYield`,p.end)] = result; 8536 return result; 8537 } 8538 } 8539 } 8540 8541 static TParseTree BlockStatementYield(string s) 8542 { 8543 if(__ctfe) 8544 { 8545 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), "ES6.BlockStatementYield")(TParseTree("", false,[], s)); 8546 } 8547 else 8548 { 8549 memo = null; 8550 return hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), "ES6.BlockStatementYield"), "BlockStatementYield")(TParseTree("", false,[], s)); 8551 } 8552 } 8553 static string BlockStatementYield(GetName g) 8554 { 8555 return "ES6.BlockStatementYield"; 8556 } 8557 8558 static TParseTree BlockStatementReturn(TParseTree p) 8559 { 8560 if(__ctfe) 8561 { 8562 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), "ES6.BlockStatementReturn")(p); 8563 } 8564 else 8565 { 8566 if(auto m = tuple(`BlockStatementReturn`,p.end) in memo) 8567 return *m; 8568 else 8569 { 8570 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), "ES6.BlockStatementReturn"), "BlockStatementReturn")(p); 8571 memo[tuple(`BlockStatementReturn`,p.end)] = result; 8572 return result; 8573 } 8574 } 8575 } 8576 8577 static TParseTree BlockStatementReturn(string s) 8578 { 8579 if(__ctfe) 8580 { 8581 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), "ES6.BlockStatementReturn")(TParseTree("", false,[], s)); 8582 } 8583 else 8584 { 8585 memo = null; 8586 return hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), "ES6.BlockStatementReturn"), "BlockStatementReturn")(TParseTree("", false,[], s)); 8587 } 8588 } 8589 static string BlockStatementReturn(GetName g) 8590 { 8591 return "ES6.BlockStatementReturn"; 8592 } 8593 8594 static TParseTree BlockStatementYieldReturn(TParseTree p) 8595 { 8596 if(__ctfe) 8597 { 8598 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), "ES6.BlockStatementYieldReturn")(p); 8599 } 8600 else 8601 { 8602 if(auto m = tuple(`BlockStatementYieldReturn`,p.end) in memo) 8603 return *m; 8604 else 8605 { 8606 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), "ES6.BlockStatementYieldReturn"), "BlockStatementYieldReturn")(p); 8607 memo[tuple(`BlockStatementYieldReturn`,p.end)] = result; 8608 return result; 8609 } 8610 } 8611 } 8612 8613 static TParseTree BlockStatementYieldReturn(string s) 8614 { 8615 if(__ctfe) 8616 { 8617 return pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), "ES6.BlockStatementYieldReturn")(TParseTree("", false,[], s)); 8618 } 8619 else 8620 { 8621 memo = null; 8622 return hooked!(pegged.peg.defined!(pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), "ES6.BlockStatementYieldReturn"), "BlockStatementYieldReturn")(TParseTree("", false,[], s)); 8623 } 8624 } 8625 static string BlockStatementYieldReturn(GetName g) 8626 { 8627 return "ES6.BlockStatementYieldReturn"; 8628 } 8629 8630 static TParseTree Block(TParseTree p) 8631 { 8632 if(__ctfe) 8633 { 8634 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing)), Spacing), "ES6.Block")(p); 8635 } 8636 else 8637 { 8638 if(auto m = tuple(`Block`,p.end) in memo) 8639 return *m; 8640 else 8641 { 8642 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing)), Spacing), "ES6.Block"), "Block")(p); 8643 memo[tuple(`Block`,p.end)] = result; 8644 return result; 8645 } 8646 } 8647 } 8648 8649 static TParseTree Block(string s) 8650 { 8651 if(__ctfe) 8652 { 8653 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing)), Spacing), "ES6.Block")(TParseTree("", false,[], s)); 8654 } 8655 else 8656 { 8657 memo = null; 8658 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing)), Spacing), "ES6.Block"), "Block")(TParseTree("", false,[], s)); 8659 } 8660 } 8661 static string Block(GetName g) 8662 { 8663 return "ES6.Block"; 8664 } 8665 8666 static TParseTree BlockYield(TParseTree p) 8667 { 8668 if(__ctfe) 8669 { 8670 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing)), Spacing), "ES6.BlockYield")(p); 8671 } 8672 else 8673 { 8674 if(auto m = tuple(`BlockYield`,p.end) in memo) 8675 return *m; 8676 else 8677 { 8678 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing)), Spacing), "ES6.BlockYield"), "BlockYield")(p); 8679 memo[tuple(`BlockYield`,p.end)] = result; 8680 return result; 8681 } 8682 } 8683 } 8684 8685 static TParseTree BlockYield(string s) 8686 { 8687 if(__ctfe) 8688 { 8689 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing)), Spacing), "ES6.BlockYield")(TParseTree("", false,[], s)); 8690 } 8691 else 8692 { 8693 memo = null; 8694 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing)), Spacing), "ES6.BlockYield"), "BlockYield")(TParseTree("", false,[], s)); 8695 } 8696 } 8697 static string BlockYield(GetName g) 8698 { 8699 return "ES6.BlockYield"; 8700 } 8701 8702 static TParseTree BlockReturn(TParseTree p) 8703 { 8704 if(__ctfe) 8705 { 8706 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), Spacing), "ES6.BlockReturn")(p); 8707 } 8708 else 8709 { 8710 if(auto m = tuple(`BlockReturn`,p.end) in memo) 8711 return *m; 8712 else 8713 { 8714 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), Spacing), "ES6.BlockReturn"), "BlockReturn")(p); 8715 memo[tuple(`BlockReturn`,p.end)] = result; 8716 return result; 8717 } 8718 } 8719 } 8720 8721 static TParseTree BlockReturn(string s) 8722 { 8723 if(__ctfe) 8724 { 8725 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), Spacing), "ES6.BlockReturn")(TParseTree("", false,[], s)); 8726 } 8727 else 8728 { 8729 memo = null; 8730 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), Spacing), "ES6.BlockReturn"), "BlockReturn")(TParseTree("", false,[], s)); 8731 } 8732 } 8733 static string BlockReturn(GetName g) 8734 { 8735 return "ES6.BlockReturn"; 8736 } 8737 8738 static TParseTree BlockYieldReturn(TParseTree p) 8739 { 8740 if(__ctfe) 8741 { 8742 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), Spacing), "ES6.BlockYieldReturn")(p); 8743 } 8744 else 8745 { 8746 if(auto m = tuple(`BlockYieldReturn`,p.end) in memo) 8747 return *m; 8748 else 8749 { 8750 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), Spacing), "ES6.BlockYieldReturn"), "BlockYieldReturn")(p); 8751 memo[tuple(`BlockYieldReturn`,p.end)] = result; 8752 return result; 8753 } 8754 } 8755 } 8756 8757 static TParseTree BlockYieldReturn(string s) 8758 { 8759 if(__ctfe) 8760 { 8761 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), Spacing), "ES6.BlockYieldReturn")(TParseTree("", false,[], s)); 8762 } 8763 else 8764 { 8765 memo = null; 8766 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), Spacing), "ES6.BlockYieldReturn"), "BlockYieldReturn")(TParseTree("", false,[], s)); 8767 } 8768 } 8769 static string BlockYieldReturn(GetName g) 8770 { 8771 return "ES6.BlockYieldReturn"; 8772 } 8773 8774 static TParseTree StatementList(TParseTree p) 8775 { 8776 if(__ctfe) 8777 { 8778 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), "ES6.StatementList")(p); 8779 } 8780 else 8781 { 8782 if(auto m = tuple(`StatementList`,p.end) in memo) 8783 return *m; 8784 else 8785 { 8786 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), "ES6.StatementList"), "StatementList")(p); 8787 memo[tuple(`StatementList`,p.end)] = result; 8788 return result; 8789 } 8790 } 8791 } 8792 8793 static TParseTree StatementList(string s) 8794 { 8795 if(__ctfe) 8796 { 8797 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), "ES6.StatementList")(TParseTree("", false,[], s)); 8798 } 8799 else 8800 { 8801 memo = null; 8802 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItem, Spacing)), "ES6.StatementList"), "StatementList")(TParseTree("", false,[], s)); 8803 } 8804 } 8805 static string StatementList(GetName g) 8806 { 8807 return "ES6.StatementList"; 8808 } 8809 8810 static TParseTree StatementListYield(TParseTree p) 8811 { 8812 if(__ctfe) 8813 { 8814 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYield, Spacing)), "ES6.StatementListYield")(p); 8815 } 8816 else 8817 { 8818 if(auto m = tuple(`StatementListYield`,p.end) in memo) 8819 return *m; 8820 else 8821 { 8822 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYield, Spacing)), "ES6.StatementListYield"), "StatementListYield")(p); 8823 memo[tuple(`StatementListYield`,p.end)] = result; 8824 return result; 8825 } 8826 } 8827 } 8828 8829 static TParseTree StatementListYield(string s) 8830 { 8831 if(__ctfe) 8832 { 8833 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYield, Spacing)), "ES6.StatementListYield")(TParseTree("", false,[], s)); 8834 } 8835 else 8836 { 8837 memo = null; 8838 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYield, Spacing)), "ES6.StatementListYield"), "StatementListYield")(TParseTree("", false,[], s)); 8839 } 8840 } 8841 static string StatementListYield(GetName g) 8842 { 8843 return "ES6.StatementListYield"; 8844 } 8845 8846 static TParseTree StatementListReturn(TParseTree p) 8847 { 8848 if(__ctfe) 8849 { 8850 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemReturn, Spacing)), "ES6.StatementListReturn")(p); 8851 } 8852 else 8853 { 8854 if(auto m = tuple(`StatementListReturn`,p.end) in memo) 8855 return *m; 8856 else 8857 { 8858 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemReturn, Spacing)), "ES6.StatementListReturn"), "StatementListReturn")(p); 8859 memo[tuple(`StatementListReturn`,p.end)] = result; 8860 return result; 8861 } 8862 } 8863 } 8864 8865 static TParseTree StatementListReturn(string s) 8866 { 8867 if(__ctfe) 8868 { 8869 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemReturn, Spacing)), "ES6.StatementListReturn")(TParseTree("", false,[], s)); 8870 } 8871 else 8872 { 8873 memo = null; 8874 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemReturn, Spacing)), "ES6.StatementListReturn"), "StatementListReturn")(TParseTree("", false,[], s)); 8875 } 8876 } 8877 static string StatementListReturn(GetName g) 8878 { 8879 return "ES6.StatementListReturn"; 8880 } 8881 8882 static TParseTree StatementListYieldReturn(TParseTree p) 8883 { 8884 if(__ctfe) 8885 { 8886 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYieldReturn, Spacing)), "ES6.StatementListYieldReturn")(p); 8887 } 8888 else 8889 { 8890 if(auto m = tuple(`StatementListYieldReturn`,p.end) in memo) 8891 return *m; 8892 else 8893 { 8894 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYieldReturn, Spacing)), "ES6.StatementListYieldReturn"), "StatementListYieldReturn")(p); 8895 memo[tuple(`StatementListYieldReturn`,p.end)] = result; 8896 return result; 8897 } 8898 } 8899 } 8900 8901 static TParseTree StatementListYieldReturn(string s) 8902 { 8903 if(__ctfe) 8904 { 8905 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYieldReturn, Spacing)), "ES6.StatementListYieldReturn")(TParseTree("", false,[], s)); 8906 } 8907 else 8908 { 8909 memo = null; 8910 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, StatementListItemYieldReturn, Spacing)), "ES6.StatementListYieldReturn"), "StatementListYieldReturn")(TParseTree("", false,[], s)); 8911 } 8912 } 8913 static string StatementListYieldReturn(GetName g) 8914 { 8915 return "ES6.StatementListYieldReturn"; 8916 } 8917 8918 static TParseTree StatementListItem(TParseTree p) 8919 { 8920 if(__ctfe) 8921 { 8922 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.StatementListItem")(p); 8923 } 8924 else 8925 { 8926 if(auto m = tuple(`StatementListItem`,p.end) in memo) 8927 return *m; 8928 else 8929 { 8930 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.StatementListItem"), "StatementListItem")(p); 8931 memo[tuple(`StatementListItem`,p.end)] = result; 8932 return result; 8933 } 8934 } 8935 } 8936 8937 static TParseTree StatementListItem(string s) 8938 { 8939 if(__ctfe) 8940 { 8941 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.StatementListItem")(TParseTree("", false,[], s)); 8942 } 8943 else 8944 { 8945 memo = null; 8946 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.StatementListItem"), "StatementListItem")(TParseTree("", false,[], s)); 8947 } 8948 } 8949 static string StatementListItem(GetName g) 8950 { 8951 return "ES6.StatementListItem"; 8952 } 8953 8954 static TParseTree StatementListItemYield(TParseTree p) 8955 { 8956 if(__ctfe) 8957 { 8958 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.StatementListItemYield")(p); 8959 } 8960 else 8961 { 8962 if(auto m = tuple(`StatementListItemYield`,p.end) in memo) 8963 return *m; 8964 else 8965 { 8966 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.StatementListItemYield"), "StatementListItemYield")(p); 8967 memo[tuple(`StatementListItemYield`,p.end)] = result; 8968 return result; 8969 } 8970 } 8971 } 8972 8973 static TParseTree StatementListItemYield(string s) 8974 { 8975 if(__ctfe) 8976 { 8977 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.StatementListItemYield")(TParseTree("", false,[], s)); 8978 } 8979 else 8980 { 8981 memo = null; 8982 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.StatementListItemYield"), "StatementListItemYield")(TParseTree("", false,[], s)); 8983 } 8984 } 8985 static string StatementListItemYield(GetName g) 8986 { 8987 return "ES6.StatementListItemYield"; 8988 } 8989 8990 static TParseTree StatementListItemReturn(TParseTree p) 8991 { 8992 if(__ctfe) 8993 { 8994 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.StatementListItemReturn")(p); 8995 } 8996 else 8997 { 8998 if(auto m = tuple(`StatementListItemReturn`,p.end) in memo) 8999 return *m; 9000 else 9001 { 9002 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.StatementListItemReturn"), "StatementListItemReturn")(p); 9003 memo[tuple(`StatementListItemReturn`,p.end)] = result; 9004 return result; 9005 } 9006 } 9007 } 9008 9009 static TParseTree StatementListItemReturn(string s) 9010 { 9011 if(__ctfe) 9012 { 9013 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.StatementListItemReturn")(TParseTree("", false,[], s)); 9014 } 9015 else 9016 { 9017 memo = null; 9018 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, Declaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.StatementListItemReturn"), "StatementListItemReturn")(TParseTree("", false,[], s)); 9019 } 9020 } 9021 static string StatementListItemReturn(GetName g) 9022 { 9023 return "ES6.StatementListItemReturn"; 9024 } 9025 9026 static TParseTree StatementListItemYieldReturn(TParseTree p) 9027 { 9028 if(__ctfe) 9029 { 9030 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.StatementListItemYieldReturn")(p); 9031 } 9032 else 9033 { 9034 if(auto m = tuple(`StatementListItemYieldReturn`,p.end) in memo) 9035 return *m; 9036 else 9037 { 9038 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.StatementListItemYieldReturn"), "StatementListItemYieldReturn")(p); 9039 memo[tuple(`StatementListItemYieldReturn`,p.end)] = result; 9040 return result; 9041 } 9042 } 9043 } 9044 9045 static TParseTree StatementListItemYieldReturn(string s) 9046 { 9047 if(__ctfe) 9048 { 9049 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.StatementListItemYieldReturn")(TParseTree("", false,[], s)); 9050 } 9051 else 9052 { 9053 memo = null; 9054 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, DeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.StatementListItemYieldReturn"), "StatementListItemYieldReturn")(TParseTree("", false,[], s)); 9055 } 9056 } 9057 static string StatementListItemYieldReturn(GetName g) 9058 { 9059 return "ES6.StatementListItemYieldReturn"; 9060 } 9061 9062 static TParseTree LexicalDeclaration(TParseTree p) 9063 { 9064 if(__ctfe) 9065 { 9066 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingList, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclaration")(p); 9067 } 9068 else 9069 { 9070 if(auto m = tuple(`LexicalDeclaration`,p.end) in memo) 9071 return *m; 9072 else 9073 { 9074 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingList, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclaration"), "LexicalDeclaration")(p); 9075 memo[tuple(`LexicalDeclaration`,p.end)] = result; 9076 return result; 9077 } 9078 } 9079 } 9080 9081 static TParseTree LexicalDeclaration(string s) 9082 { 9083 if(__ctfe) 9084 { 9085 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingList, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclaration")(TParseTree("", false,[], s)); 9086 } 9087 else 9088 { 9089 memo = null; 9090 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingList, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclaration"), "LexicalDeclaration")(TParseTree("", false,[], s)); 9091 } 9092 } 9093 static string LexicalDeclaration(GetName g) 9094 { 9095 return "ES6.LexicalDeclaration"; 9096 } 9097 9098 static TParseTree LexicalDeclarationIn(TParseTree p) 9099 { 9100 if(__ctfe) 9101 { 9102 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationIn")(p); 9103 } 9104 else 9105 { 9106 if(auto m = tuple(`LexicalDeclarationIn`,p.end) in memo) 9107 return *m; 9108 else 9109 { 9110 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationIn"), "LexicalDeclarationIn")(p); 9111 memo[tuple(`LexicalDeclarationIn`,p.end)] = result; 9112 return result; 9113 } 9114 } 9115 } 9116 9117 static TParseTree LexicalDeclarationIn(string s) 9118 { 9119 if(__ctfe) 9120 { 9121 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationIn")(TParseTree("", false,[], s)); 9122 } 9123 else 9124 { 9125 memo = null; 9126 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationIn"), "LexicalDeclarationIn")(TParseTree("", false,[], s)); 9127 } 9128 } 9129 static string LexicalDeclarationIn(GetName g) 9130 { 9131 return "ES6.LexicalDeclarationIn"; 9132 } 9133 9134 static TParseTree LexicalDeclarationYield(TParseTree p) 9135 { 9136 if(__ctfe) 9137 { 9138 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationYield")(p); 9139 } 9140 else 9141 { 9142 if(auto m = tuple(`LexicalDeclarationYield`,p.end) in memo) 9143 return *m; 9144 else 9145 { 9146 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationYield"), "LexicalDeclarationYield")(p); 9147 memo[tuple(`LexicalDeclarationYield`,p.end)] = result; 9148 return result; 9149 } 9150 } 9151 } 9152 9153 static TParseTree LexicalDeclarationYield(string s) 9154 { 9155 if(__ctfe) 9156 { 9157 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationYield")(TParseTree("", false,[], s)); 9158 } 9159 else 9160 { 9161 memo = null; 9162 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationYield"), "LexicalDeclarationYield")(TParseTree("", false,[], s)); 9163 } 9164 } 9165 static string LexicalDeclarationYield(GetName g) 9166 { 9167 return "ES6.LexicalDeclarationYield"; 9168 } 9169 9170 static TParseTree LexicalDeclarationInYield(TParseTree p) 9171 { 9172 if(__ctfe) 9173 { 9174 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationInYield")(p); 9175 } 9176 else 9177 { 9178 if(auto m = tuple(`LexicalDeclarationInYield`,p.end) in memo) 9179 return *m; 9180 else 9181 { 9182 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationInYield"), "LexicalDeclarationInYield")(p); 9183 memo[tuple(`LexicalDeclarationInYield`,p.end)] = result; 9184 return result; 9185 } 9186 } 9187 } 9188 9189 static TParseTree LexicalDeclarationInYield(string s) 9190 { 9191 if(__ctfe) 9192 { 9193 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationInYield")(TParseTree("", false,[], s)); 9194 } 9195 else 9196 { 9197 memo = null; 9198 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, BindingListInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.LexicalDeclarationInYield"), "LexicalDeclarationInYield")(TParseTree("", false,[], s)); 9199 } 9200 } 9201 static string LexicalDeclarationInYield(GetName g) 9202 { 9203 return "ES6.LexicalDeclarationInYield"; 9204 } 9205 9206 static TParseTree LetOrConst(TParseTree p) 9207 { 9208 if(__ctfe) 9209 { 9210 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("const"), Spacing)), Spacing), "ES6.LetOrConst")(p); 9211 } 9212 else 9213 { 9214 if(auto m = tuple(`LetOrConst`,p.end) in memo) 9215 return *m; 9216 else 9217 { 9218 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("const"), Spacing)), Spacing), "ES6.LetOrConst"), "LetOrConst")(p); 9219 memo[tuple(`LetOrConst`,p.end)] = result; 9220 return result; 9221 } 9222 } 9223 } 9224 9225 static TParseTree LetOrConst(string s) 9226 { 9227 if(__ctfe) 9228 { 9229 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("const"), Spacing)), Spacing), "ES6.LetOrConst")(TParseTree("", false,[], s)); 9230 } 9231 else 9232 { 9233 memo = null; 9234 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("const"), Spacing)), Spacing), "ES6.LetOrConst"), "LetOrConst")(TParseTree("", false,[], s)); 9235 } 9236 } 9237 static string LetOrConst(GetName g) 9238 { 9239 return "ES6.LetOrConst"; 9240 } 9241 9242 static TParseTree BindingList(TParseTree p) 9243 { 9244 if(__ctfe) 9245 { 9246 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing)), Spacing))), "ES6.BindingList")(p); 9247 } 9248 else 9249 { 9250 if(auto m = tuple(`BindingList`,p.end) in memo) 9251 return *m; 9252 else 9253 { 9254 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing)), Spacing))), "ES6.BindingList"), "BindingList")(p); 9255 memo[tuple(`BindingList`,p.end)] = result; 9256 return result; 9257 } 9258 } 9259 } 9260 9261 static TParseTree BindingList(string s) 9262 { 9263 if(__ctfe) 9264 { 9265 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing)), Spacing))), "ES6.BindingList")(TParseTree("", false,[], s)); 9266 } 9267 else 9268 { 9269 memo = null; 9270 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBinding, Spacing)), Spacing))), "ES6.BindingList"), "BindingList")(TParseTree("", false,[], s)); 9271 } 9272 } 9273 static string BindingList(GetName g) 9274 { 9275 return "ES6.BindingList"; 9276 } 9277 9278 static TParseTree BindingListIn(TParseTree p) 9279 { 9280 if(__ctfe) 9281 { 9282 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing)), Spacing))), "ES6.BindingListIn")(p); 9283 } 9284 else 9285 { 9286 if(auto m = tuple(`BindingListIn`,p.end) in memo) 9287 return *m; 9288 else 9289 { 9290 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing)), Spacing))), "ES6.BindingListIn"), "BindingListIn")(p); 9291 memo[tuple(`BindingListIn`,p.end)] = result; 9292 return result; 9293 } 9294 } 9295 } 9296 9297 static TParseTree BindingListIn(string s) 9298 { 9299 if(__ctfe) 9300 { 9301 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing)), Spacing))), "ES6.BindingListIn")(TParseTree("", false,[], s)); 9302 } 9303 else 9304 { 9305 memo = null; 9306 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingIn, Spacing)), Spacing))), "ES6.BindingListIn"), "BindingListIn")(TParseTree("", false,[], s)); 9307 } 9308 } 9309 static string BindingListIn(GetName g) 9310 { 9311 return "ES6.BindingListIn"; 9312 } 9313 9314 static TParseTree BindingListYield(TParseTree p) 9315 { 9316 if(__ctfe) 9317 { 9318 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing)), Spacing))), "ES6.BindingListYield")(p); 9319 } 9320 else 9321 { 9322 if(auto m = tuple(`BindingListYield`,p.end) in memo) 9323 return *m; 9324 else 9325 { 9326 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing)), Spacing))), "ES6.BindingListYield"), "BindingListYield")(p); 9327 memo[tuple(`BindingListYield`,p.end)] = result; 9328 return result; 9329 } 9330 } 9331 } 9332 9333 static TParseTree BindingListYield(string s) 9334 { 9335 if(__ctfe) 9336 { 9337 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing)), Spacing))), "ES6.BindingListYield")(TParseTree("", false,[], s)); 9338 } 9339 else 9340 { 9341 memo = null; 9342 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingYield, Spacing)), Spacing))), "ES6.BindingListYield"), "BindingListYield")(TParseTree("", false,[], s)); 9343 } 9344 } 9345 static string BindingListYield(GetName g) 9346 { 9347 return "ES6.BindingListYield"; 9348 } 9349 9350 static TParseTree BindingListInYield(TParseTree p) 9351 { 9352 if(__ctfe) 9353 { 9354 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing)), Spacing))), "ES6.BindingListInYield")(p); 9355 } 9356 else 9357 { 9358 if(auto m = tuple(`BindingListInYield`,p.end) in memo) 9359 return *m; 9360 else 9361 { 9362 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing)), Spacing))), "ES6.BindingListInYield"), "BindingListInYield")(p); 9363 memo[tuple(`BindingListInYield`,p.end)] = result; 9364 return result; 9365 } 9366 } 9367 } 9368 9369 static TParseTree BindingListInYield(string s) 9370 { 9371 if(__ctfe) 9372 { 9373 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing)), Spacing))), "ES6.BindingListInYield")(TParseTree("", false,[], s)); 9374 } 9375 else 9376 { 9377 memo = null; 9378 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, LexicalBindingInYield, Spacing)), Spacing))), "ES6.BindingListInYield"), "BindingListInYield")(TParseTree("", false,[], s)); 9379 } 9380 } 9381 static string BindingListInYield(GetName g) 9382 { 9383 return "ES6.BindingListInYield"; 9384 } 9385 9386 static TParseTree LexicalBinding(TParseTree p) 9387 { 9388 if(__ctfe) 9389 { 9390 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.LexicalBinding")(p); 9391 } 9392 else 9393 { 9394 if(auto m = tuple(`LexicalBinding`,p.end) in memo) 9395 return *m; 9396 else 9397 { 9398 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.LexicalBinding"), "LexicalBinding")(p); 9399 memo[tuple(`LexicalBinding`,p.end)] = result; 9400 return result; 9401 } 9402 } 9403 } 9404 9405 static TParseTree LexicalBinding(string s) 9406 { 9407 if(__ctfe) 9408 { 9409 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.LexicalBinding")(TParseTree("", false,[], s)); 9410 } 9411 else 9412 { 9413 memo = null; 9414 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.LexicalBinding"), "LexicalBinding")(TParseTree("", false,[], s)); 9415 } 9416 } 9417 static string LexicalBinding(GetName g) 9418 { 9419 return "ES6.LexicalBinding"; 9420 } 9421 9422 static TParseTree LexicalBindingIn(TParseTree p) 9423 { 9424 if(__ctfe) 9425 { 9426 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.LexicalBindingIn")(p); 9427 } 9428 else 9429 { 9430 if(auto m = tuple(`LexicalBindingIn`,p.end) in memo) 9431 return *m; 9432 else 9433 { 9434 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.LexicalBindingIn"), "LexicalBindingIn")(p); 9435 memo[tuple(`LexicalBindingIn`,p.end)] = result; 9436 return result; 9437 } 9438 } 9439 } 9440 9441 static TParseTree LexicalBindingIn(string s) 9442 { 9443 if(__ctfe) 9444 { 9445 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.LexicalBindingIn")(TParseTree("", false,[], s)); 9446 } 9447 else 9448 { 9449 memo = null; 9450 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.LexicalBindingIn"), "LexicalBindingIn")(TParseTree("", false,[], s)); 9451 } 9452 } 9453 static string LexicalBindingIn(GetName g) 9454 { 9455 return "ES6.LexicalBindingIn"; 9456 } 9457 9458 static TParseTree LexicalBindingYield(TParseTree p) 9459 { 9460 if(__ctfe) 9461 { 9462 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.LexicalBindingYield")(p); 9463 } 9464 else 9465 { 9466 if(auto m = tuple(`LexicalBindingYield`,p.end) in memo) 9467 return *m; 9468 else 9469 { 9470 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.LexicalBindingYield"), "LexicalBindingYield")(p); 9471 memo[tuple(`LexicalBindingYield`,p.end)] = result; 9472 return result; 9473 } 9474 } 9475 } 9476 9477 static TParseTree LexicalBindingYield(string s) 9478 { 9479 if(__ctfe) 9480 { 9481 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.LexicalBindingYield")(TParseTree("", false,[], s)); 9482 } 9483 else 9484 { 9485 memo = null; 9486 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.LexicalBindingYield"), "LexicalBindingYield")(TParseTree("", false,[], s)); 9487 } 9488 } 9489 static string LexicalBindingYield(GetName g) 9490 { 9491 return "ES6.LexicalBindingYield"; 9492 } 9493 9494 static TParseTree LexicalBindingInYield(TParseTree p) 9495 { 9496 if(__ctfe) 9497 { 9498 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.LexicalBindingInYield")(p); 9499 } 9500 else 9501 { 9502 if(auto m = tuple(`LexicalBindingInYield`,p.end) in memo) 9503 return *m; 9504 else 9505 { 9506 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.LexicalBindingInYield"), "LexicalBindingInYield")(p); 9507 memo[tuple(`LexicalBindingInYield`,p.end)] = result; 9508 return result; 9509 } 9510 } 9511 } 9512 9513 static TParseTree LexicalBindingInYield(string s) 9514 { 9515 if(__ctfe) 9516 { 9517 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.LexicalBindingInYield")(TParseTree("", false,[], s)); 9518 } 9519 else 9520 { 9521 memo = null; 9522 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.LexicalBindingInYield"), "LexicalBindingInYield")(TParseTree("", false,[], s)); 9523 } 9524 } 9525 static string LexicalBindingInYield(GetName g) 9526 { 9527 return "ES6.LexicalBindingInYield"; 9528 } 9529 9530 static TParseTree VariableStatement(TParseTree p) 9531 { 9532 if(__ctfe) 9533 { 9534 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListIn, Spacing)), "ES6.VariableStatement")(p); 9535 } 9536 else 9537 { 9538 if(auto m = tuple(`VariableStatement`,p.end) in memo) 9539 return *m; 9540 else 9541 { 9542 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListIn, Spacing)), "ES6.VariableStatement"), "VariableStatement")(p); 9543 memo[tuple(`VariableStatement`,p.end)] = result; 9544 return result; 9545 } 9546 } 9547 } 9548 9549 static TParseTree VariableStatement(string s) 9550 { 9551 if(__ctfe) 9552 { 9553 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListIn, Spacing)), "ES6.VariableStatement")(TParseTree("", false,[], s)); 9554 } 9555 else 9556 { 9557 memo = null; 9558 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListIn, Spacing)), "ES6.VariableStatement"), "VariableStatement")(TParseTree("", false,[], s)); 9559 } 9560 } 9561 static string VariableStatement(GetName g) 9562 { 9563 return "ES6.VariableStatement"; 9564 } 9565 9566 static TParseTree VariableStatementYield(TParseTree p) 9567 { 9568 if(__ctfe) 9569 { 9570 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListInYield, Spacing)), "ES6.VariableStatementYield")(p); 9571 } 9572 else 9573 { 9574 if(auto m = tuple(`VariableStatementYield`,p.end) in memo) 9575 return *m; 9576 else 9577 { 9578 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListInYield, Spacing)), "ES6.VariableStatementYield"), "VariableStatementYield")(p); 9579 memo[tuple(`VariableStatementYield`,p.end)] = result; 9580 return result; 9581 } 9582 } 9583 } 9584 9585 static TParseTree VariableStatementYield(string s) 9586 { 9587 if(__ctfe) 9588 { 9589 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListInYield, Spacing)), "ES6.VariableStatementYield")(TParseTree("", false,[], s)); 9590 } 9591 else 9592 { 9593 memo = null; 9594 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationListInYield, Spacing)), "ES6.VariableStatementYield"), "VariableStatementYield")(TParseTree("", false,[], s)); 9595 } 9596 } 9597 static string VariableStatementYield(GetName g) 9598 { 9599 return "ES6.VariableStatementYield"; 9600 } 9601 9602 static TParseTree VariableDeclarationList(TParseTree p) 9603 { 9604 if(__ctfe) 9605 { 9606 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing)), Spacing))), "ES6.VariableDeclarationList")(p); 9607 } 9608 else 9609 { 9610 if(auto m = tuple(`VariableDeclarationList`,p.end) in memo) 9611 return *m; 9612 else 9613 { 9614 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing)), Spacing))), "ES6.VariableDeclarationList"), "VariableDeclarationList")(p); 9615 memo[tuple(`VariableDeclarationList`,p.end)] = result; 9616 return result; 9617 } 9618 } 9619 } 9620 9621 static TParseTree VariableDeclarationList(string s) 9622 { 9623 if(__ctfe) 9624 { 9625 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing)), Spacing))), "ES6.VariableDeclarationList")(TParseTree("", false,[], s)); 9626 } 9627 else 9628 { 9629 memo = null; 9630 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclaration, Spacing)), Spacing))), "ES6.VariableDeclarationList"), "VariableDeclarationList")(TParseTree("", false,[], s)); 9631 } 9632 } 9633 static string VariableDeclarationList(GetName g) 9634 { 9635 return "ES6.VariableDeclarationList"; 9636 } 9637 9638 static TParseTree VariableDeclarationListIn(TParseTree p) 9639 { 9640 if(__ctfe) 9641 { 9642 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing)), Spacing))), "ES6.VariableDeclarationListIn")(p); 9643 } 9644 else 9645 { 9646 if(auto m = tuple(`VariableDeclarationListIn`,p.end) in memo) 9647 return *m; 9648 else 9649 { 9650 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing)), Spacing))), "ES6.VariableDeclarationListIn"), "VariableDeclarationListIn")(p); 9651 memo[tuple(`VariableDeclarationListIn`,p.end)] = result; 9652 return result; 9653 } 9654 } 9655 } 9656 9657 static TParseTree VariableDeclarationListIn(string s) 9658 { 9659 if(__ctfe) 9660 { 9661 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing)), Spacing))), "ES6.VariableDeclarationListIn")(TParseTree("", false,[], s)); 9662 } 9663 else 9664 { 9665 memo = null; 9666 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationIn, Spacing)), Spacing))), "ES6.VariableDeclarationListIn"), "VariableDeclarationListIn")(TParseTree("", false,[], s)); 9667 } 9668 } 9669 static string VariableDeclarationListIn(GetName g) 9670 { 9671 return "ES6.VariableDeclarationListIn"; 9672 } 9673 9674 static TParseTree VariableDeclarationListYield(TParseTree p) 9675 { 9676 if(__ctfe) 9677 { 9678 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing)), Spacing))), "ES6.VariableDeclarationListYield")(p); 9679 } 9680 else 9681 { 9682 if(auto m = tuple(`VariableDeclarationListYield`,p.end) in memo) 9683 return *m; 9684 else 9685 { 9686 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing)), Spacing))), "ES6.VariableDeclarationListYield"), "VariableDeclarationListYield")(p); 9687 memo[tuple(`VariableDeclarationListYield`,p.end)] = result; 9688 return result; 9689 } 9690 } 9691 } 9692 9693 static TParseTree VariableDeclarationListYield(string s) 9694 { 9695 if(__ctfe) 9696 { 9697 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing)), Spacing))), "ES6.VariableDeclarationListYield")(TParseTree("", false,[], s)); 9698 } 9699 else 9700 { 9701 memo = null; 9702 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationYield, Spacing)), Spacing))), "ES6.VariableDeclarationListYield"), "VariableDeclarationListYield")(TParseTree("", false,[], s)); 9703 } 9704 } 9705 static string VariableDeclarationListYield(GetName g) 9706 { 9707 return "ES6.VariableDeclarationListYield"; 9708 } 9709 9710 static TParseTree VariableDeclarationListInYield(TParseTree p) 9711 { 9712 if(__ctfe) 9713 { 9714 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing)), Spacing))), "ES6.VariableDeclarationListInYield")(p); 9715 } 9716 else 9717 { 9718 if(auto m = tuple(`VariableDeclarationListInYield`,p.end) in memo) 9719 return *m; 9720 else 9721 { 9722 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing)), Spacing))), "ES6.VariableDeclarationListInYield"), "VariableDeclarationListInYield")(p); 9723 memo[tuple(`VariableDeclarationListInYield`,p.end)] = result; 9724 return result; 9725 } 9726 } 9727 } 9728 9729 static TParseTree VariableDeclarationListInYield(string s) 9730 { 9731 if(__ctfe) 9732 { 9733 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing)), Spacing))), "ES6.VariableDeclarationListInYield")(TParseTree("", false,[], s)); 9734 } 9735 else 9736 { 9737 memo = null; 9738 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, VariableDeclarationInYield, Spacing)), Spacing))), "ES6.VariableDeclarationListInYield"), "VariableDeclarationListInYield")(TParseTree("", false,[], s)); 9739 } 9740 } 9741 static string VariableDeclarationListInYield(GetName g) 9742 { 9743 return "ES6.VariableDeclarationListInYield"; 9744 } 9745 9746 static TParseTree VariableDeclaration(TParseTree p) 9747 { 9748 if(__ctfe) 9749 { 9750 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.VariableDeclaration")(p); 9751 } 9752 else 9753 { 9754 if(auto m = tuple(`VariableDeclaration`,p.end) in memo) 9755 return *m; 9756 else 9757 { 9758 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.VariableDeclaration"), "VariableDeclaration")(p); 9759 memo[tuple(`VariableDeclaration`,p.end)] = result; 9760 return result; 9761 } 9762 } 9763 } 9764 9765 static TParseTree VariableDeclaration(string s) 9766 { 9767 if(__ctfe) 9768 { 9769 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.VariableDeclaration")(TParseTree("", false,[], s)); 9770 } 9771 else 9772 { 9773 memo = null; 9774 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, Initializer, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Initializer, Spacing))), Spacing)), "ES6.VariableDeclaration"), "VariableDeclaration")(TParseTree("", false,[], s)); 9775 } 9776 } 9777 static string VariableDeclaration(GetName g) 9778 { 9779 return "ES6.VariableDeclaration"; 9780 } 9781 9782 static TParseTree VariableDeclarationIn(TParseTree p) 9783 { 9784 if(__ctfe) 9785 { 9786 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.VariableDeclarationIn")(p); 9787 } 9788 else 9789 { 9790 if(auto m = tuple(`VariableDeclarationIn`,p.end) in memo) 9791 return *m; 9792 else 9793 { 9794 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.VariableDeclarationIn"), "VariableDeclarationIn")(p); 9795 memo[tuple(`VariableDeclarationIn`,p.end)] = result; 9796 return result; 9797 } 9798 } 9799 } 9800 9801 static TParseTree VariableDeclarationIn(string s) 9802 { 9803 if(__ctfe) 9804 { 9805 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.VariableDeclarationIn")(TParseTree("", false,[], s)); 9806 } 9807 else 9808 { 9809 memo = null; 9810 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing)), "ES6.VariableDeclarationIn"), "VariableDeclarationIn")(TParseTree("", false,[], s)); 9811 } 9812 } 9813 static string VariableDeclarationIn(GetName g) 9814 { 9815 return "ES6.VariableDeclarationIn"; 9816 } 9817 9818 static TParseTree VariableDeclarationYield(TParseTree p) 9819 { 9820 if(__ctfe) 9821 { 9822 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.VariableDeclarationYield")(p); 9823 } 9824 else 9825 { 9826 if(auto m = tuple(`VariableDeclarationYield`,p.end) in memo) 9827 return *m; 9828 else 9829 { 9830 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.VariableDeclarationYield"), "VariableDeclarationYield")(p); 9831 memo[tuple(`VariableDeclarationYield`,p.end)] = result; 9832 return result; 9833 } 9834 } 9835 } 9836 9837 static TParseTree VariableDeclarationYield(string s) 9838 { 9839 if(__ctfe) 9840 { 9841 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.VariableDeclarationYield")(TParseTree("", false,[], s)); 9842 } 9843 else 9844 { 9845 memo = null; 9846 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerYield, Spacing))), Spacing)), "ES6.VariableDeclarationYield"), "VariableDeclarationYield")(TParseTree("", false,[], s)); 9847 } 9848 } 9849 static string VariableDeclarationYield(GetName g) 9850 { 9851 return "ES6.VariableDeclarationYield"; 9852 } 9853 9854 static TParseTree VariableDeclarationInYield(TParseTree p) 9855 { 9856 if(__ctfe) 9857 { 9858 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.VariableDeclarationInYield")(p); 9859 } 9860 else 9861 { 9862 if(auto m = tuple(`VariableDeclarationInYield`,p.end) in memo) 9863 return *m; 9864 else 9865 { 9866 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.VariableDeclarationInYield"), "VariableDeclarationInYield")(p); 9867 memo[tuple(`VariableDeclarationInYield`,p.end)] = result; 9868 return result; 9869 } 9870 } 9871 } 9872 9873 static TParseTree VariableDeclarationInYield(string s) 9874 { 9875 if(__ctfe) 9876 { 9877 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.VariableDeclarationInYield")(TParseTree("", false,[], s)); 9878 } 9879 else 9880 { 9881 memo = null; 9882 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing)), "ES6.VariableDeclarationInYield"), "VariableDeclarationInYield")(TParseTree("", false,[], s)); 9883 } 9884 } 9885 static string VariableDeclarationInYield(GetName g) 9886 { 9887 return "ES6.VariableDeclarationInYield"; 9888 } 9889 9890 static TParseTree BindingPattern(TParseTree p) 9891 { 9892 if(__ctfe) 9893 { 9894 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPattern, Spacing)), "ES6.BindingPattern")(p); 9895 } 9896 else 9897 { 9898 if(auto m = tuple(`BindingPattern`,p.end) in memo) 9899 return *m; 9900 else 9901 { 9902 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPattern, Spacing)), "ES6.BindingPattern"), "BindingPattern")(p); 9903 memo[tuple(`BindingPattern`,p.end)] = result; 9904 return result; 9905 } 9906 } 9907 } 9908 9909 static TParseTree BindingPattern(string s) 9910 { 9911 if(__ctfe) 9912 { 9913 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPattern, Spacing)), "ES6.BindingPattern")(TParseTree("", false,[], s)); 9914 } 9915 else 9916 { 9917 memo = null; 9918 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPattern, Spacing)), "ES6.BindingPattern"), "BindingPattern")(TParseTree("", false,[], s)); 9919 } 9920 } 9921 static string BindingPattern(GetName g) 9922 { 9923 return "ES6.BindingPattern"; 9924 } 9925 9926 static TParseTree BindingPatternYield(TParseTree p) 9927 { 9928 if(__ctfe) 9929 { 9930 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPatternYield, Spacing)), "ES6.BindingPatternYield")(p); 9931 } 9932 else 9933 { 9934 if(auto m = tuple(`BindingPatternYield`,p.end) in memo) 9935 return *m; 9936 else 9937 { 9938 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPatternYield, Spacing)), "ES6.BindingPatternYield"), "BindingPatternYield")(p); 9939 memo[tuple(`BindingPatternYield`,p.end)] = result; 9940 return result; 9941 } 9942 } 9943 } 9944 9945 static TParseTree BindingPatternYield(string s) 9946 { 9947 if(__ctfe) 9948 { 9949 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPatternYield, Spacing)), "ES6.BindingPatternYield")(TParseTree("", false,[], s)); 9950 } 9951 else 9952 { 9953 memo = null; 9954 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ObjectBindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, ArrayBindingPatternYield, Spacing)), "ES6.BindingPatternYield"), "BindingPatternYield")(TParseTree("", false,[], s)); 9955 } 9956 } 9957 static string BindingPatternYield(GetName g) 9958 { 9959 return "ES6.BindingPatternYield"; 9960 } 9961 9962 static TParseTree ObjectBindingPattern(TParseTree p) 9963 { 9964 if(__ctfe) 9965 { 9966 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPattern")(p); 9967 } 9968 else 9969 { 9970 if(auto m = tuple(`ObjectBindingPattern`,p.end) in memo) 9971 return *m; 9972 else 9973 { 9974 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPattern"), "ObjectBindingPattern")(p); 9975 memo[tuple(`ObjectBindingPattern`,p.end)] = result; 9976 return result; 9977 } 9978 } 9979 } 9980 9981 static TParseTree ObjectBindingPattern(string s) 9982 { 9983 if(__ctfe) 9984 { 9985 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPattern")(TParseTree("", false,[], s)); 9986 } 9987 else 9988 { 9989 memo = null; 9990 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPattern"), "ObjectBindingPattern")(TParseTree("", false,[], s)); 9991 } 9992 } 9993 static string ObjectBindingPattern(GetName g) 9994 { 9995 return "ES6.ObjectBindingPattern"; 9996 } 9997 9998 static TParseTree ObjectBindingPatternYield(TParseTree p) 9999 { 10000 if(__ctfe) 10001 { 10002 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPatternYield")(p); 10003 } 10004 else 10005 { 10006 if(auto m = tuple(`ObjectBindingPatternYield`,p.end) in memo) 10007 return *m; 10008 else 10009 { 10010 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPatternYield"), "ObjectBindingPatternYield")(p); 10011 memo[tuple(`ObjectBindingPatternYield`,p.end)] = result; 10012 return result; 10013 } 10014 } 10015 } 10016 10017 static TParseTree ObjectBindingPatternYield(string s) 10018 { 10019 if(__ctfe) 10020 { 10021 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPatternYield")(TParseTree("", false,[], s)); 10022 } 10023 else 10024 { 10025 memo = null; 10026 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), Spacing))), Spacing))), Spacing), "ES6.ObjectBindingPatternYield"), "ObjectBindingPatternYield")(TParseTree("", false,[], s)); 10027 } 10028 } 10029 static string ObjectBindingPatternYield(GetName g) 10030 { 10031 return "ES6.ObjectBindingPatternYield"; 10032 } 10033 10034 static TParseTree ArrayBindingPattern(TParseTree p) 10035 { 10036 if(__ctfe) 10037 { 10038 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing)), Spacing)), "ES6.ArrayBindingPattern")(p); 10039 } 10040 else 10041 { 10042 if(auto m = tuple(`ArrayBindingPattern`,p.end) in memo) 10043 return *m; 10044 else 10045 { 10046 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing)), Spacing)), "ES6.ArrayBindingPattern"), "ArrayBindingPattern")(p); 10047 memo[tuple(`ArrayBindingPattern`,p.end)] = result; 10048 return result; 10049 } 10050 } 10051 } 10052 10053 static TParseTree ArrayBindingPattern(string s) 10054 { 10055 if(__ctfe) 10056 { 10057 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing)), Spacing)), "ES6.ArrayBindingPattern")(TParseTree("", false,[], s)); 10058 } 10059 else 10060 { 10061 memo = null; 10062 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementList, Spacing)), Spacing)), "ES6.ArrayBindingPattern"), "ArrayBindingPattern")(TParseTree("", false,[], s)); 10063 } 10064 } 10065 static string ArrayBindingPattern(GetName g) 10066 { 10067 return "ES6.ArrayBindingPattern"; 10068 } 10069 10070 static TParseTree ArrayBindingPatternYield(TParseTree p) 10071 { 10072 if(__ctfe) 10073 { 10074 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing)), Spacing)), "ES6.ArrayBindingPatternYield")(p); 10075 } 10076 else 10077 { 10078 if(auto m = tuple(`ArrayBindingPatternYield`,p.end) in memo) 10079 return *m; 10080 else 10081 { 10082 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing)), Spacing)), "ES6.ArrayBindingPatternYield"), "ArrayBindingPatternYield")(p); 10083 memo[tuple(`ArrayBindingPatternYield`,p.end)] = result; 10084 return result; 10085 } 10086 } 10087 } 10088 10089 static TParseTree ArrayBindingPatternYield(string s) 10090 { 10091 if(__ctfe) 10092 { 10093 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing)), Spacing)), "ES6.ArrayBindingPatternYield")(TParseTree("", false,[], s)); 10094 } 10095 else 10096 { 10097 memo = null; 10098 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing))), Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, SquareBrackets!(pegged.peg.wrapAround!(Spacing, BindingElementListYield, Spacing)), Spacing)), "ES6.ArrayBindingPatternYield"), "ArrayBindingPatternYield")(TParseTree("", false,[], s)); 10099 } 10100 } 10101 static string ArrayBindingPatternYield(GetName g) 10102 { 10103 return "ES6.ArrayBindingPatternYield"; 10104 } 10105 10106 static TParseTree BindingPropertyList(TParseTree p) 10107 { 10108 if(__ctfe) 10109 { 10110 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing)), Spacing))), "ES6.BindingPropertyList")(p); 10111 } 10112 else 10113 { 10114 if(auto m = tuple(`BindingPropertyList`,p.end) in memo) 10115 return *m; 10116 else 10117 { 10118 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing)), Spacing))), "ES6.BindingPropertyList"), "BindingPropertyList")(p); 10119 memo[tuple(`BindingPropertyList`,p.end)] = result; 10120 return result; 10121 } 10122 } 10123 } 10124 10125 static TParseTree BindingPropertyList(string s) 10126 { 10127 if(__ctfe) 10128 { 10129 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing)), Spacing))), "ES6.BindingPropertyList")(TParseTree("", false,[], s)); 10130 } 10131 else 10132 { 10133 memo = null; 10134 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingProperty, Spacing)), Spacing))), "ES6.BindingPropertyList"), "BindingPropertyList")(TParseTree("", false,[], s)); 10135 } 10136 } 10137 static string BindingPropertyList(GetName g) 10138 { 10139 return "ES6.BindingPropertyList"; 10140 } 10141 10142 static TParseTree BindingPropertyListYield(TParseTree p) 10143 { 10144 if(__ctfe) 10145 { 10146 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing)), Spacing))), "ES6.BindingPropertyListYield")(p); 10147 } 10148 else 10149 { 10150 if(auto m = tuple(`BindingPropertyListYield`,p.end) in memo) 10151 return *m; 10152 else 10153 { 10154 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing)), Spacing))), "ES6.BindingPropertyListYield"), "BindingPropertyListYield")(p); 10155 memo[tuple(`BindingPropertyListYield`,p.end)] = result; 10156 return result; 10157 } 10158 } 10159 } 10160 10161 static TParseTree BindingPropertyListYield(string s) 10162 { 10163 if(__ctfe) 10164 { 10165 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing)), Spacing))), "ES6.BindingPropertyListYield")(TParseTree("", false,[], s)); 10166 } 10167 else 10168 { 10169 memo = null; 10170 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingPropertyYield, Spacing)), Spacing))), "ES6.BindingPropertyListYield"), "BindingPropertyListYield")(TParseTree("", false,[], s)); 10171 } 10172 } 10173 static string BindingPropertyListYield(GetName g) 10174 { 10175 return "ES6.BindingPropertyListYield"; 10176 } 10177 10178 static TParseTree BindingElementList(TParseTree p) 10179 { 10180 if(__ctfe) 10181 { 10182 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing)), Spacing))), "ES6.BindingElementList")(p); 10183 } 10184 else 10185 { 10186 if(auto m = tuple(`BindingElementList`,p.end) in memo) 10187 return *m; 10188 else 10189 { 10190 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing)), Spacing))), "ES6.BindingElementList"), "BindingElementList")(p); 10191 memo[tuple(`BindingElementList`,p.end)] = result; 10192 return result; 10193 } 10194 } 10195 } 10196 10197 static TParseTree BindingElementList(string s) 10198 { 10199 if(__ctfe) 10200 { 10201 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing)), Spacing))), "ES6.BindingElementList")(TParseTree("", false,[], s)); 10202 } 10203 else 10204 { 10205 memo = null; 10206 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElement, Spacing)), Spacing))), "ES6.BindingElementList"), "BindingElementList")(TParseTree("", false,[], s)); 10207 } 10208 } 10209 static string BindingElementList(GetName g) 10210 { 10211 return "ES6.BindingElementList"; 10212 } 10213 10214 static TParseTree BindingElementListYield(TParseTree p) 10215 { 10216 if(__ctfe) 10217 { 10218 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing)), Spacing))), "ES6.BindingElementListYield")(p); 10219 } 10220 else 10221 { 10222 if(auto m = tuple(`BindingElementListYield`,p.end) in memo) 10223 return *m; 10224 else 10225 { 10226 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing)), Spacing))), "ES6.BindingElementListYield"), "BindingElementListYield")(p); 10227 memo[tuple(`BindingElementListYield`,p.end)] = result; 10228 return result; 10229 } 10230 } 10231 } 10232 10233 static TParseTree BindingElementListYield(string s) 10234 { 10235 if(__ctfe) 10236 { 10237 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing)), Spacing))), "ES6.BindingElementListYield")(TParseTree("", false,[], s)); 10238 } 10239 else 10240 { 10241 memo = null; 10242 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, BindingElisionElementYield, Spacing)), Spacing))), "ES6.BindingElementListYield"), "BindingElementListYield")(TParseTree("", false,[], s)); 10243 } 10244 } 10245 static string BindingElementListYield(GetName g) 10246 { 10247 return "ES6.BindingElementListYield"; 10248 } 10249 10250 static TParseTree BindingElisionElement(TParseTree p) 10251 { 10252 if(__ctfe) 10253 { 10254 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), "ES6.BindingElisionElement")(p); 10255 } 10256 else 10257 { 10258 if(auto m = tuple(`BindingElisionElement`,p.end) in memo) 10259 return *m; 10260 else 10261 { 10262 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), "ES6.BindingElisionElement"), "BindingElisionElement")(p); 10263 memo[tuple(`BindingElisionElement`,p.end)] = result; 10264 return result; 10265 } 10266 } 10267 } 10268 10269 static TParseTree BindingElisionElement(string s) 10270 { 10271 if(__ctfe) 10272 { 10273 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), "ES6.BindingElisionElement")(TParseTree("", false,[], s)); 10274 } 10275 else 10276 { 10277 memo = null; 10278 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), "ES6.BindingElisionElement"), "BindingElisionElement")(TParseTree("", false,[], s)); 10279 } 10280 } 10281 static string BindingElisionElement(GetName g) 10282 { 10283 return "ES6.BindingElisionElement"; 10284 } 10285 10286 static TParseTree BindingElisionElementYield(TParseTree p) 10287 { 10288 if(__ctfe) 10289 { 10290 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), "ES6.BindingElisionElementYield")(p); 10291 } 10292 else 10293 { 10294 if(auto m = tuple(`BindingElisionElementYield`,p.end) in memo) 10295 return *m; 10296 else 10297 { 10298 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), "ES6.BindingElisionElementYield"), "BindingElisionElementYield")(p); 10299 memo[tuple(`BindingElisionElementYield`,p.end)] = result; 10300 return result; 10301 } 10302 } 10303 } 10304 10305 static TParseTree BindingElisionElementYield(string s) 10306 { 10307 if(__ctfe) 10308 { 10309 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), "ES6.BindingElisionElementYield")(TParseTree("", false,[], s)); 10310 } 10311 else 10312 { 10313 memo = null; 10314 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Elision, Spacing)), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), "ES6.BindingElisionElementYield"), "BindingElisionElementYield")(TParseTree("", false,[], s)); 10315 } 10316 } 10317 static string BindingElisionElementYield(GetName g) 10318 { 10319 return "ES6.BindingElisionElementYield"; 10320 } 10321 10322 static TParseTree BindingProperty(TParseTree p) 10323 { 10324 if(__ctfe) 10325 { 10326 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingProperty")(p); 10327 } 10328 else 10329 { 10330 if(auto m = tuple(`BindingProperty`,p.end) in memo) 10331 return *m; 10332 else 10333 { 10334 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingProperty"), "BindingProperty")(p); 10335 memo[tuple(`BindingProperty`,p.end)] = result; 10336 return result; 10337 } 10338 } 10339 } 10340 10341 static TParseTree BindingProperty(string s) 10342 { 10343 if(__ctfe) 10344 { 10345 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingProperty")(TParseTree("", false,[], s)); 10346 } 10347 else 10348 { 10349 memo = null; 10350 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingProperty"), "BindingProperty")(TParseTree("", false,[], s)); 10351 } 10352 } 10353 static string BindingProperty(GetName g) 10354 { 10355 return "ES6.BindingProperty"; 10356 } 10357 10358 static TParseTree BindingPropertyYield(TParseTree p) 10359 { 10360 if(__ctfe) 10361 { 10362 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingPropertyYield")(p); 10363 } 10364 else 10365 { 10366 if(auto m = tuple(`BindingPropertyYield`,p.end) in memo) 10367 return *m; 10368 else 10369 { 10370 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingPropertyYield"), "BindingPropertyYield")(p); 10371 memo[tuple(`BindingPropertyYield`,p.end)] = result; 10372 return result; 10373 } 10374 } 10375 } 10376 10377 static TParseTree BindingPropertyYield(string s) 10378 { 10379 if(__ctfe) 10380 { 10381 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingPropertyYield")(TParseTree("", false,[], s)); 10382 } 10383 else 10384 { 10385 memo = null; 10386 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing), pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingPropertyYield"), "BindingPropertyYield")(TParseTree("", false,[], s)); 10387 } 10388 } 10389 static string BindingPropertyYield(GetName g) 10390 { 10391 return "ES6.BindingPropertyYield"; 10392 } 10393 10394 static TParseTree BindingElement(TParseTree p) 10395 { 10396 if(__ctfe) 10397 { 10398 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingElement")(p); 10399 } 10400 else 10401 { 10402 if(auto m = tuple(`BindingElement`,p.end) in memo) 10403 return *m; 10404 else 10405 { 10406 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingElement"), "BindingElement")(p); 10407 memo[tuple(`BindingElement`,p.end)] = result; 10408 return result; 10409 } 10410 } 10411 } 10412 10413 static TParseTree BindingElement(string s) 10414 { 10415 if(__ctfe) 10416 { 10417 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingElement")(TParseTree("", false,[], s)); 10418 } 10419 else 10420 { 10421 memo = null; 10422 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBinding, Spacing)), "ES6.BindingElement"), "BindingElement")(TParseTree("", false,[], s)); 10423 } 10424 } 10425 static string BindingElement(GetName g) 10426 { 10427 return "ES6.BindingElement"; 10428 } 10429 10430 static TParseTree BindingElementYield(TParseTree p) 10431 { 10432 if(__ctfe) 10433 { 10434 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingElementYield")(p); 10435 } 10436 else 10437 { 10438 if(auto m = tuple(`BindingElementYield`,p.end) in memo) 10439 return *m; 10440 else 10441 { 10442 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingElementYield"), "BindingElementYield")(p); 10443 memo[tuple(`BindingElementYield`,p.end)] = result; 10444 return result; 10445 } 10446 } 10447 } 10448 10449 static TParseTree BindingElementYield(string s) 10450 { 10451 if(__ctfe) 10452 { 10453 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingElementYield")(TParseTree("", false,[], s)); 10454 } 10455 else 10456 { 10457 memo = null; 10458 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, SingleNameBindingYield, Spacing)), "ES6.BindingElementYield"), "BindingElementYield")(TParseTree("", false,[], s)); 10459 } 10460 } 10461 static string BindingElementYield(GetName g) 10462 { 10463 return "ES6.BindingElementYield"; 10464 } 10465 10466 static TParseTree SingleNameBinding(TParseTree p) 10467 { 10468 if(__ctfe) 10469 { 10470 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), "ES6.SingleNameBinding")(p); 10471 } 10472 else 10473 { 10474 if(auto m = tuple(`SingleNameBinding`,p.end) in memo) 10475 return *m; 10476 else 10477 { 10478 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), "ES6.SingleNameBinding"), "SingleNameBinding")(p); 10479 memo[tuple(`SingleNameBinding`,p.end)] = result; 10480 return result; 10481 } 10482 } 10483 } 10484 10485 static TParseTree SingleNameBinding(string s) 10486 { 10487 if(__ctfe) 10488 { 10489 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), "ES6.SingleNameBinding")(TParseTree("", false,[], s)); 10490 } 10491 else 10492 { 10493 memo = null; 10494 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerIn, Spacing))), "ES6.SingleNameBinding"), "SingleNameBinding")(TParseTree("", false,[], s)); 10495 } 10496 } 10497 static string SingleNameBinding(GetName g) 10498 { 10499 return "ES6.SingleNameBinding"; 10500 } 10501 10502 static TParseTree SingleNameBindingYield(TParseTree p) 10503 { 10504 if(__ctfe) 10505 { 10506 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), "ES6.SingleNameBindingYield")(p); 10507 } 10508 else 10509 { 10510 if(auto m = tuple(`SingleNameBindingYield`,p.end) in memo) 10511 return *m; 10512 else 10513 { 10514 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), "ES6.SingleNameBindingYield"), "SingleNameBindingYield")(p); 10515 memo[tuple(`SingleNameBindingYield`,p.end)] = result; 10516 return result; 10517 } 10518 } 10519 } 10520 10521 static TParseTree SingleNameBindingYield(string s) 10522 { 10523 if(__ctfe) 10524 { 10525 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), "ES6.SingleNameBindingYield")(TParseTree("", false,[], s)); 10526 } 10527 else 10528 { 10529 memo = null; 10530 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, InitializerInYield, Spacing))), "ES6.SingleNameBindingYield"), "SingleNameBindingYield")(TParseTree("", false,[], s)); 10531 } 10532 } 10533 static string SingleNameBindingYield(GetName g) 10534 { 10535 return "ES6.SingleNameBindingYield"; 10536 } 10537 10538 static TParseTree BindingRestElement(TParseTree p) 10539 { 10540 if(__ctfe) 10541 { 10542 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.BindingRestElement")(p); 10543 } 10544 else 10545 { 10546 if(auto m = tuple(`BindingRestElement`,p.end) in memo) 10547 return *m; 10548 else 10549 { 10550 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.BindingRestElement"), "BindingRestElement")(p); 10551 memo[tuple(`BindingRestElement`,p.end)] = result; 10552 return result; 10553 } 10554 } 10555 } 10556 10557 static TParseTree BindingRestElement(string s) 10558 { 10559 if(__ctfe) 10560 { 10561 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.BindingRestElement")(TParseTree("", false,[], s)); 10562 } 10563 else 10564 { 10565 memo = null; 10566 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.BindingRestElement"), "BindingRestElement")(TParseTree("", false,[], s)); 10567 } 10568 } 10569 static string BindingRestElement(GetName g) 10570 { 10571 return "ES6.BindingRestElement"; 10572 } 10573 10574 static TParseTree BindingRestElementYield(TParseTree p) 10575 { 10576 if(__ctfe) 10577 { 10578 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.BindingRestElementYield")(p); 10579 } 10580 else 10581 { 10582 if(auto m = tuple(`BindingRestElementYield`,p.end) in memo) 10583 return *m; 10584 else 10585 { 10586 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.BindingRestElementYield"), "BindingRestElementYield")(p); 10587 memo[tuple(`BindingRestElementYield`,p.end)] = result; 10588 return result; 10589 } 10590 } 10591 } 10592 10593 static TParseTree BindingRestElementYield(string s) 10594 { 10595 if(__ctfe) 10596 { 10597 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.BindingRestElementYield")(TParseTree("", false,[], s)); 10598 } 10599 else 10600 { 10601 memo = null; 10602 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("..."), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.BindingRestElementYield"), "BindingRestElementYield")(TParseTree("", false,[], s)); 10603 } 10604 } 10605 static string BindingRestElementYield(GetName g) 10606 { 10607 return "ES6.BindingRestElementYield"; 10608 } 10609 10610 static TParseTree EmptyStatement(TParseTree p) 10611 { 10612 if(__ctfe) 10613 { 10614 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.EmptyStatement")(p); 10615 } 10616 else 10617 { 10618 if(auto m = tuple(`EmptyStatement`,p.end) in memo) 10619 return *m; 10620 else 10621 { 10622 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.EmptyStatement"), "EmptyStatement")(p); 10623 memo[tuple(`EmptyStatement`,p.end)] = result; 10624 return result; 10625 } 10626 } 10627 } 10628 10629 static TParseTree EmptyStatement(string s) 10630 { 10631 if(__ctfe) 10632 { 10633 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.EmptyStatement")(TParseTree("", false,[], s)); 10634 } 10635 else 10636 { 10637 memo = null; 10638 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.EmptyStatement"), "EmptyStatement")(TParseTree("", false,[], s)); 10639 } 10640 } 10641 static string EmptyStatement(GetName g) 10642 { 10643 return "ES6.EmptyStatement"; 10644 } 10645 10646 static TParseTree ExpressionStatement(TParseTree p) 10647 { 10648 if(__ctfe) 10649 { 10650 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.ExpressionStatement")(p); 10651 } 10652 else 10653 { 10654 if(auto m = tuple(`ExpressionStatement`,p.end) in memo) 10655 return *m; 10656 else 10657 { 10658 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.ExpressionStatement"), "ExpressionStatement")(p); 10659 memo[tuple(`ExpressionStatement`,p.end)] = result; 10660 return result; 10661 } 10662 } 10663 } 10664 10665 static TParseTree ExpressionStatement(string s) 10666 { 10667 if(__ctfe) 10668 { 10669 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.ExpressionStatement")(TParseTree("", false,[], s)); 10670 } 10671 else 10672 { 10673 memo = null; 10674 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), "ES6.ExpressionStatement"), "ExpressionStatement")(TParseTree("", false,[], s)); 10675 } 10676 } 10677 static string ExpressionStatement(GetName g) 10678 { 10679 return "ES6.ExpressionStatement"; 10680 } 10681 10682 static TParseTree ExpressionStatementYield(TParseTree p) 10683 { 10684 if(__ctfe) 10685 { 10686 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.ExpressionStatementYield")(p); 10687 } 10688 else 10689 { 10690 if(auto m = tuple(`ExpressionStatementYield`,p.end) in memo) 10691 return *m; 10692 else 10693 { 10694 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.ExpressionStatementYield"), "ExpressionStatementYield")(p); 10695 memo[tuple(`ExpressionStatementYield`,p.end)] = result; 10696 return result; 10697 } 10698 } 10699 } 10700 10701 static TParseTree ExpressionStatementYield(string s) 10702 { 10703 if(__ctfe) 10704 { 10705 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.ExpressionStatementYield")(TParseTree("", false,[], s)); 10706 } 10707 else 10708 { 10709 memo = null; 10710 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("class"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), Spacing), pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, IdentifierStart, Spacing), pegged.peg.wrapAround!(Spacing, IdentifierPart, Spacing)), Spacing))), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), "ES6.ExpressionStatementYield"), "ExpressionStatementYield")(TParseTree("", false,[], s)); 10711 } 10712 } 10713 static string ExpressionStatementYield(GetName g) 10714 { 10715 return "ES6.ExpressionStatementYield"; 10716 } 10717 10718 static TParseTree ElseKeyword(TParseTree p) 10719 { 10720 if(__ctfe) 10721 { 10722 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("else"), Spacing), "ES6.ElseKeyword")(p); 10723 } 10724 else 10725 { 10726 if(auto m = tuple(`ElseKeyword`,p.end) in memo) 10727 return *m; 10728 else 10729 { 10730 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("else"), Spacing), "ES6.ElseKeyword"), "ElseKeyword")(p); 10731 memo[tuple(`ElseKeyword`,p.end)] = result; 10732 return result; 10733 } 10734 } 10735 } 10736 10737 static TParseTree ElseKeyword(string s) 10738 { 10739 if(__ctfe) 10740 { 10741 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("else"), Spacing), "ES6.ElseKeyword")(TParseTree("", false,[], s)); 10742 } 10743 else 10744 { 10745 memo = null; 10746 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("else"), Spacing), "ES6.ElseKeyword"), "ElseKeyword")(TParseTree("", false,[], s)); 10747 } 10748 } 10749 static string ElseKeyword(GetName g) 10750 { 10751 return "ES6.ElseKeyword"; 10752 } 10753 10754 static TParseTree IfStatement(TParseTree p) 10755 { 10756 if(__ctfe) 10757 { 10758 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing))), "ES6.IfStatement")(p); 10759 } 10760 else 10761 { 10762 if(auto m = tuple(`IfStatement`,p.end) in memo) 10763 return *m; 10764 else 10765 { 10766 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing))), "ES6.IfStatement"), "IfStatement")(p); 10767 memo[tuple(`IfStatement`,p.end)] = result; 10768 return result; 10769 } 10770 } 10771 } 10772 10773 static TParseTree IfStatement(string s) 10774 { 10775 if(__ctfe) 10776 { 10777 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing))), "ES6.IfStatement")(TParseTree("", false,[], s)); 10778 } 10779 else 10780 { 10781 memo = null; 10782 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing))), "ES6.IfStatement"), "IfStatement")(TParseTree("", false,[], s)); 10783 } 10784 } 10785 static string IfStatement(GetName g) 10786 { 10787 return "ES6.IfStatement"; 10788 } 10789 10790 static TParseTree IfStatementYield(TParseTree p) 10791 { 10792 if(__ctfe) 10793 { 10794 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing))), "ES6.IfStatementYield")(p); 10795 } 10796 else 10797 { 10798 if(auto m = tuple(`IfStatementYield`,p.end) in memo) 10799 return *m; 10800 else 10801 { 10802 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing))), "ES6.IfStatementYield"), "IfStatementYield")(p); 10803 memo[tuple(`IfStatementYield`,p.end)] = result; 10804 return result; 10805 } 10806 } 10807 } 10808 10809 static TParseTree IfStatementYield(string s) 10810 { 10811 if(__ctfe) 10812 { 10813 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing))), "ES6.IfStatementYield")(TParseTree("", false,[], s)); 10814 } 10815 else 10816 { 10817 memo = null; 10818 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing))), "ES6.IfStatementYield"), "IfStatementYield")(TParseTree("", false,[], s)); 10819 } 10820 } 10821 static string IfStatementYield(GetName g) 10822 { 10823 return "ES6.IfStatementYield"; 10824 } 10825 10826 static TParseTree IfStatementReturn(TParseTree p) 10827 { 10828 if(__ctfe) 10829 { 10830 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing))), "ES6.IfStatementReturn")(p); 10831 } 10832 else 10833 { 10834 if(auto m = tuple(`IfStatementReturn`,p.end) in memo) 10835 return *m; 10836 else 10837 { 10838 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing))), "ES6.IfStatementReturn"), "IfStatementReturn")(p); 10839 memo[tuple(`IfStatementReturn`,p.end)] = result; 10840 return result; 10841 } 10842 } 10843 } 10844 10845 static TParseTree IfStatementReturn(string s) 10846 { 10847 if(__ctfe) 10848 { 10849 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing))), "ES6.IfStatementReturn")(TParseTree("", false,[], s)); 10850 } 10851 else 10852 { 10853 memo = null; 10854 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing))), "ES6.IfStatementReturn"), "IfStatementReturn")(TParseTree("", false,[], s)); 10855 } 10856 } 10857 static string IfStatementReturn(GetName g) 10858 { 10859 return "ES6.IfStatementReturn"; 10860 } 10861 10862 static TParseTree IfStatementYieldReturn(TParseTree p) 10863 { 10864 if(__ctfe) 10865 { 10866 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing))), "ES6.IfStatementYieldReturn")(p); 10867 } 10868 else 10869 { 10870 if(auto m = tuple(`IfStatementYieldReturn`,p.end) in memo) 10871 return *m; 10872 else 10873 { 10874 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing))), "ES6.IfStatementYieldReturn"), "IfStatementYieldReturn")(p); 10875 memo[tuple(`IfStatementYieldReturn`,p.end)] = result; 10876 return result; 10877 } 10878 } 10879 } 10880 10881 static TParseTree IfStatementYieldReturn(string s) 10882 { 10883 if(__ctfe) 10884 { 10885 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing))), "ES6.IfStatementYieldReturn")(TParseTree("", false,[], s)); 10886 } 10887 else 10888 { 10889 memo = null; 10890 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("if"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ElseKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing))), "ES6.IfStatementYieldReturn"), "IfStatementYieldReturn")(TParseTree("", false,[], s)); 10891 } 10892 } 10893 static string IfStatementYieldReturn(GetName g) 10894 { 10895 return "ES6.IfStatementYieldReturn"; 10896 } 10897 10898 static TParseTree DoKeyword(TParseTree p) 10899 { 10900 if(__ctfe) 10901 { 10902 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("do"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.DoKeyword")(p); 10903 } 10904 else 10905 { 10906 if(auto m = tuple(`DoKeyword`,p.end) in memo) 10907 return *m; 10908 else 10909 { 10910 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("do"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.DoKeyword"), "DoKeyword")(p); 10911 memo[tuple(`DoKeyword`,p.end)] = result; 10912 return result; 10913 } 10914 } 10915 } 10916 10917 static TParseTree DoKeyword(string s) 10918 { 10919 if(__ctfe) 10920 { 10921 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("do"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.DoKeyword")(TParseTree("", false,[], s)); 10922 } 10923 else 10924 { 10925 memo = null; 10926 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("do"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart))), "ES6.DoKeyword"), "DoKeyword")(TParseTree("", false,[], s)); 10927 } 10928 } 10929 static string DoKeyword(GetName g) 10930 { 10931 return "ES6.DoKeyword"; 10932 } 10933 10934 static TParseTree WhileKeyword(TParseTree p) 10935 { 10936 if(__ctfe) 10937 { 10938 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("while"), Spacing), "ES6.WhileKeyword")(p); 10939 } 10940 else 10941 { 10942 if(auto m = tuple(`WhileKeyword`,p.end) in memo) 10943 return *m; 10944 else 10945 { 10946 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("while"), Spacing), "ES6.WhileKeyword"), "WhileKeyword")(p); 10947 memo[tuple(`WhileKeyword`,p.end)] = result; 10948 return result; 10949 } 10950 } 10951 } 10952 10953 static TParseTree WhileKeyword(string s) 10954 { 10955 if(__ctfe) 10956 { 10957 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("while"), Spacing), "ES6.WhileKeyword")(TParseTree("", false,[], s)); 10958 } 10959 else 10960 { 10961 memo = null; 10962 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("while"), Spacing), "ES6.WhileKeyword"), "WhileKeyword")(TParseTree("", false,[], s)); 10963 } 10964 } 10965 static string WhileKeyword(GetName g) 10966 { 10967 return "ES6.WhileKeyword"; 10968 } 10969 10970 static TParseTree ForKeyword(TParseTree p) 10971 { 10972 if(__ctfe) 10973 { 10974 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("for"), Spacing), "ES6.ForKeyword")(p); 10975 } 10976 else 10977 { 10978 if(auto m = tuple(`ForKeyword`,p.end) in memo) 10979 return *m; 10980 else 10981 { 10982 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("for"), Spacing), "ES6.ForKeyword"), "ForKeyword")(p); 10983 memo[tuple(`ForKeyword`,p.end)] = result; 10984 return result; 10985 } 10986 } 10987 } 10988 10989 static TParseTree ForKeyword(string s) 10990 { 10991 if(__ctfe) 10992 { 10993 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("for"), Spacing), "ES6.ForKeyword")(TParseTree("", false,[], s)); 10994 } 10995 else 10996 { 10997 memo = null; 10998 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("for"), Spacing), "ES6.ForKeyword"), "ForKeyword")(TParseTree("", false,[], s)); 10999 } 11000 } 11001 static string ForKeyword(GetName g) 11002 { 11003 return "ES6.ForKeyword"; 11004 } 11005 11006 static TParseTree VarKeyword(TParseTree p) 11007 { 11008 if(__ctfe) 11009 { 11010 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing), "ES6.VarKeyword")(p); 11011 } 11012 else 11013 { 11014 if(auto m = tuple(`VarKeyword`,p.end) in memo) 11015 return *m; 11016 else 11017 { 11018 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing), "ES6.VarKeyword"), "VarKeyword")(p); 11019 memo[tuple(`VarKeyword`,p.end)] = result; 11020 return result; 11021 } 11022 } 11023 } 11024 11025 static TParseTree VarKeyword(string s) 11026 { 11027 if(__ctfe) 11028 { 11029 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing), "ES6.VarKeyword")(TParseTree("", false,[], s)); 11030 } 11031 else 11032 { 11033 memo = null; 11034 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("var"), Spacing), "ES6.VarKeyword"), "VarKeyword")(TParseTree("", false,[], s)); 11035 } 11036 } 11037 static string VarKeyword(GetName g) 11038 { 11039 return "ES6.VarKeyword"; 11040 } 11041 11042 static TParseTree InKeyword(TParseTree p) 11043 { 11044 if(__ctfe) 11045 { 11046 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing), "ES6.InKeyword")(p); 11047 } 11048 else 11049 { 11050 if(auto m = tuple(`InKeyword`,p.end) in memo) 11051 return *m; 11052 else 11053 { 11054 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing), "ES6.InKeyword"), "InKeyword")(p); 11055 memo[tuple(`InKeyword`,p.end)] = result; 11056 return result; 11057 } 11058 } 11059 } 11060 11061 static TParseTree InKeyword(string s) 11062 { 11063 if(__ctfe) 11064 { 11065 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing), "ES6.InKeyword")(TParseTree("", false,[], s)); 11066 } 11067 else 11068 { 11069 memo = null; 11070 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("in"), Spacing), "ES6.InKeyword"), "InKeyword")(TParseTree("", false,[], s)); 11071 } 11072 } 11073 static string InKeyword(GetName g) 11074 { 11075 return "ES6.InKeyword"; 11076 } 11077 11078 static TParseTree OfKeyword(TParseTree p) 11079 { 11080 if(__ctfe) 11081 { 11082 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("of"), Spacing), "ES6.OfKeyword")(p); 11083 } 11084 else 11085 { 11086 if(auto m = tuple(`OfKeyword`,p.end) in memo) 11087 return *m; 11088 else 11089 { 11090 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("of"), Spacing), "ES6.OfKeyword"), "OfKeyword")(p); 11091 memo[tuple(`OfKeyword`,p.end)] = result; 11092 return result; 11093 } 11094 } 11095 } 11096 11097 static TParseTree OfKeyword(string s) 11098 { 11099 if(__ctfe) 11100 { 11101 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("of"), Spacing), "ES6.OfKeyword")(TParseTree("", false,[], s)); 11102 } 11103 else 11104 { 11105 memo = null; 11106 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("of"), Spacing), "ES6.OfKeyword"), "OfKeyword")(TParseTree("", false,[], s)); 11107 } 11108 } 11109 static string OfKeyword(GetName g) 11110 { 11111 return "ES6.OfKeyword"; 11112 } 11113 11114 static TParseTree Semicolon(TParseTree p) 11115 { 11116 if(__ctfe) 11117 { 11118 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.Semicolon")(p); 11119 } 11120 else 11121 { 11122 if(auto m = tuple(`Semicolon`,p.end) in memo) 11123 return *m; 11124 else 11125 { 11126 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.Semicolon"), "Semicolon")(p); 11127 memo[tuple(`Semicolon`,p.end)] = result; 11128 return result; 11129 } 11130 } 11131 } 11132 11133 static TParseTree Semicolon(string s) 11134 { 11135 if(__ctfe) 11136 { 11137 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.Semicolon")(TParseTree("", false,[], s)); 11138 } 11139 else 11140 { 11141 memo = null; 11142 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing), "ES6.Semicolon"), "Semicolon")(TParseTree("", false,[], s)); 11143 } 11144 } 11145 static string Semicolon(GetName g) 11146 { 11147 return "ES6.Semicolon"; 11148 } 11149 11150 static TParseTree IterationStatement(TParseTree p) 11151 { 11152 if(__ctfe) 11153 { 11154 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing)), "ES6.IterationStatement")(p); 11155 } 11156 else 11157 { 11158 if(auto m = tuple(`IterationStatement`,p.end) in memo) 11159 return *m; 11160 else 11161 { 11162 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing)), "ES6.IterationStatement"), "IterationStatement")(p); 11163 memo[tuple(`IterationStatement`,p.end)] = result; 11164 return result; 11165 } 11166 } 11167 } 11168 11169 static TParseTree IterationStatement(string s) 11170 { 11171 if(__ctfe) 11172 { 11173 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing)), "ES6.IterationStatement")(TParseTree("", false,[], s)); 11174 } 11175 else 11176 { 11177 memo = null; 11178 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), Spacing)), "ES6.IterationStatement"), "IterationStatement")(TParseTree("", false,[], s)); 11179 } 11180 } 11181 static string IterationStatement(GetName g) 11182 { 11183 return "ES6.IterationStatement"; 11184 } 11185 11186 static TParseTree IterationStatementYield(TParseTree p) 11187 { 11188 if(__ctfe) 11189 { 11190 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing)), "ES6.IterationStatementYield")(p); 11191 } 11192 else 11193 { 11194 if(auto m = tuple(`IterationStatementYield`,p.end) in memo) 11195 return *m; 11196 else 11197 { 11198 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing)), "ES6.IterationStatementYield"), "IterationStatementYield")(p); 11199 memo[tuple(`IterationStatementYield`,p.end)] = result; 11200 return result; 11201 } 11202 } 11203 } 11204 11205 static TParseTree IterationStatementYield(string s) 11206 { 11207 if(__ctfe) 11208 { 11209 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing)), "ES6.IterationStatementYield")(TParseTree("", false,[], s)); 11210 } 11211 else 11212 { 11213 memo = null; 11214 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), Spacing)), "ES6.IterationStatementYield"), "IterationStatementYield")(TParseTree("", false,[], s)); 11215 } 11216 } 11217 static string IterationStatementYield(GetName g) 11218 { 11219 return "ES6.IterationStatementYield"; 11220 } 11221 11222 static TParseTree IterationStatementReturn(TParseTree p) 11223 { 11224 if(__ctfe) 11225 { 11226 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing)), "ES6.IterationStatementReturn")(p); 11227 } 11228 else 11229 { 11230 if(auto m = tuple(`IterationStatementReturn`,p.end) in memo) 11231 return *m; 11232 else 11233 { 11234 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing)), "ES6.IterationStatementReturn"), "IterationStatementReturn")(p); 11235 memo[tuple(`IterationStatementReturn`,p.end)] = result; 11236 return result; 11237 } 11238 } 11239 } 11240 11241 static TParseTree IterationStatementReturn(string s) 11242 { 11243 if(__ctfe) 11244 { 11245 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing)), "ES6.IterationStatementReturn")(TParseTree("", false,[], s)); 11246 } 11247 else 11248 { 11249 memo = null; 11250 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationList, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclaration, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Expression, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), Spacing)), "ES6.IterationStatementReturn"), "IterationStatementReturn")(TParseTree("", false,[], s)); 11251 } 11252 } 11253 static string IterationStatementReturn(GetName g) 11254 { 11255 return "ES6.IterationStatementReturn"; 11256 } 11257 11258 static TParseTree IterationStatementYieldReturn(TParseTree p) 11259 { 11260 if(__ctfe) 11261 { 11262 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing)), "ES6.IterationStatementYieldReturn")(p); 11263 } 11264 else 11265 { 11266 if(auto m = tuple(`IterationStatementYieldReturn`,p.end) in memo) 11267 return *m; 11268 else 11269 { 11270 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing)), "ES6.IterationStatementYieldReturn"), "IterationStatementYieldReturn")(p); 11271 memo[tuple(`IterationStatementYieldReturn`,p.end)] = result; 11272 return result; 11273 } 11274 } 11275 } 11276 11277 static TParseTree IterationStatementYieldReturn(string s) 11278 { 11279 if(__ctfe) 11280 { 11281 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing)), "ES6.IterationStatementYieldReturn")(TParseTree("", false,[], s)); 11282 } 11283 else 11284 { 11285 memo = null; 11286 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, DoKeyword, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing), pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, WhileKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, VariableDeclarationListYield, Spacing), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, VarKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing)), Spacing)), Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LexicalDeclarationYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), pegged.peg.wrapAround!(Spacing, Semicolon, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing)), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, InKeyword, Spacing), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, ForKeyword, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("let"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing), pegged.peg.wrapAround!(Spacing, OfKeyword, Spacing), pegged.peg.wrapAround!(Spacing, AssignmentExpressionInYield, Spacing))), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), Spacing)), "ES6.IterationStatementYieldReturn"), "IterationStatementYieldReturn")(TParseTree("", false,[], s)); 11287 } 11288 } 11289 static string IterationStatementYieldReturn(GetName g) 11290 { 11291 return "ES6.IterationStatementYieldReturn"; 11292 } 11293 11294 static TParseTree ForDeclaration(TParseTree p) 11295 { 11296 if(__ctfe) 11297 { 11298 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing)), "ES6.ForDeclaration")(p); 11299 } 11300 else 11301 { 11302 if(auto m = tuple(`ForDeclaration`,p.end) in memo) 11303 return *m; 11304 else 11305 { 11306 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing)), "ES6.ForDeclaration"), "ForDeclaration")(p); 11307 memo[tuple(`ForDeclaration`,p.end)] = result; 11308 return result; 11309 } 11310 } 11311 } 11312 11313 static TParseTree ForDeclaration(string s) 11314 { 11315 if(__ctfe) 11316 { 11317 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing)), "ES6.ForDeclaration")(TParseTree("", false,[], s)); 11318 } 11319 else 11320 { 11321 memo = null; 11322 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBinding, Spacing)), "ES6.ForDeclaration"), "ForDeclaration")(TParseTree("", false,[], s)); 11323 } 11324 } 11325 static string ForDeclaration(GetName g) 11326 { 11327 return "ES6.ForDeclaration"; 11328 } 11329 11330 static TParseTree ForDeclarationYield(TParseTree p) 11331 { 11332 if(__ctfe) 11333 { 11334 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing)), "ES6.ForDeclarationYield")(p); 11335 } 11336 else 11337 { 11338 if(auto m = tuple(`ForDeclarationYield`,p.end) in memo) 11339 return *m; 11340 else 11341 { 11342 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing)), "ES6.ForDeclarationYield"), "ForDeclarationYield")(p); 11343 memo[tuple(`ForDeclarationYield`,p.end)] = result; 11344 return result; 11345 } 11346 } 11347 } 11348 11349 static TParseTree ForDeclarationYield(string s) 11350 { 11351 if(__ctfe) 11352 { 11353 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing)), "ES6.ForDeclarationYield")(TParseTree("", false,[], s)); 11354 } 11355 else 11356 { 11357 memo = null; 11358 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LetOrConst, Spacing), pegged.peg.wrapAround!(Spacing, ForBindingYield, Spacing)), "ES6.ForDeclarationYield"), "ForDeclarationYield")(TParseTree("", false,[], s)); 11359 } 11360 } 11361 static string ForDeclarationYield(GetName g) 11362 { 11363 return "ES6.ForDeclarationYield"; 11364 } 11365 11366 static TParseTree ForBinding(TParseTree p) 11367 { 11368 if(__ctfe) 11369 { 11370 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.ForBinding")(p); 11371 } 11372 else 11373 { 11374 if(auto m = tuple(`ForBinding`,p.end) in memo) 11375 return *m; 11376 else 11377 { 11378 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.ForBinding"), "ForBinding")(p); 11379 memo[tuple(`ForBinding`,p.end)] = result; 11380 return result; 11381 } 11382 } 11383 } 11384 11385 static TParseTree ForBinding(string s) 11386 { 11387 if(__ctfe) 11388 { 11389 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.ForBinding")(TParseTree("", false,[], s)); 11390 } 11391 else 11392 { 11393 memo = null; 11394 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.ForBinding"), "ForBinding")(TParseTree("", false,[], s)); 11395 } 11396 } 11397 static string ForBinding(GetName g) 11398 { 11399 return "ES6.ForBinding"; 11400 } 11401 11402 static TParseTree ForBindingYield(TParseTree p) 11403 { 11404 if(__ctfe) 11405 { 11406 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.ForBindingYield")(p); 11407 } 11408 else 11409 { 11410 if(auto m = tuple(`ForBindingYield`,p.end) in memo) 11411 return *m; 11412 else 11413 { 11414 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.ForBindingYield"), "ForBindingYield")(p); 11415 memo[tuple(`ForBindingYield`,p.end)] = result; 11416 return result; 11417 } 11418 } 11419 } 11420 11421 static TParseTree ForBindingYield(string s) 11422 { 11423 if(__ctfe) 11424 { 11425 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.ForBindingYield")(TParseTree("", false,[], s)); 11426 } 11427 else 11428 { 11429 memo = null; 11430 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.ForBindingYield"), "ForBindingYield")(TParseTree("", false,[], s)); 11431 } 11432 } 11433 static string ForBindingYield(GetName g) 11434 { 11435 return "ES6.ForBindingYield"; 11436 } 11437 11438 static TParseTree ContinueStatement(TParseTree p) 11439 { 11440 if(__ctfe) 11441 { 11442 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatement")(p); 11443 } 11444 else 11445 { 11446 if(auto m = tuple(`ContinueStatement`,p.end) in memo) 11447 return *m; 11448 else 11449 { 11450 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatement"), "ContinueStatement")(p); 11451 memo[tuple(`ContinueStatement`,p.end)] = result; 11452 return result; 11453 } 11454 } 11455 } 11456 11457 static TParseTree ContinueStatement(string s) 11458 { 11459 if(__ctfe) 11460 { 11461 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatement")(TParseTree("", false,[], s)); 11462 } 11463 else 11464 { 11465 memo = null; 11466 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatement"), "ContinueStatement")(TParseTree("", false,[], s)); 11467 } 11468 } 11469 static string ContinueStatement(GetName g) 11470 { 11471 return "ES6.ContinueStatement"; 11472 } 11473 11474 static TParseTree ContinueStatementYield(TParseTree p) 11475 { 11476 if(__ctfe) 11477 { 11478 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatementYield")(p); 11479 } 11480 else 11481 { 11482 if(auto m = tuple(`ContinueStatementYield`,p.end) in memo) 11483 return *m; 11484 else 11485 { 11486 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatementYield"), "ContinueStatementYield")(p); 11487 memo[tuple(`ContinueStatementYield`,p.end)] = result; 11488 return result; 11489 } 11490 } 11491 } 11492 11493 static TParseTree ContinueStatementYield(string s) 11494 { 11495 if(__ctfe) 11496 { 11497 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatementYield")(TParseTree("", false,[], s)); 11498 } 11499 else 11500 { 11501 memo = null; 11502 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("continue"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ContinueStatementYield"), "ContinueStatementYield")(TParseTree("", false,[], s)); 11503 } 11504 } 11505 static string ContinueStatementYield(GetName g) 11506 { 11507 return "ES6.ContinueStatementYield"; 11508 } 11509 11510 static TParseTree BreakStatement(TParseTree p) 11511 { 11512 if(__ctfe) 11513 { 11514 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatement")(p); 11515 } 11516 else 11517 { 11518 if(auto m = tuple(`BreakStatement`,p.end) in memo) 11519 return *m; 11520 else 11521 { 11522 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatement"), "BreakStatement")(p); 11523 memo[tuple(`BreakStatement`,p.end)] = result; 11524 return result; 11525 } 11526 } 11527 } 11528 11529 static TParseTree BreakStatement(string s) 11530 { 11531 if(__ctfe) 11532 { 11533 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatement")(TParseTree("", false,[], s)); 11534 } 11535 else 11536 { 11537 memo = null; 11538 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifier), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatement"), "BreakStatement")(TParseTree("", false,[], s)); 11539 } 11540 } 11541 static string BreakStatement(GetName g) 11542 { 11543 return "ES6.BreakStatement"; 11544 } 11545 11546 static TParseTree BreakStatementYield(TParseTree p) 11547 { 11548 if(__ctfe) 11549 { 11550 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatementYield")(p); 11551 } 11552 else 11553 { 11554 if(auto m = tuple(`BreakStatementYield`,p.end) in memo) 11555 return *m; 11556 else 11557 { 11558 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatementYield"), "BreakStatementYield")(p); 11559 memo[tuple(`BreakStatementYield`,p.end)] = result; 11560 return result; 11561 } 11562 } 11563 } 11564 11565 static TParseTree BreakStatementYield(string s) 11566 { 11567 if(__ctfe) 11568 { 11569 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatementYield")(TParseTree("", false,[], s)); 11570 } 11571 else 11572 { 11573 memo = null; 11574 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(IdentifierStart), Spaces, LabelIdentifierYield), pegged.peg.and!(pegged.peg.literal!("break"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.BreakStatementYield"), "BreakStatementYield")(TParseTree("", false,[], s)); 11575 } 11576 } 11577 static string BreakStatementYield(GetName g) 11578 { 11579 return "ES6.BreakStatementYield"; 11580 } 11581 11582 static TParseTree ReturnStatement(TParseTree p) 11583 { 11584 if(__ctfe) 11585 { 11586 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatement")(p); 11587 } 11588 else 11589 { 11590 if(auto m = tuple(`ReturnStatement`,p.end) in memo) 11591 return *m; 11592 else 11593 { 11594 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatement"), "ReturnStatement")(p); 11595 memo[tuple(`ReturnStatement`,p.end)] = result; 11596 return result; 11597 } 11598 } 11599 } 11600 11601 static TParseTree ReturnStatement(string s) 11602 { 11603 if(__ctfe) 11604 { 11605 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatement")(TParseTree("", false,[], s)); 11606 } 11607 else 11608 { 11609 memo = null; 11610 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatement"), "ReturnStatement")(TParseTree("", false,[], s)); 11611 } 11612 } 11613 static string ReturnStatement(GetName g) 11614 { 11615 return "ES6.ReturnStatement"; 11616 } 11617 11618 static TParseTree ReturnStatementYield(TParseTree p) 11619 { 11620 if(__ctfe) 11621 { 11622 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatementYield")(p); 11623 } 11624 else 11625 { 11626 if(auto m = tuple(`ReturnStatementYield`,p.end) in memo) 11627 return *m; 11628 else 11629 { 11630 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatementYield"), "ReturnStatementYield")(p); 11631 memo[tuple(`ReturnStatementYield`,p.end)] = result; 11632 return result; 11633 } 11634 } 11635 } 11636 11637 static TParseTree ReturnStatementYield(string s) 11638 { 11639 if(__ctfe) 11640 { 11641 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatementYield")(TParseTree("", false,[], s)); 11642 } 11643 else 11644 { 11645 memo = null; 11646 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield), pegged.peg.and!(pegged.peg.literal!("return"), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)))), Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ReturnStatementYield"), "ReturnStatementYield")(TParseTree("", false,[], s)); 11647 } 11648 } 11649 static string ReturnStatementYield(GetName g) 11650 { 11651 return "ES6.ReturnStatementYield"; 11652 } 11653 11654 static TParseTree WithStatement(TParseTree p) 11655 { 11656 if(__ctfe) 11657 { 11658 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.WithStatement")(p); 11659 } 11660 else 11661 { 11662 if(auto m = tuple(`WithStatement`,p.end) in memo) 11663 return *m; 11664 else 11665 { 11666 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.WithStatement"), "WithStatement")(p); 11667 memo[tuple(`WithStatement`,p.end)] = result; 11668 return result; 11669 } 11670 } 11671 } 11672 11673 static TParseTree WithStatement(string s) 11674 { 11675 if(__ctfe) 11676 { 11677 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.WithStatement")(TParseTree("", false,[], s)); 11678 } 11679 else 11680 { 11681 memo = null; 11682 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.WithStatement"), "WithStatement")(TParseTree("", false,[], s)); 11683 } 11684 } 11685 static string WithStatement(GetName g) 11686 { 11687 return "ES6.WithStatement"; 11688 } 11689 11690 static TParseTree WithStatementYield(TParseTree p) 11691 { 11692 if(__ctfe) 11693 { 11694 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.WithStatementYield")(p); 11695 } 11696 else 11697 { 11698 if(auto m = tuple(`WithStatementYield`,p.end) in memo) 11699 return *m; 11700 else 11701 { 11702 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.WithStatementYield"), "WithStatementYield")(p); 11703 memo[tuple(`WithStatementYield`,p.end)] = result; 11704 return result; 11705 } 11706 } 11707 } 11708 11709 static TParseTree WithStatementYield(string s) 11710 { 11711 if(__ctfe) 11712 { 11713 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.WithStatementYield")(TParseTree("", false,[], s)); 11714 } 11715 else 11716 { 11717 memo = null; 11718 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.WithStatementYield"), "WithStatementYield")(TParseTree("", false,[], s)); 11719 } 11720 } 11721 static string WithStatementYield(GetName g) 11722 { 11723 return "ES6.WithStatementYield"; 11724 } 11725 11726 static TParseTree WithStatementReturn(TParseTree p) 11727 { 11728 if(__ctfe) 11729 { 11730 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.WithStatementReturn")(p); 11731 } 11732 else 11733 { 11734 if(auto m = tuple(`WithStatementReturn`,p.end) in memo) 11735 return *m; 11736 else 11737 { 11738 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.WithStatementReturn"), "WithStatementReturn")(p); 11739 memo[tuple(`WithStatementReturn`,p.end)] = result; 11740 return result; 11741 } 11742 } 11743 } 11744 11745 static TParseTree WithStatementReturn(string s) 11746 { 11747 if(__ctfe) 11748 { 11749 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.WithStatementReturn")(TParseTree("", false,[], s)); 11750 } 11751 else 11752 { 11753 memo = null; 11754 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.WithStatementReturn"), "WithStatementReturn")(TParseTree("", false,[], s)); 11755 } 11756 } 11757 static string WithStatementReturn(GetName g) 11758 { 11759 return "ES6.WithStatementReturn"; 11760 } 11761 11762 static TParseTree WithStatementYieldReturn(TParseTree p) 11763 { 11764 if(__ctfe) 11765 { 11766 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.WithStatementYieldReturn")(p); 11767 } 11768 else 11769 { 11770 if(auto m = tuple(`WithStatementYieldReturn`,p.end) in memo) 11771 return *m; 11772 else 11773 { 11774 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.WithStatementYieldReturn"), "WithStatementYieldReturn")(p); 11775 memo[tuple(`WithStatementYieldReturn`,p.end)] = result; 11776 return result; 11777 } 11778 } 11779 } 11780 11781 static TParseTree WithStatementYieldReturn(string s) 11782 { 11783 if(__ctfe) 11784 { 11785 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.WithStatementYieldReturn")(TParseTree("", false,[], s)); 11786 } 11787 else 11788 { 11789 memo = null; 11790 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("with"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.WithStatementYieldReturn"), "WithStatementYieldReturn")(TParseTree("", false,[], s)); 11791 } 11792 } 11793 static string WithStatementYieldReturn(GetName g) 11794 { 11795 return "ES6.WithStatementYieldReturn"; 11796 } 11797 11798 static TParseTree SwitchStatement(TParseTree p) 11799 { 11800 if(__ctfe) 11801 { 11802 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlock, Spacing)), "ES6.SwitchStatement")(p); 11803 } 11804 else 11805 { 11806 if(auto m = tuple(`SwitchStatement`,p.end) in memo) 11807 return *m; 11808 else 11809 { 11810 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlock, Spacing)), "ES6.SwitchStatement"), "SwitchStatement")(p); 11811 memo[tuple(`SwitchStatement`,p.end)] = result; 11812 return result; 11813 } 11814 } 11815 } 11816 11817 static TParseTree SwitchStatement(string s) 11818 { 11819 if(__ctfe) 11820 { 11821 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlock, Spacing)), "ES6.SwitchStatement")(TParseTree("", false,[], s)); 11822 } 11823 else 11824 { 11825 memo = null; 11826 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlock, Spacing)), "ES6.SwitchStatement"), "SwitchStatement")(TParseTree("", false,[], s)); 11827 } 11828 } 11829 static string SwitchStatement(GetName g) 11830 { 11831 return "ES6.SwitchStatement"; 11832 } 11833 11834 static TParseTree SwitchStatementYield(TParseTree p) 11835 { 11836 if(__ctfe) 11837 { 11838 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYield, Spacing)), "ES6.SwitchStatementYield")(p); 11839 } 11840 else 11841 { 11842 if(auto m = tuple(`SwitchStatementYield`,p.end) in memo) 11843 return *m; 11844 else 11845 { 11846 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYield, Spacing)), "ES6.SwitchStatementYield"), "SwitchStatementYield")(p); 11847 memo[tuple(`SwitchStatementYield`,p.end)] = result; 11848 return result; 11849 } 11850 } 11851 } 11852 11853 static TParseTree SwitchStatementYield(string s) 11854 { 11855 if(__ctfe) 11856 { 11857 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYield, Spacing)), "ES6.SwitchStatementYield")(TParseTree("", false,[], s)); 11858 } 11859 else 11860 { 11861 memo = null; 11862 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYield, Spacing)), "ES6.SwitchStatementYield"), "SwitchStatementYield")(TParseTree("", false,[], s)); 11863 } 11864 } 11865 static string SwitchStatementYield(GetName g) 11866 { 11867 return "ES6.SwitchStatementYield"; 11868 } 11869 11870 static TParseTree SwitchStatementReturn(TParseTree p) 11871 { 11872 if(__ctfe) 11873 { 11874 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockReturn, Spacing)), "ES6.SwitchStatementReturn")(p); 11875 } 11876 else 11877 { 11878 if(auto m = tuple(`SwitchStatementReturn`,p.end) in memo) 11879 return *m; 11880 else 11881 { 11882 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockReturn, Spacing)), "ES6.SwitchStatementReturn"), "SwitchStatementReturn")(p); 11883 memo[tuple(`SwitchStatementReturn`,p.end)] = result; 11884 return result; 11885 } 11886 } 11887 } 11888 11889 static TParseTree SwitchStatementReturn(string s) 11890 { 11891 if(__ctfe) 11892 { 11893 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockReturn, Spacing)), "ES6.SwitchStatementReturn")(TParseTree("", false,[], s)); 11894 } 11895 else 11896 { 11897 memo = null; 11898 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockReturn, Spacing)), "ES6.SwitchStatementReturn"), "SwitchStatementReturn")(TParseTree("", false,[], s)); 11899 } 11900 } 11901 static string SwitchStatementReturn(GetName g) 11902 { 11903 return "ES6.SwitchStatementReturn"; 11904 } 11905 11906 static TParseTree SwitchStatementYieldReturn(TParseTree p) 11907 { 11908 if(__ctfe) 11909 { 11910 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYieldReturn, Spacing)), "ES6.SwitchStatementYieldReturn")(p); 11911 } 11912 else 11913 { 11914 if(auto m = tuple(`SwitchStatementYieldReturn`,p.end) in memo) 11915 return *m; 11916 else 11917 { 11918 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYieldReturn, Spacing)), "ES6.SwitchStatementYieldReturn"), "SwitchStatementYieldReturn")(p); 11919 memo[tuple(`SwitchStatementYieldReturn`,p.end)] = result; 11920 return result; 11921 } 11922 } 11923 } 11924 11925 static TParseTree SwitchStatementYieldReturn(string s) 11926 { 11927 if(__ctfe) 11928 { 11929 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYieldReturn, Spacing)), "ES6.SwitchStatementYieldReturn")(TParseTree("", false,[], s)); 11930 } 11931 else 11932 { 11933 memo = null; 11934 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("switch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CaseBlockYieldReturn, Spacing)), "ES6.SwitchStatementYieldReturn"), "SwitchStatementYieldReturn")(TParseTree("", false,[], s)); 11935 } 11936 } 11937 static string SwitchStatementYieldReturn(GetName g) 11938 { 11939 return "ES6.SwitchStatementYieldReturn"; 11940 } 11941 11942 static TParseTree CaseBlock(TParseTree p) 11943 { 11944 if(__ctfe) 11945 { 11946 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClause, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)))), Spacing), "ES6.CaseBlock")(p); 11947 } 11948 else 11949 { 11950 if(auto m = tuple(`CaseBlock`,p.end) in memo) 11951 return *m; 11952 else 11953 { 11954 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClause, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)))), Spacing), "ES6.CaseBlock"), "CaseBlock")(p); 11955 memo[tuple(`CaseBlock`,p.end)] = result; 11956 return result; 11957 } 11958 } 11959 } 11960 11961 static TParseTree CaseBlock(string s) 11962 { 11963 if(__ctfe) 11964 { 11965 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClause, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)))), Spacing), "ES6.CaseBlock")(TParseTree("", false,[], s)); 11966 } 11967 else 11968 { 11969 memo = null; 11970 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClause, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClauses, Spacing)))), Spacing), "ES6.CaseBlock"), "CaseBlock")(TParseTree("", false,[], s)); 11971 } 11972 } 11973 static string CaseBlock(GetName g) 11974 { 11975 return "ES6.CaseBlock"; 11976 } 11977 11978 static TParseTree CaseBlockYield(TParseTree p) 11979 { 11980 if(__ctfe) 11981 { 11982 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)))), Spacing), "ES6.CaseBlockYield")(p); 11983 } 11984 else 11985 { 11986 if(auto m = tuple(`CaseBlockYield`,p.end) in memo) 11987 return *m; 11988 else 11989 { 11990 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)))), Spacing), "ES6.CaseBlockYield"), "CaseBlockYield")(p); 11991 memo[tuple(`CaseBlockYield`,p.end)] = result; 11992 return result; 11993 } 11994 } 11995 } 11996 11997 static TParseTree CaseBlockYield(string s) 11998 { 11999 if(__ctfe) 12000 { 12001 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)))), Spacing), "ES6.CaseBlockYield")(TParseTree("", false,[], s)); 12002 } 12003 else 12004 { 12005 memo = null; 12006 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYield, Spacing)))), Spacing), "ES6.CaseBlockYield"), "CaseBlockYield")(TParseTree("", false,[], s)); 12007 } 12008 } 12009 static string CaseBlockYield(GetName g) 12010 { 12011 return "ES6.CaseBlockYield"; 12012 } 12013 12014 static TParseTree CaseBlockReturn(TParseTree p) 12015 { 12016 if(__ctfe) 12017 { 12018 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)))), Spacing), "ES6.CaseBlockReturn")(p); 12019 } 12020 else 12021 { 12022 if(auto m = tuple(`CaseBlockReturn`,p.end) in memo) 12023 return *m; 12024 else 12025 { 12026 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)))), Spacing), "ES6.CaseBlockReturn"), "CaseBlockReturn")(p); 12027 memo[tuple(`CaseBlockReturn`,p.end)] = result; 12028 return result; 12029 } 12030 } 12031 } 12032 12033 static TParseTree CaseBlockReturn(string s) 12034 { 12035 if(__ctfe) 12036 { 12037 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)))), Spacing), "ES6.CaseBlockReturn")(TParseTree("", false,[], s)); 12038 } 12039 else 12040 { 12041 memo = null; 12042 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesReturn, Spacing)))), Spacing), "ES6.CaseBlockReturn"), "CaseBlockReturn")(TParseTree("", false,[], s)); 12043 } 12044 } 12045 static string CaseBlockReturn(GetName g) 12046 { 12047 return "ES6.CaseBlockReturn"; 12048 } 12049 12050 static TParseTree CaseBlockYieldReturn(TParseTree p) 12051 { 12052 if(__ctfe) 12053 { 12054 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)))), Spacing), "ES6.CaseBlockYieldReturn")(p); 12055 } 12056 else 12057 { 12058 if(auto m = tuple(`CaseBlockYieldReturn`,p.end) in memo) 12059 return *m; 12060 else 12061 { 12062 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)))), Spacing), "ES6.CaseBlockYieldReturn"), "CaseBlockYieldReturn")(p); 12063 memo[tuple(`CaseBlockYieldReturn`,p.end)] = result; 12064 return result; 12065 } 12066 } 12067 } 12068 12069 static TParseTree CaseBlockYieldReturn(string s) 12070 { 12071 if(__ctfe) 12072 { 12073 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)))), Spacing), "ES6.CaseBlockYieldReturn")(TParseTree("", false,[], s)); 12074 } 12075 else 12076 { 12077 memo = null; 12078 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, DefaultClauseYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CaseClausesYieldReturn, Spacing)))), Spacing), "ES6.CaseBlockYieldReturn"), "CaseBlockYieldReturn")(TParseTree("", false,[], s)); 12079 } 12080 } 12081 static string CaseBlockYieldReturn(GetName g) 12082 { 12083 return "ES6.CaseBlockYieldReturn"; 12084 } 12085 12086 static TParseTree CaseClauses(TParseTree p) 12087 { 12088 if(__ctfe) 12089 { 12090 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClause, Spacing)), "ES6.CaseClauses")(p); 12091 } 12092 else 12093 { 12094 if(auto m = tuple(`CaseClauses`,p.end) in memo) 12095 return *m; 12096 else 12097 { 12098 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClause, Spacing)), "ES6.CaseClauses"), "CaseClauses")(p); 12099 memo[tuple(`CaseClauses`,p.end)] = result; 12100 return result; 12101 } 12102 } 12103 } 12104 12105 static TParseTree CaseClauses(string s) 12106 { 12107 if(__ctfe) 12108 { 12109 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClause, Spacing)), "ES6.CaseClauses")(TParseTree("", false,[], s)); 12110 } 12111 else 12112 { 12113 memo = null; 12114 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClause, Spacing)), "ES6.CaseClauses"), "CaseClauses")(TParseTree("", false,[], s)); 12115 } 12116 } 12117 static string CaseClauses(GetName g) 12118 { 12119 return "ES6.CaseClauses"; 12120 } 12121 12122 static TParseTree CaseClausesYield(TParseTree p) 12123 { 12124 if(__ctfe) 12125 { 12126 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYield, Spacing)), "ES6.CaseClausesYield")(p); 12127 } 12128 else 12129 { 12130 if(auto m = tuple(`CaseClausesYield`,p.end) in memo) 12131 return *m; 12132 else 12133 { 12134 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYield, Spacing)), "ES6.CaseClausesYield"), "CaseClausesYield")(p); 12135 memo[tuple(`CaseClausesYield`,p.end)] = result; 12136 return result; 12137 } 12138 } 12139 } 12140 12141 static TParseTree CaseClausesYield(string s) 12142 { 12143 if(__ctfe) 12144 { 12145 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYield, Spacing)), "ES6.CaseClausesYield")(TParseTree("", false,[], s)); 12146 } 12147 else 12148 { 12149 memo = null; 12150 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYield, Spacing)), "ES6.CaseClausesYield"), "CaseClausesYield")(TParseTree("", false,[], s)); 12151 } 12152 } 12153 static string CaseClausesYield(GetName g) 12154 { 12155 return "ES6.CaseClausesYield"; 12156 } 12157 12158 static TParseTree CaseClausesReturn(TParseTree p) 12159 { 12160 if(__ctfe) 12161 { 12162 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseReturn, Spacing)), "ES6.CaseClausesReturn")(p); 12163 } 12164 else 12165 { 12166 if(auto m = tuple(`CaseClausesReturn`,p.end) in memo) 12167 return *m; 12168 else 12169 { 12170 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseReturn, Spacing)), "ES6.CaseClausesReturn"), "CaseClausesReturn")(p); 12171 memo[tuple(`CaseClausesReturn`,p.end)] = result; 12172 return result; 12173 } 12174 } 12175 } 12176 12177 static TParseTree CaseClausesReturn(string s) 12178 { 12179 if(__ctfe) 12180 { 12181 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseReturn, Spacing)), "ES6.CaseClausesReturn")(TParseTree("", false,[], s)); 12182 } 12183 else 12184 { 12185 memo = null; 12186 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseReturn, Spacing)), "ES6.CaseClausesReturn"), "CaseClausesReturn")(TParseTree("", false,[], s)); 12187 } 12188 } 12189 static string CaseClausesReturn(GetName g) 12190 { 12191 return "ES6.CaseClausesReturn"; 12192 } 12193 12194 static TParseTree CaseClausesYieldReturn(TParseTree p) 12195 { 12196 if(__ctfe) 12197 { 12198 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYieldReturn, Spacing)), "ES6.CaseClausesYieldReturn")(p); 12199 } 12200 else 12201 { 12202 if(auto m = tuple(`CaseClausesYieldReturn`,p.end) in memo) 12203 return *m; 12204 else 12205 { 12206 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYieldReturn, Spacing)), "ES6.CaseClausesYieldReturn"), "CaseClausesYieldReturn")(p); 12207 memo[tuple(`CaseClausesYieldReturn`,p.end)] = result; 12208 return result; 12209 } 12210 } 12211 } 12212 12213 static TParseTree CaseClausesYieldReturn(string s) 12214 { 12215 if(__ctfe) 12216 { 12217 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYieldReturn, Spacing)), "ES6.CaseClausesYieldReturn")(TParseTree("", false,[], s)); 12218 } 12219 else 12220 { 12221 memo = null; 12222 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, CaseClauseYieldReturn, Spacing)), "ES6.CaseClausesYieldReturn"), "CaseClausesYieldReturn")(TParseTree("", false,[], s)); 12223 } 12224 } 12225 static string CaseClausesYieldReturn(GetName g) 12226 { 12227 return "ES6.CaseClausesYieldReturn"; 12228 } 12229 12230 static TParseTree CaseClause(TParseTree p) 12231 { 12232 if(__ctfe) 12233 { 12234 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.CaseClause")(p); 12235 } 12236 else 12237 { 12238 if(auto m = tuple(`CaseClause`,p.end) in memo) 12239 return *m; 12240 else 12241 { 12242 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.CaseClause"), "CaseClause")(p); 12243 memo[tuple(`CaseClause`,p.end)] = result; 12244 return result; 12245 } 12246 } 12247 } 12248 12249 static TParseTree CaseClause(string s) 12250 { 12251 if(__ctfe) 12252 { 12253 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.CaseClause")(TParseTree("", false,[], s)); 12254 } 12255 else 12256 { 12257 memo = null; 12258 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.CaseClause"), "CaseClause")(TParseTree("", false,[], s)); 12259 } 12260 } 12261 static string CaseClause(GetName g) 12262 { 12263 return "ES6.CaseClause"; 12264 } 12265 12266 static TParseTree CaseClauseYield(TParseTree p) 12267 { 12268 if(__ctfe) 12269 { 12270 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.CaseClauseYield")(p); 12271 } 12272 else 12273 { 12274 if(auto m = tuple(`CaseClauseYield`,p.end) in memo) 12275 return *m; 12276 else 12277 { 12278 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.CaseClauseYield"), "CaseClauseYield")(p); 12279 memo[tuple(`CaseClauseYield`,p.end)] = result; 12280 return result; 12281 } 12282 } 12283 } 12284 12285 static TParseTree CaseClauseYield(string s) 12286 { 12287 if(__ctfe) 12288 { 12289 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.CaseClauseYield")(TParseTree("", false,[], s)); 12290 } 12291 else 12292 { 12293 memo = null; 12294 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.CaseClauseYield"), "CaseClauseYield")(TParseTree("", false,[], s)); 12295 } 12296 } 12297 static string CaseClauseYield(GetName g) 12298 { 12299 return "ES6.CaseClauseYield"; 12300 } 12301 12302 static TParseTree CaseClauseReturn(TParseTree p) 12303 { 12304 if(__ctfe) 12305 { 12306 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.CaseClauseReturn")(p); 12307 } 12308 else 12309 { 12310 if(auto m = tuple(`CaseClauseReturn`,p.end) in memo) 12311 return *m; 12312 else 12313 { 12314 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.CaseClauseReturn"), "CaseClauseReturn")(p); 12315 memo[tuple(`CaseClauseReturn`,p.end)] = result; 12316 return result; 12317 } 12318 } 12319 } 12320 12321 static TParseTree CaseClauseReturn(string s) 12322 { 12323 if(__ctfe) 12324 { 12325 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.CaseClauseReturn")(TParseTree("", false,[], s)); 12326 } 12327 else 12328 { 12329 memo = null; 12330 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionIn, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.CaseClauseReturn"), "CaseClauseReturn")(TParseTree("", false,[], s)); 12331 } 12332 } 12333 static string CaseClauseReturn(GetName g) 12334 { 12335 return "ES6.CaseClauseReturn"; 12336 } 12337 12338 static TParseTree CaseClauseYieldReturn(TParseTree p) 12339 { 12340 if(__ctfe) 12341 { 12342 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.CaseClauseYieldReturn")(p); 12343 } 12344 else 12345 { 12346 if(auto m = tuple(`CaseClauseYieldReturn`,p.end) in memo) 12347 return *m; 12348 else 12349 { 12350 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.CaseClauseYieldReturn"), "CaseClauseYieldReturn")(p); 12351 memo[tuple(`CaseClauseYieldReturn`,p.end)] = result; 12352 return result; 12353 } 12354 } 12355 } 12356 12357 static TParseTree CaseClauseYieldReturn(string s) 12358 { 12359 if(__ctfe) 12360 { 12361 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.CaseClauseYieldReturn")(TParseTree("", false,[], s)); 12362 } 12363 else 12364 { 12365 memo = null; 12366 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("case"), Spacing)), pegged.peg.wrapAround!(Spacing, ExpressionInYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.CaseClauseYieldReturn"), "CaseClauseYieldReturn")(TParseTree("", false,[], s)); 12367 } 12368 } 12369 static string CaseClauseYieldReturn(GetName g) 12370 { 12371 return "ES6.CaseClauseYieldReturn"; 12372 } 12373 12374 static TParseTree DefaultClause(TParseTree p) 12375 { 12376 if(__ctfe) 12377 { 12378 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.DefaultClause")(p); 12379 } 12380 else 12381 { 12382 if(auto m = tuple(`DefaultClause`,p.end) in memo) 12383 return *m; 12384 else 12385 { 12386 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.DefaultClause"), "DefaultClause")(p); 12387 memo[tuple(`DefaultClause`,p.end)] = result; 12388 return result; 12389 } 12390 } 12391 } 12392 12393 static TParseTree DefaultClause(string s) 12394 { 12395 if(__ctfe) 12396 { 12397 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.DefaultClause")(TParseTree("", false,[], s)); 12398 } 12399 else 12400 { 12401 memo = null; 12402 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementList, Spacing))), "ES6.DefaultClause"), "DefaultClause")(TParseTree("", false,[], s)); 12403 } 12404 } 12405 static string DefaultClause(GetName g) 12406 { 12407 return "ES6.DefaultClause"; 12408 } 12409 12410 static TParseTree DefaultClauseYield(TParseTree p) 12411 { 12412 if(__ctfe) 12413 { 12414 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.DefaultClauseYield")(p); 12415 } 12416 else 12417 { 12418 if(auto m = tuple(`DefaultClauseYield`,p.end) in memo) 12419 return *m; 12420 else 12421 { 12422 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.DefaultClauseYield"), "DefaultClauseYield")(p); 12423 memo[tuple(`DefaultClauseYield`,p.end)] = result; 12424 return result; 12425 } 12426 } 12427 } 12428 12429 static TParseTree DefaultClauseYield(string s) 12430 { 12431 if(__ctfe) 12432 { 12433 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.DefaultClauseYield")(TParseTree("", false,[], s)); 12434 } 12435 else 12436 { 12437 memo = null; 12438 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYield, Spacing))), "ES6.DefaultClauseYield"), "DefaultClauseYield")(TParseTree("", false,[], s)); 12439 } 12440 } 12441 static string DefaultClauseYield(GetName g) 12442 { 12443 return "ES6.DefaultClauseYield"; 12444 } 12445 12446 static TParseTree DefaultClauseReturn(TParseTree p) 12447 { 12448 if(__ctfe) 12449 { 12450 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.DefaultClauseReturn")(p); 12451 } 12452 else 12453 { 12454 if(auto m = tuple(`DefaultClauseReturn`,p.end) in memo) 12455 return *m; 12456 else 12457 { 12458 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.DefaultClauseReturn"), "DefaultClauseReturn")(p); 12459 memo[tuple(`DefaultClauseReturn`,p.end)] = result; 12460 return result; 12461 } 12462 } 12463 } 12464 12465 static TParseTree DefaultClauseReturn(string s) 12466 { 12467 if(__ctfe) 12468 { 12469 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.DefaultClauseReturn")(TParseTree("", false,[], s)); 12470 } 12471 else 12472 { 12473 memo = null; 12474 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing))), "ES6.DefaultClauseReturn"), "DefaultClauseReturn")(TParseTree("", false,[], s)); 12475 } 12476 } 12477 static string DefaultClauseReturn(GetName g) 12478 { 12479 return "ES6.DefaultClauseReturn"; 12480 } 12481 12482 static TParseTree DefaultClauseYieldReturn(TParseTree p) 12483 { 12484 if(__ctfe) 12485 { 12486 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.DefaultClauseYieldReturn")(p); 12487 } 12488 else 12489 { 12490 if(auto m = tuple(`DefaultClauseYieldReturn`,p.end) in memo) 12491 return *m; 12492 else 12493 { 12494 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.DefaultClauseYieldReturn"), "DefaultClauseYieldReturn")(p); 12495 memo[tuple(`DefaultClauseYieldReturn`,p.end)] = result; 12496 return result; 12497 } 12498 } 12499 } 12500 12501 static TParseTree DefaultClauseYieldReturn(string s) 12502 { 12503 if(__ctfe) 12504 { 12505 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.DefaultClauseYieldReturn")(TParseTree("", false,[], s)); 12506 } 12507 else 12508 { 12509 memo = null; 12510 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("default"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing))), "ES6.DefaultClauseYieldReturn"), "DefaultClauseYieldReturn")(TParseTree("", false,[], s)); 12511 } 12512 } 12513 static string DefaultClauseYieldReturn(GetName g) 12514 { 12515 return "ES6.DefaultClauseYieldReturn"; 12516 } 12517 12518 static TParseTree LabelledStatement(TParseTree p) 12519 { 12520 if(__ctfe) 12521 { 12522 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItem, Spacing)), "ES6.LabelledStatement")(p); 12523 } 12524 else 12525 { 12526 if(auto m = tuple(`LabelledStatement`,p.end) in memo) 12527 return *m; 12528 else 12529 { 12530 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItem, Spacing)), "ES6.LabelledStatement"), "LabelledStatement")(p); 12531 memo[tuple(`LabelledStatement`,p.end)] = result; 12532 return result; 12533 } 12534 } 12535 } 12536 12537 static TParseTree LabelledStatement(string s) 12538 { 12539 if(__ctfe) 12540 { 12541 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItem, Spacing)), "ES6.LabelledStatement")(TParseTree("", false,[], s)); 12542 } 12543 else 12544 { 12545 memo = null; 12546 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItem, Spacing)), "ES6.LabelledStatement"), "LabelledStatement")(TParseTree("", false,[], s)); 12547 } 12548 } 12549 static string LabelledStatement(GetName g) 12550 { 12551 return "ES6.LabelledStatement"; 12552 } 12553 12554 static TParseTree LabelledStatementYield(TParseTree p) 12555 { 12556 if(__ctfe) 12557 { 12558 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYield, Spacing)), "ES6.LabelledStatementYield")(p); 12559 } 12560 else 12561 { 12562 if(auto m = tuple(`LabelledStatementYield`,p.end) in memo) 12563 return *m; 12564 else 12565 { 12566 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYield, Spacing)), "ES6.LabelledStatementYield"), "LabelledStatementYield")(p); 12567 memo[tuple(`LabelledStatementYield`,p.end)] = result; 12568 return result; 12569 } 12570 } 12571 } 12572 12573 static TParseTree LabelledStatementYield(string s) 12574 { 12575 if(__ctfe) 12576 { 12577 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYield, Spacing)), "ES6.LabelledStatementYield")(TParseTree("", false,[], s)); 12578 } 12579 else 12580 { 12581 memo = null; 12582 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYield, Spacing)), "ES6.LabelledStatementYield"), "LabelledStatementYield")(TParseTree("", false,[], s)); 12583 } 12584 } 12585 static string LabelledStatementYield(GetName g) 12586 { 12587 return "ES6.LabelledStatementYield"; 12588 } 12589 12590 static TParseTree LabelledStatementReturn(TParseTree p) 12591 { 12592 if(__ctfe) 12593 { 12594 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemReturn, Spacing)), "ES6.LabelledStatementReturn")(p); 12595 } 12596 else 12597 { 12598 if(auto m = tuple(`LabelledStatementReturn`,p.end) in memo) 12599 return *m; 12600 else 12601 { 12602 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemReturn, Spacing)), "ES6.LabelledStatementReturn"), "LabelledStatementReturn")(p); 12603 memo[tuple(`LabelledStatementReturn`,p.end)] = result; 12604 return result; 12605 } 12606 } 12607 } 12608 12609 static TParseTree LabelledStatementReturn(string s) 12610 { 12611 if(__ctfe) 12612 { 12613 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemReturn, Spacing)), "ES6.LabelledStatementReturn")(TParseTree("", false,[], s)); 12614 } 12615 else 12616 { 12617 memo = null; 12618 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifier, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemReturn, Spacing)), "ES6.LabelledStatementReturn"), "LabelledStatementReturn")(TParseTree("", false,[], s)); 12619 } 12620 } 12621 static string LabelledStatementReturn(GetName g) 12622 { 12623 return "ES6.LabelledStatementReturn"; 12624 } 12625 12626 static TParseTree LabelledStatementYieldReturn(TParseTree p) 12627 { 12628 if(__ctfe) 12629 { 12630 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYieldReturn, Spacing)), "ES6.LabelledStatementYieldReturn")(p); 12631 } 12632 else 12633 { 12634 if(auto m = tuple(`LabelledStatementYieldReturn`,p.end) in memo) 12635 return *m; 12636 else 12637 { 12638 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYieldReturn, Spacing)), "ES6.LabelledStatementYieldReturn"), "LabelledStatementYieldReturn")(p); 12639 memo[tuple(`LabelledStatementYieldReturn`,p.end)] = result; 12640 return result; 12641 } 12642 } 12643 } 12644 12645 static TParseTree LabelledStatementYieldReturn(string s) 12646 { 12647 if(__ctfe) 12648 { 12649 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYieldReturn, Spacing)), "ES6.LabelledStatementYieldReturn")(TParseTree("", false,[], s)); 12650 } 12651 else 12652 { 12653 memo = null; 12654 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, LabelIdentifierYield, Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(":"), Spacing)), pegged.peg.wrapAround!(Spacing, LabelledItemYieldReturn, Spacing)), "ES6.LabelledStatementYieldReturn"), "LabelledStatementYieldReturn")(TParseTree("", false,[], s)); 12655 } 12656 } 12657 static string LabelledStatementYieldReturn(GetName g) 12658 { 12659 return "ES6.LabelledStatementYieldReturn"; 12660 } 12661 12662 static TParseTree LabelledItem(TParseTree p) 12663 { 12664 if(__ctfe) 12665 { 12666 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.LabelledItem")(p); 12667 } 12668 else 12669 { 12670 if(auto m = tuple(`LabelledItem`,p.end) in memo) 12671 return *m; 12672 else 12673 { 12674 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.LabelledItem"), "LabelledItem")(p); 12675 memo[tuple(`LabelledItem`,p.end)] = result; 12676 return result; 12677 } 12678 } 12679 } 12680 12681 static TParseTree LabelledItem(string s) 12682 { 12683 if(__ctfe) 12684 { 12685 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.LabelledItem")(TParseTree("", false,[], s)); 12686 } 12687 else 12688 { 12689 memo = null; 12690 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, Statement, Spacing)), "ES6.LabelledItem"), "LabelledItem")(TParseTree("", false,[], s)); 12691 } 12692 } 12693 static string LabelledItem(GetName g) 12694 { 12695 return "ES6.LabelledItem"; 12696 } 12697 12698 static TParseTree LabelledItemYield(TParseTree p) 12699 { 12700 if(__ctfe) 12701 { 12702 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.LabelledItemYield")(p); 12703 } 12704 else 12705 { 12706 if(auto m = tuple(`LabelledItemYield`,p.end) in memo) 12707 return *m; 12708 else 12709 { 12710 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.LabelledItemYield"), "LabelledItemYield")(p); 12711 memo[tuple(`LabelledItemYield`,p.end)] = result; 12712 return result; 12713 } 12714 } 12715 } 12716 12717 static TParseTree LabelledItemYield(string s) 12718 { 12719 if(__ctfe) 12720 { 12721 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.LabelledItemYield")(TParseTree("", false,[], s)); 12722 } 12723 else 12724 { 12725 memo = null; 12726 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYield, Spacing)), "ES6.LabelledItemYield"), "LabelledItemYield")(TParseTree("", false,[], s)); 12727 } 12728 } 12729 static string LabelledItemYield(GetName g) 12730 { 12731 return "ES6.LabelledItemYield"; 12732 } 12733 12734 static TParseTree LabelledItemReturn(TParseTree p) 12735 { 12736 if(__ctfe) 12737 { 12738 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.LabelledItemReturn")(p); 12739 } 12740 else 12741 { 12742 if(auto m = tuple(`LabelledItemReturn`,p.end) in memo) 12743 return *m; 12744 else 12745 { 12746 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.LabelledItemReturn"), "LabelledItemReturn")(p); 12747 memo[tuple(`LabelledItemReturn`,p.end)] = result; 12748 return result; 12749 } 12750 } 12751 } 12752 12753 static TParseTree LabelledItemReturn(string s) 12754 { 12755 if(__ctfe) 12756 { 12757 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.LabelledItemReturn")(TParseTree("", false,[], s)); 12758 } 12759 else 12760 { 12761 memo = null; 12762 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclaration, Spacing), pegged.peg.wrapAround!(Spacing, StatementReturn, Spacing)), "ES6.LabelledItemReturn"), "LabelledItemReturn")(TParseTree("", false,[], s)); 12763 } 12764 } 12765 static string LabelledItemReturn(GetName g) 12766 { 12767 return "ES6.LabelledItemReturn"; 12768 } 12769 12770 static TParseTree LabelledItemYieldReturn(TParseTree p) 12771 { 12772 if(__ctfe) 12773 { 12774 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.LabelledItemYieldReturn")(p); 12775 } 12776 else 12777 { 12778 if(auto m = tuple(`LabelledItemYieldReturn`,p.end) in memo) 12779 return *m; 12780 else 12781 { 12782 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.LabelledItemYieldReturn"), "LabelledItemYieldReturn")(p); 12783 memo[tuple(`LabelledItemYieldReturn`,p.end)] = result; 12784 return result; 12785 } 12786 } 12787 } 12788 12789 static TParseTree LabelledItemYieldReturn(string s) 12790 { 12791 if(__ctfe) 12792 { 12793 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.LabelledItemYieldReturn")(TParseTree("", false,[], s)); 12794 } 12795 else 12796 { 12797 memo = null; 12798 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionDeclarationYield, Spacing), pegged.peg.wrapAround!(Spacing, StatementYieldReturn, Spacing)), "ES6.LabelledItemYieldReturn"), "LabelledItemYieldReturn")(TParseTree("", false,[], s)); 12799 } 12800 } 12801 static string LabelledItemYieldReturn(GetName g) 12802 { 12803 return "ES6.LabelledItemYieldReturn"; 12804 } 12805 12806 static TParseTree ThrowStatement(TParseTree p) 12807 { 12808 if(__ctfe) 12809 { 12810 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatement")(p); 12811 } 12812 else 12813 { 12814 if(auto m = tuple(`ThrowStatement`,p.end) in memo) 12815 return *m; 12816 else 12817 { 12818 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatement"), "ThrowStatement")(p); 12819 memo[tuple(`ThrowStatement`,p.end)] = result; 12820 return result; 12821 } 12822 } 12823 } 12824 12825 static TParseTree ThrowStatement(string s) 12826 { 12827 if(__ctfe) 12828 { 12829 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatement")(TParseTree("", false,[], s)); 12830 } 12831 else 12832 { 12833 memo = null; 12834 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionIn, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatement"), "ThrowStatement")(TParseTree("", false,[], s)); 12835 } 12836 } 12837 static string ThrowStatement(GetName g) 12838 { 12839 return "ES6.ThrowStatement"; 12840 } 12841 12842 static TParseTree ThrowStatementYield(TParseTree p) 12843 { 12844 if(__ctfe) 12845 { 12846 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatementYield")(p); 12847 } 12848 else 12849 { 12850 if(auto m = tuple(`ThrowStatementYield`,p.end) in memo) 12851 return *m; 12852 else 12853 { 12854 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatementYield"), "ThrowStatementYield")(p); 12855 memo[tuple(`ThrowStatementYield`,p.end)] = result; 12856 return result; 12857 } 12858 } 12859 } 12860 12861 static TParseTree ThrowStatementYield(string s) 12862 { 12863 if(__ctfe) 12864 { 12865 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatementYield")(TParseTree("", false,[], s)); 12866 } 12867 else 12868 { 12869 memo = null; 12870 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.literal!("throw"), pegged.peg.negLookahead!(IdentifierStart), Spaces, ExpressionInYield, Spaces, pegged.peg.discard!(pegged.peg.option!(pegged.peg.literal!(";")))), "ES6.ThrowStatementYield"), "ThrowStatementYield")(TParseTree("", false,[], s)); 12871 } 12872 } 12873 static string ThrowStatementYield(GetName g) 12874 { 12875 return "ES6.ThrowStatementYield"; 12876 } 12877 12878 static TParseTree TryStatement(TParseTree p) 12879 { 12880 if(__ctfe) 12881 { 12882 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Catch, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Finally, Spacing))), "ES6.TryStatement")(p); 12883 } 12884 else 12885 { 12886 if(auto m = tuple(`TryStatement`,p.end) in memo) 12887 return *m; 12888 else 12889 { 12890 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Catch, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Finally, Spacing))), "ES6.TryStatement"), "TryStatement")(p); 12891 memo[tuple(`TryStatement`,p.end)] = result; 12892 return result; 12893 } 12894 } 12895 } 12896 12897 static TParseTree TryStatement(string s) 12898 { 12899 if(__ctfe) 12900 { 12901 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Catch, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Finally, Spacing))), "ES6.TryStatement")(TParseTree("", false,[], s)); 12902 } 12903 else 12904 { 12905 memo = null; 12906 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Catch, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, Finally, Spacing))), "ES6.TryStatement"), "TryStatement")(TParseTree("", false,[], s)); 12907 } 12908 } 12909 static string TryStatement(GetName g) 12910 { 12911 return "ES6.TryStatement"; 12912 } 12913 12914 static TParseTree TryStatementYield(TParseTree p) 12915 { 12916 if(__ctfe) 12917 { 12918 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYield, Spacing))), "ES6.TryStatementYield")(p); 12919 } 12920 else 12921 { 12922 if(auto m = tuple(`TryStatementYield`,p.end) in memo) 12923 return *m; 12924 else 12925 { 12926 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYield, Spacing))), "ES6.TryStatementYield"), "TryStatementYield")(p); 12927 memo[tuple(`TryStatementYield`,p.end)] = result; 12928 return result; 12929 } 12930 } 12931 } 12932 12933 static TParseTree TryStatementYield(string s) 12934 { 12935 if(__ctfe) 12936 { 12937 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYield, Spacing))), "ES6.TryStatementYield")(TParseTree("", false,[], s)); 12938 } 12939 else 12940 { 12941 memo = null; 12942 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYield, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYield, Spacing))), "ES6.TryStatementYield"), "TryStatementYield")(TParseTree("", false,[], s)); 12943 } 12944 } 12945 static string TryStatementYield(GetName g) 12946 { 12947 return "ES6.TryStatementYield"; 12948 } 12949 12950 static TParseTree TryStatementReturn(TParseTree p) 12951 { 12952 if(__ctfe) 12953 { 12954 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyReturn, Spacing))), "ES6.TryStatementReturn")(p); 12955 } 12956 else 12957 { 12958 if(auto m = tuple(`TryStatementReturn`,p.end) in memo) 12959 return *m; 12960 else 12961 { 12962 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyReturn, Spacing))), "ES6.TryStatementReturn"), "TryStatementReturn")(p); 12963 memo[tuple(`TryStatementReturn`,p.end)] = result; 12964 return result; 12965 } 12966 } 12967 } 12968 12969 static TParseTree TryStatementReturn(string s) 12970 { 12971 if(__ctfe) 12972 { 12973 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyReturn, Spacing))), "ES6.TryStatementReturn")(TParseTree("", false,[], s)); 12974 } 12975 else 12976 { 12977 memo = null; 12978 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyReturn, Spacing))), "ES6.TryStatementReturn"), "TryStatementReturn")(TParseTree("", false,[], s)); 12979 } 12980 } 12981 static string TryStatementReturn(GetName g) 12982 { 12983 return "ES6.TryStatementReturn"; 12984 } 12985 12986 static TParseTree TryStatementYieldReturn(TParseTree p) 12987 { 12988 if(__ctfe) 12989 { 12990 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYieldReturn, Spacing))), "ES6.TryStatementYieldReturn")(p); 12991 } 12992 else 12993 { 12994 if(auto m = tuple(`TryStatementYieldReturn`,p.end) in memo) 12995 return *m; 12996 else 12997 { 12998 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYieldReturn, Spacing))), "ES6.TryStatementYieldReturn"), "TryStatementYieldReturn")(p); 12999 memo[tuple(`TryStatementYieldReturn`,p.end)] = result; 13000 return result; 13001 } 13002 } 13003 } 13004 13005 static TParseTree TryStatementYieldReturn(string s) 13006 { 13007 if(__ctfe) 13008 { 13009 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYieldReturn, Spacing))), "ES6.TryStatementYieldReturn")(TParseTree("", false,[], s)); 13010 } 13011 else 13012 { 13013 memo = null; 13014 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("try"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, CatchYieldReturn, Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FinallyYieldReturn, Spacing))), "ES6.TryStatementYieldReturn"), "TryStatementYieldReturn")(TParseTree("", false,[], s)); 13015 } 13016 } 13017 static string TryStatementYieldReturn(GetName g) 13018 { 13019 return "ES6.TryStatementYieldReturn"; 13020 } 13021 13022 static TParseTree Catch(TParseTree p) 13023 { 13024 if(__ctfe) 13025 { 13026 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Catch")(p); 13027 } 13028 else 13029 { 13030 if(auto m = tuple(`Catch`,p.end) in memo) 13031 return *m; 13032 else 13033 { 13034 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Catch"), "Catch")(p); 13035 memo[tuple(`Catch`,p.end)] = result; 13036 return result; 13037 } 13038 } 13039 } 13040 13041 static TParseTree Catch(string s) 13042 { 13043 if(__ctfe) 13044 { 13045 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Catch")(TParseTree("", false,[], s)); 13046 } 13047 else 13048 { 13049 memo = null; 13050 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Catch"), "Catch")(TParseTree("", false,[], s)); 13051 } 13052 } 13053 static string Catch(GetName g) 13054 { 13055 return "ES6.Catch"; 13056 } 13057 13058 static TParseTree CatchYield(TParseTree p) 13059 { 13060 if(__ctfe) 13061 { 13062 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.CatchYield")(p); 13063 } 13064 else 13065 { 13066 if(auto m = tuple(`CatchYield`,p.end) in memo) 13067 return *m; 13068 else 13069 { 13070 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.CatchYield"), "CatchYield")(p); 13071 memo[tuple(`CatchYield`,p.end)] = result; 13072 return result; 13073 } 13074 } 13075 } 13076 13077 static TParseTree CatchYield(string s) 13078 { 13079 if(__ctfe) 13080 { 13081 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.CatchYield")(TParseTree("", false,[], s)); 13082 } 13083 else 13084 { 13085 memo = null; 13086 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.CatchYield"), "CatchYield")(TParseTree("", false,[], s)); 13087 } 13088 } 13089 static string CatchYield(GetName g) 13090 { 13091 return "ES6.CatchYield"; 13092 } 13093 13094 static TParseTree CatchReturn(TParseTree p) 13095 { 13096 if(__ctfe) 13097 { 13098 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.CatchReturn")(p); 13099 } 13100 else 13101 { 13102 if(auto m = tuple(`CatchReturn`,p.end) in memo) 13103 return *m; 13104 else 13105 { 13106 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.CatchReturn"), "CatchReturn")(p); 13107 memo[tuple(`CatchReturn`,p.end)] = result; 13108 return result; 13109 } 13110 } 13111 } 13112 13113 static TParseTree CatchReturn(string s) 13114 { 13115 if(__ctfe) 13116 { 13117 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.CatchReturn")(TParseTree("", false,[], s)); 13118 } 13119 else 13120 { 13121 memo = null; 13122 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameter, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.CatchReturn"), "CatchReturn")(TParseTree("", false,[], s)); 13123 } 13124 } 13125 static string CatchReturn(GetName g) 13126 { 13127 return "ES6.CatchReturn"; 13128 } 13129 13130 static TParseTree CatchYieldReturn(TParseTree p) 13131 { 13132 if(__ctfe) 13133 { 13134 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.CatchYieldReturn")(p); 13135 } 13136 else 13137 { 13138 if(auto m = tuple(`CatchYieldReturn`,p.end) in memo) 13139 return *m; 13140 else 13141 { 13142 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.CatchYieldReturn"), "CatchYieldReturn")(p); 13143 memo[tuple(`CatchYieldReturn`,p.end)] = result; 13144 return result; 13145 } 13146 } 13147 } 13148 13149 static TParseTree CatchYieldReturn(string s) 13150 { 13151 if(__ctfe) 13152 { 13153 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.CatchYieldReturn")(TParseTree("", false,[], s)); 13154 } 13155 else 13156 { 13157 memo = null; 13158 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("catch"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, CatchParameterYield, Spacing)), Spacing), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.CatchYieldReturn"), "CatchYieldReturn")(TParseTree("", false,[], s)); 13159 } 13160 } 13161 static string CatchYieldReturn(GetName g) 13162 { 13163 return "ES6.CatchYieldReturn"; 13164 } 13165 13166 static TParseTree Finally(TParseTree p) 13167 { 13168 if(__ctfe) 13169 { 13170 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Finally")(p); 13171 } 13172 else 13173 { 13174 if(auto m = tuple(`Finally`,p.end) in memo) 13175 return *m; 13176 else 13177 { 13178 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Finally"), "Finally")(p); 13179 memo[tuple(`Finally`,p.end)] = result; 13180 return result; 13181 } 13182 } 13183 } 13184 13185 static TParseTree Finally(string s) 13186 { 13187 if(__ctfe) 13188 { 13189 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Finally")(TParseTree("", false,[], s)); 13190 } 13191 else 13192 { 13193 memo = null; 13194 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, Block, Spacing))), "ES6.Finally"), "Finally")(TParseTree("", false,[], s)); 13195 } 13196 } 13197 static string Finally(GetName g) 13198 { 13199 return "ES6.Finally"; 13200 } 13201 13202 static TParseTree FinallyYield(TParseTree p) 13203 { 13204 if(__ctfe) 13205 { 13206 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.FinallyYield")(p); 13207 } 13208 else 13209 { 13210 if(auto m = tuple(`FinallyYield`,p.end) in memo) 13211 return *m; 13212 else 13213 { 13214 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.FinallyYield"), "FinallyYield")(p); 13215 memo[tuple(`FinallyYield`,p.end)] = result; 13216 return result; 13217 } 13218 } 13219 } 13220 13221 static TParseTree FinallyYield(string s) 13222 { 13223 if(__ctfe) 13224 { 13225 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.FinallyYield")(TParseTree("", false,[], s)); 13226 } 13227 else 13228 { 13229 memo = null; 13230 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYield, Spacing))), "ES6.FinallyYield"), "FinallyYield")(TParseTree("", false,[], s)); 13231 } 13232 } 13233 static string FinallyYield(GetName g) 13234 { 13235 return "ES6.FinallyYield"; 13236 } 13237 13238 static TParseTree FinallyReturn(TParseTree p) 13239 { 13240 if(__ctfe) 13241 { 13242 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.FinallyReturn")(p); 13243 } 13244 else 13245 { 13246 if(auto m = tuple(`FinallyReturn`,p.end) in memo) 13247 return *m; 13248 else 13249 { 13250 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.FinallyReturn"), "FinallyReturn")(p); 13251 memo[tuple(`FinallyReturn`,p.end)] = result; 13252 return result; 13253 } 13254 } 13255 } 13256 13257 static TParseTree FinallyReturn(string s) 13258 { 13259 if(__ctfe) 13260 { 13261 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.FinallyReturn")(TParseTree("", false,[], s)); 13262 } 13263 else 13264 { 13265 memo = null; 13266 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockReturn, Spacing))), "ES6.FinallyReturn"), "FinallyReturn")(TParseTree("", false,[], s)); 13267 } 13268 } 13269 static string FinallyReturn(GetName g) 13270 { 13271 return "ES6.FinallyReturn"; 13272 } 13273 13274 static TParseTree FinallyYieldReturn(TParseTree p) 13275 { 13276 if(__ctfe) 13277 { 13278 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.FinallyYieldReturn")(p); 13279 } 13280 else 13281 { 13282 if(auto m = tuple(`FinallyYieldReturn`,p.end) in memo) 13283 return *m; 13284 else 13285 { 13286 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.FinallyYieldReturn"), "FinallyYieldReturn")(p); 13287 memo[tuple(`FinallyYieldReturn`,p.end)] = result; 13288 return result; 13289 } 13290 } 13291 } 13292 13293 static TParseTree FinallyYieldReturn(string s) 13294 { 13295 if(__ctfe) 13296 { 13297 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.FinallyYieldReturn")(TParseTree("", false,[], s)); 13298 } 13299 else 13300 { 13301 memo = null; 13302 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("finally"), Spacing)), pegged.peg.propagate!(pegged.peg.wrapAround!(Spacing, BlockYieldReturn, Spacing))), "ES6.FinallyYieldReturn"), "FinallyYieldReturn")(TParseTree("", false,[], s)); 13303 } 13304 } 13305 static string FinallyYieldReturn(GetName g) 13306 { 13307 return "ES6.FinallyYieldReturn"; 13308 } 13309 13310 static TParseTree CatchParameter(TParseTree p) 13311 { 13312 if(__ctfe) 13313 { 13314 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.CatchParameter")(p); 13315 } 13316 else 13317 { 13318 if(auto m = tuple(`CatchParameter`,p.end) in memo) 13319 return *m; 13320 else 13321 { 13322 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.CatchParameter"), "CatchParameter")(p); 13323 memo[tuple(`CatchParameter`,p.end)] = result; 13324 return result; 13325 } 13326 } 13327 } 13328 13329 static TParseTree CatchParameter(string s) 13330 { 13331 if(__ctfe) 13332 { 13333 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.CatchParameter")(TParseTree("", false,[], s)); 13334 } 13335 else 13336 { 13337 memo = null; 13338 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPattern, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), "ES6.CatchParameter"), "CatchParameter")(TParseTree("", false,[], s)); 13339 } 13340 } 13341 static string CatchParameter(GetName g) 13342 { 13343 return "ES6.CatchParameter"; 13344 } 13345 13346 static TParseTree CatchParameterYield(TParseTree p) 13347 { 13348 if(__ctfe) 13349 { 13350 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.CatchParameterYield")(p); 13351 } 13352 else 13353 { 13354 if(auto m = tuple(`CatchParameterYield`,p.end) in memo) 13355 return *m; 13356 else 13357 { 13358 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.CatchParameterYield"), "CatchParameterYield")(p); 13359 memo[tuple(`CatchParameterYield`,p.end)] = result; 13360 return result; 13361 } 13362 } 13363 } 13364 13365 static TParseTree CatchParameterYield(string s) 13366 { 13367 if(__ctfe) 13368 { 13369 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.CatchParameterYield")(TParseTree("", false,[], s)); 13370 } 13371 else 13372 { 13373 memo = null; 13374 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingPatternYield, Spacing), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), "ES6.CatchParameterYield"), "CatchParameterYield")(TParseTree("", false,[], s)); 13375 } 13376 } 13377 static string CatchParameterYield(GetName g) 13378 { 13379 return "ES6.CatchParameterYield"; 13380 } 13381 13382 static TParseTree DebuggerStatement(TParseTree p) 13383 { 13384 if(__ctfe) 13385 { 13386 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("debugger"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.DebuggerStatement")(p); 13387 } 13388 else 13389 { 13390 if(auto m = tuple(`DebuggerStatement`,p.end) in memo) 13391 return *m; 13392 else 13393 { 13394 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("debugger"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.DebuggerStatement"), "DebuggerStatement")(p); 13395 memo[tuple(`DebuggerStatement`,p.end)] = result; 13396 return result; 13397 } 13398 } 13399 } 13400 13401 static TParseTree DebuggerStatement(string s) 13402 { 13403 if(__ctfe) 13404 { 13405 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("debugger"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.DebuggerStatement")(TParseTree("", false,[], s)); 13406 } 13407 else 13408 { 13409 memo = null; 13410 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("debugger"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing))), "ES6.DebuggerStatement"), "DebuggerStatement")(TParseTree("", false,[], s)); 13411 } 13412 } 13413 static string DebuggerStatement(GetName g) 13414 { 13415 return "ES6.DebuggerStatement"; 13416 } 13417 13418 template CurlyBrackets(alias Content) 13419 { 13420 static TParseTree CurlyBrackets(TParseTree p) 13421 { 13422 if(__ctfe) 13423 { 13424 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("}"), Spacing)), "ES6.CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")")(p); 13425 } 13426 else 13427 { 13428 if(auto m = tuple("CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")",p.end) in memo) 13429 return *m; 13430 else 13431 { 13432 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("}"), Spacing)), "ES6.CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"), "CurlyBrackets_1")(p); 13433 memo[tuple("CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")",p.end)] = result; 13434 return result; 13435 } 13436 } 13437 } 13438 13439 static TParseTree CurlyBrackets(string s) 13440 { 13441 if(__ctfe) 13442 { 13443 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("}"), Spacing)), "ES6.CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")")(TParseTree("", false,[], s)); 13444 } 13445 else 13446 { 13447 memo = null; 13448 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("}"), Spacing)), "ES6.CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"), "CurlyBrackets_1")(TParseTree("", false,[], s)); 13449 } 13450 } 13451 static string CurlyBrackets(GetName g) 13452 { 13453 return "ES6.CurlyBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"; 13454 } 13455 13456 } 13457 template Parentheses(alias Content) 13458 { 13459 static TParseTree Parentheses(TParseTree p) 13460 { 13461 if(__ctfe) 13462 { 13463 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing)), "ES6.Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")")(p); 13464 } 13465 else 13466 { 13467 if(auto m = tuple("Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")",p.end) in memo) 13468 return *m; 13469 else 13470 { 13471 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing)), "ES6.Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")"), "Parentheses_1")(p); 13472 memo[tuple("Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")",p.end)] = result; 13473 return result; 13474 } 13475 } 13476 } 13477 13478 static TParseTree Parentheses(string s) 13479 { 13480 if(__ctfe) 13481 { 13482 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing)), "ES6.Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")")(TParseTree("", false,[], s)); 13483 } 13484 else 13485 { 13486 memo = null; 13487 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing)), "ES6.Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")"), "Parentheses_1")(TParseTree("", false,[], s)); 13488 } 13489 } 13490 static string Parentheses(GetName g) 13491 { 13492 return "ES6.Parentheses!(" ~ pegged.peg.getName!(Content) ~ ")"; 13493 } 13494 13495 } 13496 template SquareBrackets(alias Content) 13497 { 13498 static TParseTree SquareBrackets(TParseTree p) 13499 { 13500 if(__ctfe) 13501 { 13502 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("]"), Spacing)), "ES6.SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")")(p); 13503 } 13504 else 13505 { 13506 if(auto m = tuple("SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")",p.end) in memo) 13507 return *m; 13508 else 13509 { 13510 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("]"), Spacing)), "ES6.SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"), "SquareBrackets_1")(p); 13511 memo[tuple("SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")",p.end)] = result; 13512 return result; 13513 } 13514 } 13515 } 13516 13517 static TParseTree SquareBrackets(string s) 13518 { 13519 if(__ctfe) 13520 { 13521 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("]"), Spacing)), "ES6.SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")")(TParseTree("", false,[], s)); 13522 } 13523 else 13524 { 13525 memo = null; 13526 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("["), Spacing), pegged.peg.wrapAround!(Spacing, Content, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("]"), Spacing)), "ES6.SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"), "SquareBrackets_1")(TParseTree("", false,[], s)); 13527 } 13528 } 13529 static string SquareBrackets(GetName g) 13530 { 13531 return "ES6.SquareBrackets!(" ~ pegged.peg.getName!(Content) ~ ")"; 13532 } 13533 13534 } 13535 static TParseTree FunctionDeclaration(TParseTree p) 13536 { 13537 if(__ctfe) 13538 { 13539 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclaration")(p); 13540 } 13541 else 13542 { 13543 if(auto m = tuple(`FunctionDeclaration`,p.end) in memo) 13544 return *m; 13545 else 13546 { 13547 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclaration"), "FunctionDeclaration")(p); 13548 memo[tuple(`FunctionDeclaration`,p.end)] = result; 13549 return result; 13550 } 13551 } 13552 } 13553 13554 static TParseTree FunctionDeclaration(string s) 13555 { 13556 if(__ctfe) 13557 { 13558 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclaration")(TParseTree("", false,[], s)); 13559 } 13560 else 13561 { 13562 memo = null; 13563 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclaration"), "FunctionDeclaration")(TParseTree("", false,[], s)); 13564 } 13565 } 13566 static string FunctionDeclaration(GetName g) 13567 { 13568 return "ES6.FunctionDeclaration"; 13569 } 13570 13571 static TParseTree FunctionDeclarationYield(TParseTree p) 13572 { 13573 if(__ctfe) 13574 { 13575 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclarationYield")(p); 13576 } 13577 else 13578 { 13579 if(auto m = tuple(`FunctionDeclarationYield`,p.end) in memo) 13580 return *m; 13581 else 13582 { 13583 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclarationYield"), "FunctionDeclarationYield")(p); 13584 memo[tuple(`FunctionDeclarationYield`,p.end)] = result; 13585 return result; 13586 } 13587 } 13588 } 13589 13590 static TParseTree FunctionDeclarationYield(string s) 13591 { 13592 if(__ctfe) 13593 { 13594 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclarationYield")(TParseTree("", false,[], s)); 13595 } 13596 else 13597 { 13598 memo = null; 13599 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), "ES6.FunctionDeclarationYield"), "FunctionDeclarationYield")(TParseTree("", false,[], s)); 13600 } 13601 } 13602 static string FunctionDeclarationYield(GetName g) 13603 { 13604 return "ES6.FunctionDeclarationYield"; 13605 } 13606 13607 static TParseTree FunctionDeclarationDefault(TParseTree p) 13608 { 13609 if(__ctfe) 13610 { 13611 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationDefault")(p); 13612 } 13613 else 13614 { 13615 if(auto m = tuple(`FunctionDeclarationDefault`,p.end) in memo) 13616 return *m; 13617 else 13618 { 13619 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationDefault"), "FunctionDeclarationDefault")(p); 13620 memo[tuple(`FunctionDeclarationDefault`,p.end)] = result; 13621 return result; 13622 } 13623 } 13624 } 13625 13626 static TParseTree FunctionDeclarationDefault(string s) 13627 { 13628 if(__ctfe) 13629 { 13630 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationDefault")(TParseTree("", false,[], s)); 13631 } 13632 else 13633 { 13634 memo = null; 13635 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationDefault"), "FunctionDeclarationDefault")(TParseTree("", false,[], s)); 13636 } 13637 } 13638 static string FunctionDeclarationDefault(GetName g) 13639 { 13640 return "ES6.FunctionDeclarationDefault"; 13641 } 13642 13643 static TParseTree FunctionDeclarationYieldDefault(TParseTree p) 13644 { 13645 if(__ctfe) 13646 { 13647 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationYieldDefault")(p); 13648 } 13649 else 13650 { 13651 if(auto m = tuple(`FunctionDeclarationYieldDefault`,p.end) in memo) 13652 return *m; 13653 else 13654 { 13655 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationYieldDefault"), "FunctionDeclarationYieldDefault")(p); 13656 memo[tuple(`FunctionDeclarationYieldDefault`,p.end)] = result; 13657 return result; 13658 } 13659 } 13660 } 13661 13662 static TParseTree FunctionDeclarationYieldDefault(string s) 13663 { 13664 if(__ctfe) 13665 { 13666 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationYieldDefault")(TParseTree("", false,[], s)); 13667 } 13668 else 13669 { 13670 memo = null; 13671 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.FunctionDeclarationYieldDefault"), "FunctionDeclarationYieldDefault")(TParseTree("", false,[], s)); 13672 } 13673 } 13674 static string FunctionDeclarationYieldDefault(GetName g) 13675 { 13676 return "ES6.FunctionDeclarationYieldDefault"; 13677 } 13678 13679 static TParseTree FunctionExpression(TParseTree p) 13680 { 13681 if(__ctfe) 13682 { 13683 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.FunctionExpression")(p); 13684 } 13685 else 13686 { 13687 if(auto m = tuple(`FunctionExpression`,p.end) in memo) 13688 return *m; 13689 else 13690 { 13691 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.FunctionExpression"), "FunctionExpression")(p); 13692 memo[tuple(`FunctionExpression`,p.end)] = result; 13693 return result; 13694 } 13695 } 13696 } 13697 13698 static TParseTree FunctionExpression(string s) 13699 { 13700 if(__ctfe) 13701 { 13702 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.FunctionExpression")(TParseTree("", false,[], s)); 13703 } 13704 else 13705 { 13706 memo = null; 13707 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.FunctionExpression"), "FunctionExpression")(TParseTree("", false,[], s)); 13708 } 13709 } 13710 static string FunctionExpression(GetName g) 13711 { 13712 return "ES6.FunctionExpression"; 13713 } 13714 13715 static TParseTree StrictFormalParameters(TParseTree p) 13716 { 13717 if(__ctfe) 13718 { 13719 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing), "ES6.StrictFormalParameters")(p); 13720 } 13721 else 13722 { 13723 if(auto m = tuple(`StrictFormalParameters`,p.end) in memo) 13724 return *m; 13725 else 13726 { 13727 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing), "ES6.StrictFormalParameters"), "StrictFormalParameters")(p); 13728 memo[tuple(`StrictFormalParameters`,p.end)] = result; 13729 return result; 13730 } 13731 } 13732 } 13733 13734 static TParseTree StrictFormalParameters(string s) 13735 { 13736 if(__ctfe) 13737 { 13738 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing), "ES6.StrictFormalParameters")(TParseTree("", false,[], s)); 13739 } 13740 else 13741 { 13742 memo = null; 13743 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing), "ES6.StrictFormalParameters"), "StrictFormalParameters")(TParseTree("", false,[], s)); 13744 } 13745 } 13746 static string StrictFormalParameters(GetName g) 13747 { 13748 return "ES6.StrictFormalParameters"; 13749 } 13750 13751 static TParseTree StrictFormalParametersYield(TParseTree p) 13752 { 13753 if(__ctfe) 13754 { 13755 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing), "ES6.StrictFormalParametersYield")(p); 13756 } 13757 else 13758 { 13759 if(auto m = tuple(`StrictFormalParametersYield`,p.end) in memo) 13760 return *m; 13761 else 13762 { 13763 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing), "ES6.StrictFormalParametersYield"), "StrictFormalParametersYield")(p); 13764 memo[tuple(`StrictFormalParametersYield`,p.end)] = result; 13765 return result; 13766 } 13767 } 13768 } 13769 13770 static TParseTree StrictFormalParametersYield(string s) 13771 { 13772 if(__ctfe) 13773 { 13774 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing), "ES6.StrictFormalParametersYield")(TParseTree("", false,[], s)); 13775 } 13776 else 13777 { 13778 memo = null; 13779 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing), "ES6.StrictFormalParametersYield"), "StrictFormalParametersYield")(TParseTree("", false,[], s)); 13780 } 13781 } 13782 static string StrictFormalParametersYield(GetName g) 13783 { 13784 return "ES6.StrictFormalParametersYield"; 13785 } 13786 13787 static TParseTree FormalParameters(TParseTree p) 13788 { 13789 if(__ctfe) 13790 { 13791 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterList, Spacing)), "ES6.FormalParameters")(p); 13792 } 13793 else 13794 { 13795 if(auto m = tuple(`FormalParameters`,p.end) in memo) 13796 return *m; 13797 else 13798 { 13799 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterList, Spacing)), "ES6.FormalParameters"), "FormalParameters")(p); 13800 memo[tuple(`FormalParameters`,p.end)] = result; 13801 return result; 13802 } 13803 } 13804 } 13805 13806 static TParseTree FormalParameters(string s) 13807 { 13808 if(__ctfe) 13809 { 13810 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterList, Spacing)), "ES6.FormalParameters")(TParseTree("", false,[], s)); 13811 } 13812 else 13813 { 13814 memo = null; 13815 return hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterList, Spacing)), "ES6.FormalParameters"), "FormalParameters")(TParseTree("", false,[], s)); 13816 } 13817 } 13818 static string FormalParameters(GetName g) 13819 { 13820 return "ES6.FormalParameters"; 13821 } 13822 13823 static TParseTree FormalParametersYield(TParseTree p) 13824 { 13825 if(__ctfe) 13826 { 13827 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterListYield, Spacing)), "ES6.FormalParametersYield")(p); 13828 } 13829 else 13830 { 13831 if(auto m = tuple(`FormalParametersYield`,p.end) in memo) 13832 return *m; 13833 else 13834 { 13835 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterListYield, Spacing)), "ES6.FormalParametersYield"), "FormalParametersYield")(p); 13836 memo[tuple(`FormalParametersYield`,p.end)] = result; 13837 return result; 13838 } 13839 } 13840 } 13841 13842 static TParseTree FormalParametersYield(string s) 13843 { 13844 if(__ctfe) 13845 { 13846 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterListYield, Spacing)), "ES6.FormalParametersYield")(TParseTree("", false,[], s)); 13847 } 13848 else 13849 { 13850 memo = null; 13851 return hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, FormalParameterListYield, Spacing)), "ES6.FormalParametersYield"), "FormalParametersYield")(TParseTree("", false,[], s)); 13852 } 13853 } 13854 static string FormalParametersYield(GetName g) 13855 { 13856 return "ES6.FormalParametersYield"; 13857 } 13858 13859 static TParseTree FormalParameterList(TParseTree p) 13860 { 13861 if(__ctfe) 13862 { 13863 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterList")(p); 13864 } 13865 else 13866 { 13867 if(auto m = tuple(`FormalParameterList`,p.end) in memo) 13868 return *m; 13869 else 13870 { 13871 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterList"), "FormalParameterList")(p); 13872 memo[tuple(`FormalParameterList`,p.end)] = result; 13873 return result; 13874 } 13875 } 13876 } 13877 13878 static TParseTree FormalParameterList(string s) 13879 { 13880 if(__ctfe) 13881 { 13882 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterList")(TParseTree("", false,[], s)); 13883 } 13884 else 13885 { 13886 memo = null; 13887 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsList, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameter, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterList"), "FormalParameterList")(TParseTree("", false,[], s)); 13888 } 13889 } 13890 static string FormalParameterList(GetName g) 13891 { 13892 return "ES6.FormalParameterList"; 13893 } 13894 13895 static TParseTree FormalParameterListYield(TParseTree p) 13896 { 13897 if(__ctfe) 13898 { 13899 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterListYield")(p); 13900 } 13901 else 13902 { 13903 if(auto m = tuple(`FormalParameterListYield`,p.end) in memo) 13904 return *m; 13905 else 13906 { 13907 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterListYield"), "FormalParameterListYield")(p); 13908 memo[tuple(`FormalParameterListYield`,p.end)] = result; 13909 return result; 13910 } 13911 } 13912 } 13913 13914 static TParseTree FormalParameterListYield(string s) 13915 { 13916 if(__ctfe) 13917 { 13918 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterListYield")(TParseTree("", false,[], s)); 13919 } 13920 else 13921 { 13922 memo = null; 13923 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalsListYield, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FunctionRestParameterYield, Spacing)), Spacing))), Spacing)), "ES6.FormalParameterListYield"), "FormalParameterListYield")(TParseTree("", false,[], s)); 13924 } 13925 } 13926 static string FormalParameterListYield(GetName g) 13927 { 13928 return "ES6.FormalParameterListYield"; 13929 } 13930 13931 static TParseTree FormalsList(TParseTree p) 13932 { 13933 if(__ctfe) 13934 { 13935 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing)), Spacing))), "ES6.FormalsList")(p); 13936 } 13937 else 13938 { 13939 if(auto m = tuple(`FormalsList`,p.end) in memo) 13940 return *m; 13941 else 13942 { 13943 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing)), Spacing))), "ES6.FormalsList"), "FormalsList")(p); 13944 memo[tuple(`FormalsList`,p.end)] = result; 13945 return result; 13946 } 13947 } 13948 } 13949 13950 static TParseTree FormalsList(string s) 13951 { 13952 if(__ctfe) 13953 { 13954 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing)), Spacing))), "ES6.FormalsList")(TParseTree("", false,[], s)); 13955 } 13956 else 13957 { 13958 memo = null; 13959 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing)), Spacing))), "ES6.FormalsList"), "FormalsList")(TParseTree("", false,[], s)); 13960 } 13961 } 13962 static string FormalsList(GetName g) 13963 { 13964 return "ES6.FormalsList"; 13965 } 13966 13967 static TParseTree FormalsListYield(TParseTree p) 13968 { 13969 if(__ctfe) 13970 { 13971 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing)), Spacing))), "ES6.FormalsListYield")(p); 13972 } 13973 else 13974 { 13975 if(auto m = tuple(`FormalsListYield`,p.end) in memo) 13976 return *m; 13977 else 13978 { 13979 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing)), Spacing))), "ES6.FormalsListYield"), "FormalsListYield")(p); 13980 memo[tuple(`FormalsListYield`,p.end)] = result; 13981 return result; 13982 } 13983 } 13984 } 13985 13986 static TParseTree FormalsListYield(string s) 13987 { 13988 if(__ctfe) 13989 { 13990 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing)), Spacing))), "ES6.FormalsListYield")(TParseTree("", false,[], s)); 13991 } 13992 else 13993 { 13994 memo = null; 13995 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing), pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(","), Spacing)), pegged.peg.wrapAround!(Spacing, FormalParameterYield, Spacing)), Spacing))), "ES6.FormalsListYield"), "FormalsListYield")(TParseTree("", false,[], s)); 13996 } 13997 } 13998 static string FormalsListYield(GetName g) 13999 { 14000 return "ES6.FormalsListYield"; 14001 } 14002 14003 static TParseTree FunctionRestParameter(TParseTree p) 14004 { 14005 if(__ctfe) 14006 { 14007 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing), "ES6.FunctionRestParameter")(p); 14008 } 14009 else 14010 { 14011 if(auto m = tuple(`FunctionRestParameter`,p.end) in memo) 14012 return *m; 14013 else 14014 { 14015 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing), "ES6.FunctionRestParameter"), "FunctionRestParameter")(p); 14016 memo[tuple(`FunctionRestParameter`,p.end)] = result; 14017 return result; 14018 } 14019 } 14020 } 14021 14022 static TParseTree FunctionRestParameter(string s) 14023 { 14024 if(__ctfe) 14025 { 14026 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing), "ES6.FunctionRestParameter")(TParseTree("", false,[], s)); 14027 } 14028 else 14029 { 14030 memo = null; 14031 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElement, Spacing), "ES6.FunctionRestParameter"), "FunctionRestParameter")(TParseTree("", false,[], s)); 14032 } 14033 } 14034 static string FunctionRestParameter(GetName g) 14035 { 14036 return "ES6.FunctionRestParameter"; 14037 } 14038 14039 static TParseTree FunctionRestParameterYield(TParseTree p) 14040 { 14041 if(__ctfe) 14042 { 14043 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing), "ES6.FunctionRestParameterYield")(p); 14044 } 14045 else 14046 { 14047 if(auto m = tuple(`FunctionRestParameterYield`,p.end) in memo) 14048 return *m; 14049 else 14050 { 14051 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing), "ES6.FunctionRestParameterYield"), "FunctionRestParameterYield")(p); 14052 memo[tuple(`FunctionRestParameterYield`,p.end)] = result; 14053 return result; 14054 } 14055 } 14056 } 14057 14058 static TParseTree FunctionRestParameterYield(string s) 14059 { 14060 if(__ctfe) 14061 { 14062 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing), "ES6.FunctionRestParameterYield")(TParseTree("", false,[], s)); 14063 } 14064 else 14065 { 14066 memo = null; 14067 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingRestElementYield, Spacing), "ES6.FunctionRestParameterYield"), "FunctionRestParameterYield")(TParseTree("", false,[], s)); 14068 } 14069 } 14070 static string FunctionRestParameterYield(GetName g) 14071 { 14072 return "ES6.FunctionRestParameterYield"; 14073 } 14074 14075 static TParseTree FormalParameter(TParseTree p) 14076 { 14077 if(__ctfe) 14078 { 14079 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElement, Spacing), "ES6.FormalParameter")(p); 14080 } 14081 else 14082 { 14083 if(auto m = tuple(`FormalParameter`,p.end) in memo) 14084 return *m; 14085 else 14086 { 14087 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElement, Spacing), "ES6.FormalParameter"), "FormalParameter")(p); 14088 memo[tuple(`FormalParameter`,p.end)] = result; 14089 return result; 14090 } 14091 } 14092 } 14093 14094 static TParseTree FormalParameter(string s) 14095 { 14096 if(__ctfe) 14097 { 14098 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElement, Spacing), "ES6.FormalParameter")(TParseTree("", false,[], s)); 14099 } 14100 else 14101 { 14102 memo = null; 14103 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElement, Spacing), "ES6.FormalParameter"), "FormalParameter")(TParseTree("", false,[], s)); 14104 } 14105 } 14106 static string FormalParameter(GetName g) 14107 { 14108 return "ES6.FormalParameter"; 14109 } 14110 14111 static TParseTree FormalParameterYield(TParseTree p) 14112 { 14113 if(__ctfe) 14114 { 14115 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing), "ES6.FormalParameterYield")(p); 14116 } 14117 else 14118 { 14119 if(auto m = tuple(`FormalParameterYield`,p.end) in memo) 14120 return *m; 14121 else 14122 { 14123 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing), "ES6.FormalParameterYield"), "FormalParameterYield")(p); 14124 memo[tuple(`FormalParameterYield`,p.end)] = result; 14125 return result; 14126 } 14127 } 14128 } 14129 14130 static TParseTree FormalParameterYield(string s) 14131 { 14132 if(__ctfe) 14133 { 14134 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing), "ES6.FormalParameterYield")(TParseTree("", false,[], s)); 14135 } 14136 else 14137 { 14138 memo = null; 14139 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, BindingElementYield, Spacing), "ES6.FormalParameterYield"), "FormalParameterYield")(TParseTree("", false,[], s)); 14140 } 14141 } 14142 static string FormalParameterYield(GetName g) 14143 { 14144 return "ES6.FormalParameterYield"; 14145 } 14146 14147 static TParseTree FunctionBody(TParseTree p) 14148 { 14149 if(__ctfe) 14150 { 14151 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementList, Spacing), "ES6.FunctionBody")(p); 14152 } 14153 else 14154 { 14155 if(auto m = tuple(`FunctionBody`,p.end) in memo) 14156 return *m; 14157 else 14158 { 14159 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementList, Spacing), "ES6.FunctionBody"), "FunctionBody")(p); 14160 memo[tuple(`FunctionBody`,p.end)] = result; 14161 return result; 14162 } 14163 } 14164 } 14165 14166 static TParseTree FunctionBody(string s) 14167 { 14168 if(__ctfe) 14169 { 14170 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementList, Spacing), "ES6.FunctionBody")(TParseTree("", false,[], s)); 14171 } 14172 else 14173 { 14174 memo = null; 14175 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementList, Spacing), "ES6.FunctionBody"), "FunctionBody")(TParseTree("", false,[], s)); 14176 } 14177 } 14178 static string FunctionBody(GetName g) 14179 { 14180 return "ES6.FunctionBody"; 14181 } 14182 14183 static TParseTree FunctionBodyYield(TParseTree p) 14184 { 14185 if(__ctfe) 14186 { 14187 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementListYield, Spacing), "ES6.FunctionBodyYield")(p); 14188 } 14189 else 14190 { 14191 if(auto m = tuple(`FunctionBodyYield`,p.end) in memo) 14192 return *m; 14193 else 14194 { 14195 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementListYield, Spacing), "ES6.FunctionBodyYield"), "FunctionBodyYield")(p); 14196 memo[tuple(`FunctionBodyYield`,p.end)] = result; 14197 return result; 14198 } 14199 } 14200 } 14201 14202 static TParseTree FunctionBodyYield(string s) 14203 { 14204 if(__ctfe) 14205 { 14206 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementListYield, Spacing), "ES6.FunctionBodyYield")(TParseTree("", false,[], s)); 14207 } 14208 else 14209 { 14210 memo = null; 14211 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionStatementListYield, Spacing), "ES6.FunctionBodyYield"), "FunctionBodyYield")(TParseTree("", false,[], s)); 14212 } 14213 } 14214 static string FunctionBodyYield(GetName g) 14215 { 14216 return "ES6.FunctionBodyYield"; 14217 } 14218 14219 static TParseTree FunctionStatementList(TParseTree p) 14220 { 14221 if(__ctfe) 14222 { 14223 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), "ES6.FunctionStatementList")(p); 14224 } 14225 else 14226 { 14227 if(auto m = tuple(`FunctionStatementList`,p.end) in memo) 14228 return *m; 14229 else 14230 { 14231 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), "ES6.FunctionStatementList"), "FunctionStatementList")(p); 14232 memo[tuple(`FunctionStatementList`,p.end)] = result; 14233 return result; 14234 } 14235 } 14236 } 14237 14238 static TParseTree FunctionStatementList(string s) 14239 { 14240 if(__ctfe) 14241 { 14242 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), "ES6.FunctionStatementList")(TParseTree("", false,[], s)); 14243 } 14244 else 14245 { 14246 memo = null; 14247 return hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListReturn, Spacing)), "ES6.FunctionStatementList"), "FunctionStatementList")(TParseTree("", false,[], s)); 14248 } 14249 } 14250 static string FunctionStatementList(GetName g) 14251 { 14252 return "ES6.FunctionStatementList"; 14253 } 14254 14255 static TParseTree FunctionStatementListYield(TParseTree p) 14256 { 14257 if(__ctfe) 14258 { 14259 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), "ES6.FunctionStatementListYield")(p); 14260 } 14261 else 14262 { 14263 if(auto m = tuple(`FunctionStatementListYield`,p.end) in memo) 14264 return *m; 14265 else 14266 { 14267 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), "ES6.FunctionStatementListYield"), "FunctionStatementListYield")(p); 14268 memo[tuple(`FunctionStatementListYield`,p.end)] = result; 14269 return result; 14270 } 14271 } 14272 } 14273 14274 static TParseTree FunctionStatementListYield(string s) 14275 { 14276 if(__ctfe) 14277 { 14278 return pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), "ES6.FunctionStatementListYield")(TParseTree("", false,[], s)); 14279 } 14280 else 14281 { 14282 memo = null; 14283 return hooked!(pegged.peg.defined!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, StatementListYieldReturn, Spacing)), "ES6.FunctionStatementListYield"), "FunctionStatementListYield")(TParseTree("", false,[], s)); 14284 } 14285 } 14286 static string FunctionStatementListYield(GetName g) 14287 { 14288 return "ES6.FunctionStatementListYield"; 14289 } 14290 14291 static TParseTree ArrowFunction(TParseTree p) 14292 { 14293 if(__ctfe) 14294 { 14295 return pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunction")(p); 14296 } 14297 else 14298 { 14299 if(auto m = tuple(`ArrowFunction`,p.end) in memo) 14300 return *m; 14301 else 14302 { 14303 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunction"), "ArrowFunction")(p); 14304 memo[tuple(`ArrowFunction`,p.end)] = result; 14305 return result; 14306 } 14307 } 14308 } 14309 14310 static TParseTree ArrowFunction(string s) 14311 { 14312 if(__ctfe) 14313 { 14314 return pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunction")(TParseTree("", false,[], s)); 14315 } 14316 else 14317 { 14318 memo = null; 14319 return hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunction"), "ArrowFunction")(TParseTree("", false,[], s)); 14320 } 14321 } 14322 static string ArrowFunction(GetName g) 14323 { 14324 return "ES6.ArrowFunction"; 14325 } 14326 14327 static TParseTree ArrowFunctionIn(TParseTree p) 14328 { 14329 if(__ctfe) 14330 { 14331 return pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionIn")(p); 14332 } 14333 else 14334 { 14335 if(auto m = tuple(`ArrowFunctionIn`,p.end) in memo) 14336 return *m; 14337 else 14338 { 14339 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionIn"), "ArrowFunctionIn")(p); 14340 memo[tuple(`ArrowFunctionIn`,p.end)] = result; 14341 return result; 14342 } 14343 } 14344 } 14345 14346 static TParseTree ArrowFunctionIn(string s) 14347 { 14348 if(__ctfe) 14349 { 14350 return pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionIn")(TParseTree("", false,[], s)); 14351 } 14352 else 14353 { 14354 memo = null; 14355 return hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParameters, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionIn"), "ArrowFunctionIn")(TParseTree("", false,[], s)); 14356 } 14357 } 14358 static string ArrowFunctionIn(GetName g) 14359 { 14360 return "ES6.ArrowFunctionIn"; 14361 } 14362 14363 static TParseTree ArrowFunctionYield(TParseTree p) 14364 { 14365 if(__ctfe) 14366 { 14367 return pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunctionYield")(p); 14368 } 14369 else 14370 { 14371 if(auto m = tuple(`ArrowFunctionYield`,p.end) in memo) 14372 return *m; 14373 else 14374 { 14375 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunctionYield"), "ArrowFunctionYield")(p); 14376 memo[tuple(`ArrowFunctionYield`,p.end)] = result; 14377 return result; 14378 } 14379 } 14380 } 14381 14382 static TParseTree ArrowFunctionYield(string s) 14383 { 14384 if(__ctfe) 14385 { 14386 return pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunctionYield")(TParseTree("", false,[], s)); 14387 } 14388 else 14389 { 14390 memo = null; 14391 return hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBody), "ES6.ArrowFunctionYield"), "ArrowFunctionYield")(TParseTree("", false,[], s)); 14392 } 14393 } 14394 static string ArrowFunctionYield(GetName g) 14395 { 14396 return "ES6.ArrowFunctionYield"; 14397 } 14398 14399 static TParseTree ArrowFunctionInYield(TParseTree p) 14400 { 14401 if(__ctfe) 14402 { 14403 return pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionInYield")(p); 14404 } 14405 else 14406 { 14407 if(auto m = tuple(`ArrowFunctionInYield`,p.end) in memo) 14408 return *m; 14409 else 14410 { 14411 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionInYield"), "ArrowFunctionInYield")(p); 14412 memo[tuple(`ArrowFunctionInYield`,p.end)] = result; 14413 return result; 14414 } 14415 } 14416 } 14417 14418 static TParseTree ArrowFunctionInYield(string s) 14419 { 14420 if(__ctfe) 14421 { 14422 return pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionInYield")(TParseTree("", false,[], s)); 14423 } 14424 else 14425 { 14426 memo = null; 14427 return hooked!(pegged.peg.defined!(pegged.peg.and!(ArrowParametersYield, Spaces, pegged.peg.literal!("=>"), Spacing, ConciseBodyIn), "ES6.ArrowFunctionInYield"), "ArrowFunctionInYield")(TParseTree("", false,[], s)); 14428 } 14429 } 14430 static string ArrowFunctionInYield(GetName g) 14431 { 14432 return "ES6.ArrowFunctionInYield"; 14433 } 14434 14435 static TParseTree ArrowParameters(TParseTree p) 14436 { 14437 if(__ctfe) 14438 { 14439 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing)), "ES6.ArrowParameters")(p); 14440 } 14441 else 14442 { 14443 if(auto m = tuple(`ArrowParameters`,p.end) in memo) 14444 return *m; 14445 else 14446 { 14447 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing)), "ES6.ArrowParameters"), "ArrowParameters")(p); 14448 memo[tuple(`ArrowParameters`,p.end)] = result; 14449 return result; 14450 } 14451 } 14452 } 14453 14454 static TParseTree ArrowParameters(string s) 14455 { 14456 if(__ctfe) 14457 { 14458 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing)), "ES6.ArrowParameters")(TParseTree("", false,[], s)); 14459 } 14460 else 14461 { 14462 memo = null; 14463 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterList, Spacing)), "ES6.ArrowParameters"), "ArrowParameters")(TParseTree("", false,[], s)); 14464 } 14465 } 14466 static string ArrowParameters(GetName g) 14467 { 14468 return "ES6.ArrowParameters"; 14469 } 14470 14471 static TParseTree ArrowParametersYield(TParseTree p) 14472 { 14473 if(__ctfe) 14474 { 14475 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing)), "ES6.ArrowParametersYield")(p); 14476 } 14477 else 14478 { 14479 if(auto m = tuple(`ArrowParametersYield`,p.end) in memo) 14480 return *m; 14481 else 14482 { 14483 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing)), "ES6.ArrowParametersYield"), "ArrowParametersYield")(p); 14484 memo[tuple(`ArrowParametersYield`,p.end)] = result; 14485 return result; 14486 } 14487 } 14488 } 14489 14490 static TParseTree ArrowParametersYield(string s) 14491 { 14492 if(__ctfe) 14493 { 14494 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing)), "ES6.ArrowParametersYield")(TParseTree("", false,[], s)); 14495 } 14496 else 14497 { 14498 memo = null; 14499 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, CoverParenthesizedExpressionAndArrowParameterListYield, Spacing)), "ES6.ArrowParametersYield"), "ArrowParametersYield")(TParseTree("", false,[], s)); 14500 } 14501 } 14502 static string ArrowParametersYield(GetName g) 14503 { 14504 return "ES6.ArrowParametersYield"; 14505 } 14506 14507 static TParseTree ConciseBody(TParseTree p) 14508 { 14509 if(__ctfe) 14510 { 14511 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBody")(p); 14512 } 14513 else 14514 { 14515 if(auto m = tuple(`ConciseBody`,p.end) in memo) 14516 return *m; 14517 else 14518 { 14519 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBody"), "ConciseBody")(p); 14520 memo[tuple(`ConciseBody`,p.end)] = result; 14521 return result; 14522 } 14523 } 14524 } 14525 14526 static TParseTree ConciseBody(string s) 14527 { 14528 if(__ctfe) 14529 { 14530 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBody")(TParseTree("", false,[], s)); 14531 } 14532 else 14533 { 14534 memo = null; 14535 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpression, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBody"), "ConciseBody")(TParseTree("", false,[], s)); 14536 } 14537 } 14538 static string ConciseBody(GetName g) 14539 { 14540 return "ES6.ConciseBody"; 14541 } 14542 14543 static TParseTree ConciseBodyIn(TParseTree p) 14544 { 14545 if(__ctfe) 14546 { 14547 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBodyIn")(p); 14548 } 14549 else 14550 { 14551 if(auto m = tuple(`ConciseBodyIn`,p.end) in memo) 14552 return *m; 14553 else 14554 { 14555 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBodyIn"), "ConciseBodyIn")(p); 14556 memo[tuple(`ConciseBodyIn`,p.end)] = result; 14557 return result; 14558 } 14559 } 14560 } 14561 14562 static TParseTree ConciseBodyIn(string s) 14563 { 14564 if(__ctfe) 14565 { 14566 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBodyIn")(TParseTree("", false,[], s)); 14567 } 14568 else 14569 { 14570 memo = null; 14571 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("{"), Spacing), Spacing)), pegged.peg.wrapAround!(Spacing, AssignmentExpressionIn, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), "ES6.ConciseBodyIn"), "ConciseBodyIn")(TParseTree("", false,[], s)); 14572 } 14573 } 14574 static string ConciseBodyIn(GetName g) 14575 { 14576 return "ES6.ConciseBodyIn"; 14577 } 14578 14579 static TParseTree ArrowFormalParameters(TParseTree p) 14580 { 14581 if(__ctfe) 14582 { 14583 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), "ES6.ArrowFormalParameters")(p); 14584 } 14585 else 14586 { 14587 if(auto m = tuple(`ArrowFormalParameters`,p.end) in memo) 14588 return *m; 14589 else 14590 { 14591 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), "ES6.ArrowFormalParameters"), "ArrowFormalParameters")(p); 14592 memo[tuple(`ArrowFormalParameters`,p.end)] = result; 14593 return result; 14594 } 14595 } 14596 } 14597 14598 static TParseTree ArrowFormalParameters(string s) 14599 { 14600 if(__ctfe) 14601 { 14602 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), "ES6.ArrowFormalParameters")(TParseTree("", false,[], s)); 14603 } 14604 else 14605 { 14606 memo = null; 14607 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), "ES6.ArrowFormalParameters"), "ArrowFormalParameters")(TParseTree("", false,[], s)); 14608 } 14609 } 14610 static string ArrowFormalParameters(GetName g) 14611 { 14612 return "ES6.ArrowFormalParameters"; 14613 } 14614 14615 static TParseTree ArrowFormalParametersYield(TParseTree p) 14616 { 14617 if(__ctfe) 14618 { 14619 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), "ES6.ArrowFormalParametersYield")(p); 14620 } 14621 else 14622 { 14623 if(auto m = tuple(`ArrowFormalParametersYield`,p.end) in memo) 14624 return *m; 14625 else 14626 { 14627 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), "ES6.ArrowFormalParametersYield"), "ArrowFormalParametersYield")(p); 14628 memo[tuple(`ArrowFormalParametersYield`,p.end)] = result; 14629 return result; 14630 } 14631 } 14632 } 14633 14634 static TParseTree ArrowFormalParametersYield(string s) 14635 { 14636 if(__ctfe) 14637 { 14638 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), "ES6.ArrowFormalParametersYield")(TParseTree("", false,[], s)); 14639 } 14640 else 14641 { 14642 memo = null; 14643 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), "ES6.ArrowFormalParametersYield"), "ArrowFormalParametersYield")(TParseTree("", false,[], s)); 14644 } 14645 } 14646 static string ArrowFormalParametersYield(GetName g) 14647 { 14648 return "ES6.ArrowFormalParametersYield"; 14649 } 14650 14651 static TParseTree MethodDefinition(TParseTree p) 14652 { 14653 if(__ctfe) 14654 { 14655 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethod, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinition")(p); 14656 } 14657 else 14658 { 14659 if(auto m = tuple(`MethodDefinition`,p.end) in memo) 14660 return *m; 14661 else 14662 { 14663 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethod, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinition"), "MethodDefinition")(p); 14664 memo[tuple(`MethodDefinition`,p.end)] = result; 14665 return result; 14666 } 14667 } 14668 } 14669 14670 static TParseTree MethodDefinition(string s) 14671 { 14672 if(__ctfe) 14673 { 14674 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethod, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinition")(TParseTree("", false,[], s)); 14675 } 14676 else 14677 { 14678 memo = null; 14679 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethod, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinition"), "MethodDefinition")(TParseTree("", false,[], s)); 14680 } 14681 } 14682 static string MethodDefinition(GetName g) 14683 { 14684 return "ES6.MethodDefinition"; 14685 } 14686 14687 static TParseTree MethodDefinitionYield(TParseTree p) 14688 { 14689 if(__ctfe) 14690 { 14691 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethodYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinitionYield")(p); 14692 } 14693 else 14694 { 14695 if(auto m = tuple(`MethodDefinitionYield`,p.end) in memo) 14696 return *m; 14697 else 14698 { 14699 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethodYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinitionYield"), "MethodDefinitionYield")(p); 14700 memo[tuple(`MethodDefinitionYield`,p.end)] = result; 14701 return result; 14702 } 14703 } 14704 } 14705 14706 static TParseTree MethodDefinitionYield(string s) 14707 { 14708 if(__ctfe) 14709 { 14710 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethodYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinitionYield")(TParseTree("", false,[], s)); 14711 } 14712 else 14713 { 14714 memo = null; 14715 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, GeneratorMethodYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("get"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("("), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(")"), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("set"), Spacing), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, PropertySetParameterList, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, FunctionBody, Spacing)), Spacing)), Spacing)), "ES6.MethodDefinitionYield"), "MethodDefinitionYield")(TParseTree("", false,[], s)); 14716 } 14717 } 14718 static string MethodDefinitionYield(GetName g) 14719 { 14720 return "ES6.MethodDefinitionYield"; 14721 } 14722 14723 static TParseTree PropertySetParameterList(TParseTree p) 14724 { 14725 if(__ctfe) 14726 { 14727 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), "ES6.PropertySetParameterList")(p); 14728 } 14729 else 14730 { 14731 if(auto m = tuple(`PropertySetParameterList`,p.end) in memo) 14732 return *m; 14733 else 14734 { 14735 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), "ES6.PropertySetParameterList"), "PropertySetParameterList")(p); 14736 memo[tuple(`PropertySetParameterList`,p.end)] = result; 14737 return result; 14738 } 14739 } 14740 } 14741 14742 static TParseTree PropertySetParameterList(string s) 14743 { 14744 if(__ctfe) 14745 { 14746 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), "ES6.PropertySetParameterList")(TParseTree("", false,[], s)); 14747 } 14748 else 14749 { 14750 memo = null; 14751 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FormalParameter, Spacing), "ES6.PropertySetParameterList"), "PropertySetParameterList")(TParseTree("", false,[], s)); 14752 } 14753 } 14754 static string PropertySetParameterList(GetName g) 14755 { 14756 return "ES6.PropertySetParameterList"; 14757 } 14758 14759 static TParseTree GeneratorMethod(TParseTree p) 14760 { 14761 if(__ctfe) 14762 { 14763 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethod")(p); 14764 } 14765 else 14766 { 14767 if(auto m = tuple(`GeneratorMethod`,p.end) in memo) 14768 return *m; 14769 else 14770 { 14771 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethod"), "GeneratorMethod")(p); 14772 memo[tuple(`GeneratorMethod`,p.end)] = result; 14773 return result; 14774 } 14775 } 14776 } 14777 14778 static TParseTree GeneratorMethod(string s) 14779 { 14780 if(__ctfe) 14781 { 14782 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethod")(TParseTree("", false,[], s)); 14783 } 14784 else 14785 { 14786 memo = null; 14787 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyName, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethod"), "GeneratorMethod")(TParseTree("", false,[], s)); 14788 } 14789 } 14790 static string GeneratorMethod(GetName g) 14791 { 14792 return "ES6.GeneratorMethod"; 14793 } 14794 14795 static TParseTree GeneratorMethodYield(TParseTree p) 14796 { 14797 if(__ctfe) 14798 { 14799 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethodYield")(p); 14800 } 14801 else 14802 { 14803 if(auto m = tuple(`GeneratorMethodYield`,p.end) in memo) 14804 return *m; 14805 else 14806 { 14807 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethodYield"), "GeneratorMethodYield")(p); 14808 memo[tuple(`GeneratorMethodYield`,p.end)] = result; 14809 return result; 14810 } 14811 } 14812 } 14813 14814 static TParseTree GeneratorMethodYield(string s) 14815 { 14816 if(__ctfe) 14817 { 14818 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethodYield")(TParseTree("", false,[], s)); 14819 } 14820 else 14821 { 14822 memo = null; 14823 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, PropertyNameYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, StrictFormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorMethodYield"), "GeneratorMethodYield")(TParseTree("", false,[], s)); 14824 } 14825 } 14826 static string GeneratorMethodYield(GetName g) 14827 { 14828 return "ES6.GeneratorMethodYield"; 14829 } 14830 14831 static TParseTree GeneratorDeclaration(TParseTree p) 14832 { 14833 if(__ctfe) 14834 { 14835 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclaration")(p); 14836 } 14837 else 14838 { 14839 if(auto m = tuple(`GeneratorDeclaration`,p.end) in memo) 14840 return *m; 14841 else 14842 { 14843 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclaration"), "GeneratorDeclaration")(p); 14844 memo[tuple(`GeneratorDeclaration`,p.end)] = result; 14845 return result; 14846 } 14847 } 14848 } 14849 14850 static TParseTree GeneratorDeclaration(string s) 14851 { 14852 if(__ctfe) 14853 { 14854 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclaration")(TParseTree("", false,[], s)); 14855 } 14856 else 14857 { 14858 memo = null; 14859 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclaration"), "GeneratorDeclaration")(TParseTree("", false,[], s)); 14860 } 14861 } 14862 static string GeneratorDeclaration(GetName g) 14863 { 14864 return "ES6.GeneratorDeclaration"; 14865 } 14866 14867 static TParseTree GeneratorDeclarationYield(TParseTree p) 14868 { 14869 if(__ctfe) 14870 { 14871 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYield")(p); 14872 } 14873 else 14874 { 14875 if(auto m = tuple(`GeneratorDeclarationYield`,p.end) in memo) 14876 return *m; 14877 else 14878 { 14879 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYield"), "GeneratorDeclarationYield")(p); 14880 memo[tuple(`GeneratorDeclarationYield`,p.end)] = result; 14881 return result; 14882 } 14883 } 14884 } 14885 14886 static TParseTree GeneratorDeclarationYield(string s) 14887 { 14888 if(__ctfe) 14889 { 14890 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYield")(TParseTree("", false,[], s)); 14891 } 14892 else 14893 { 14894 memo = null; 14895 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYield"), "GeneratorDeclarationYield")(TParseTree("", false,[], s)); 14896 } 14897 } 14898 static string GeneratorDeclarationYield(GetName g) 14899 { 14900 return "ES6.GeneratorDeclarationYield"; 14901 } 14902 14903 static TParseTree GeneratorDeclarationDefault(TParseTree p) 14904 { 14905 if(__ctfe) 14906 { 14907 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationDefault")(p); 14908 } 14909 else 14910 { 14911 if(auto m = tuple(`GeneratorDeclarationDefault`,p.end) in memo) 14912 return *m; 14913 else 14914 { 14915 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationDefault"), "GeneratorDeclarationDefault")(p); 14916 memo[tuple(`GeneratorDeclarationDefault`,p.end)] = result; 14917 return result; 14918 } 14919 } 14920 } 14921 14922 static TParseTree GeneratorDeclarationDefault(string s) 14923 { 14924 if(__ctfe) 14925 { 14926 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationDefault")(TParseTree("", false,[], s)); 14927 } 14928 else 14929 { 14930 memo = null; 14931 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifier, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParameters, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationDefault"), "GeneratorDeclarationDefault")(TParseTree("", false,[], s)); 14932 } 14933 } 14934 static string GeneratorDeclarationDefault(GetName g) 14935 { 14936 return "ES6.GeneratorDeclarationDefault"; 14937 } 14938 14939 static TParseTree GeneratorDeclarationYieldDefault(TParseTree p) 14940 { 14941 if(__ctfe) 14942 { 14943 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYieldDefault")(p); 14944 } 14945 else 14946 { 14947 if(auto m = tuple(`GeneratorDeclarationYieldDefault`,p.end) in memo) 14948 return *m; 14949 else 14950 { 14951 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYieldDefault"), "GeneratorDeclarationYieldDefault")(p); 14952 memo[tuple(`GeneratorDeclarationYieldDefault`,p.end)] = result; 14953 return result; 14954 } 14955 } 14956 } 14957 14958 static TParseTree GeneratorDeclarationYieldDefault(string s) 14959 { 14960 if(__ctfe) 14961 { 14962 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYieldDefault")(TParseTree("", false,[], s)); 14963 } 14964 else 14965 { 14966 memo = null; 14967 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorDeclarationYieldDefault"), "GeneratorDeclarationYieldDefault")(TParseTree("", false,[], s)); 14968 } 14969 } 14970 static string GeneratorDeclarationYieldDefault(GetName g) 14971 { 14972 return "ES6.GeneratorDeclarationYieldDefault"; 14973 } 14974 14975 static TParseTree GeneratorExpression(TParseTree p) 14976 { 14977 if(__ctfe) 14978 { 14979 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorExpression")(p); 14980 } 14981 else 14982 { 14983 if(auto m = tuple(`GeneratorExpression`,p.end) in memo) 14984 return *m; 14985 else 14986 { 14987 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorExpression"), "GeneratorExpression")(p); 14988 memo[tuple(`GeneratorExpression`,p.end)] = result; 14989 return result; 14990 } 14991 } 14992 } 14993 14994 static TParseTree GeneratorExpression(string s) 14995 { 14996 if(__ctfe) 14997 { 14998 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorExpression")(TParseTree("", false,[], s)); 14999 } 15000 else 15001 { 15002 memo = null; 15003 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("function"), Spacing)), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("*"), Spacing)), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, BindingIdentifierYield, Spacing)), pegged.peg.wrapAround!(Spacing, Parentheses!(pegged.peg.wrapAround!(Spacing, FormalParametersYield, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, GeneratorBody, Spacing)), Spacing)), "ES6.GeneratorExpression"), "GeneratorExpression")(TParseTree("", false,[], s)); 15004 } 15005 } 15006 static string GeneratorExpression(GetName g) 15007 { 15008 return "ES6.GeneratorExpression"; 15009 } 15010 15011 static TParseTree GeneratorBody(TParseTree p) 15012 { 15013 if(__ctfe) 15014 { 15015 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionBodyYield, Spacing), "ES6.GeneratorBody")(p); 15016 } 15017 else 15018 { 15019 if(auto m = tuple(`GeneratorBody`,p.end) in memo) 15020 return *m; 15021 else 15022 { 15023 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionBodyYield, Spacing), "ES6.GeneratorBody"), "GeneratorBody")(p); 15024 memo[tuple(`GeneratorBody`,p.end)] = result; 15025 return result; 15026 } 15027 } 15028 } 15029 15030 static TParseTree GeneratorBody(string s) 15031 { 15032 if(__ctfe) 15033 { 15034 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionBodyYield, Spacing), "ES6.GeneratorBody")(TParseTree("", false,[], s)); 15035 } 15036 else 15037 { 15038 memo = null; 15039 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, FunctionBodyYield, Spacing), "ES6.GeneratorBody"), "GeneratorBody")(TParseTree("", false,[], s)); 15040 } 15041 } 15042 static string GeneratorBody(GetName g) 15043 { 15044 return "ES6.GeneratorBody"; 15045 } 15046 15047 static TParseTree YieldExpression(TParseTree p) 15048 { 15049 if(__ctfe) 15050 { 15051 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionYield), pegged.peg.literal!("yield")), "ES6.YieldExpression")(p); 15052 } 15053 else 15054 { 15055 if(auto m = tuple(`YieldExpression`,p.end) in memo) 15056 return *m; 15057 else 15058 { 15059 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionYield), pegged.peg.literal!("yield")), "ES6.YieldExpression"), "YieldExpression")(p); 15060 memo[tuple(`YieldExpression`,p.end)] = result; 15061 return result; 15062 } 15063 } 15064 } 15065 15066 static TParseTree YieldExpression(string s) 15067 { 15068 if(__ctfe) 15069 { 15070 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionYield), pegged.peg.literal!("yield")), "ES6.YieldExpression")(TParseTree("", false,[], s)); 15071 } 15072 else 15073 { 15074 memo = null; 15075 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionYield), pegged.peg.literal!("yield")), "ES6.YieldExpression"), "YieldExpression")(TParseTree("", false,[], s)); 15076 } 15077 } 15078 static string YieldExpression(GetName g) 15079 { 15080 return "ES6.YieldExpression"; 15081 } 15082 15083 static TParseTree YieldExpressionIn(TParseTree p) 15084 { 15085 if(__ctfe) 15086 { 15087 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionInYield), pegged.peg.literal!("yield")), "ES6.YieldExpressionIn")(p); 15088 } 15089 else 15090 { 15091 if(auto m = tuple(`YieldExpressionIn`,p.end) in memo) 15092 return *m; 15093 else 15094 { 15095 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionInYield), pegged.peg.literal!("yield")), "ES6.YieldExpressionIn"), "YieldExpressionIn")(p); 15096 memo[tuple(`YieldExpressionIn`,p.end)] = result; 15097 return result; 15098 } 15099 } 15100 } 15101 15102 static TParseTree YieldExpressionIn(string s) 15103 { 15104 if(__ctfe) 15105 { 15106 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionInYield), pegged.peg.literal!("yield")), "ES6.YieldExpressionIn")(TParseTree("", false,[], s)); 15107 } 15108 else 15109 { 15110 memo = null; 15111 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.and!(pegged.peg.literal!("yield"), Spaces, pegged.peg.option!(pegged.peg.literal!("*")), AssignmentExpressionInYield), pegged.peg.literal!("yield")), "ES6.YieldExpressionIn"), "YieldExpressionIn")(TParseTree("", false,[], s)); 15112 } 15113 } 15114 static string YieldExpressionIn(GetName g) 15115 { 15116 return "ES6.YieldExpressionIn"; 15117 } 15118 15119 static TParseTree ClassDeclaration(TParseTree p) 15120 { 15121 if(__ctfe) 15122 { 15123 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifier, Spaces, ClassTail), "ES6.ClassDeclaration")(p); 15124 } 15125 else 15126 { 15127 if(auto m = tuple(`ClassDeclaration`,p.end) in memo) 15128 return *m; 15129 else 15130 { 15131 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifier, Spaces, ClassTail), "ES6.ClassDeclaration"), "ClassDeclaration")(p); 15132 memo[tuple(`ClassDeclaration`,p.end)] = result; 15133 return result; 15134 } 15135 } 15136 } 15137 15138 static TParseTree ClassDeclaration(string s) 15139 { 15140 if(__ctfe) 15141 { 15142 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifier, Spaces, ClassTail), "ES6.ClassDeclaration")(TParseTree("", false,[], s)); 15143 } 15144 else 15145 { 15146 memo = null; 15147 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifier, Spaces, ClassTail), "ES6.ClassDeclaration"), "ClassDeclaration")(TParseTree("", false,[], s)); 15148 } 15149 } 15150 static string ClassDeclaration(GetName g) 15151 { 15152 return "ES6.ClassDeclaration"; 15153 } 15154 15155 static TParseTree ClassDeclarationYield(TParseTree p) 15156 { 15157 if(__ctfe) 15158 { 15159 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifierYield, Spaces, ClassTailYield), "ES6.ClassDeclarationYield")(p); 15160 } 15161 else 15162 { 15163 if(auto m = tuple(`ClassDeclarationYield`,p.end) in memo) 15164 return *m; 15165 else 15166 { 15167 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifierYield, Spaces, ClassTailYield), "ES6.ClassDeclarationYield"), "ClassDeclarationYield")(p); 15168 memo[tuple(`ClassDeclarationYield`,p.end)] = result; 15169 return result; 15170 } 15171 } 15172 } 15173 15174 static TParseTree ClassDeclarationYield(string s) 15175 { 15176 if(__ctfe) 15177 { 15178 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifierYield, Spaces, ClassTailYield), "ES6.ClassDeclarationYield")(TParseTree("", false,[], s)); 15179 } 15180 else 15181 { 15182 memo = null; 15183 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, BindingIdentifierYield, Spaces, ClassTailYield), "ES6.ClassDeclarationYield"), "ClassDeclarationYield")(TParseTree("", false,[], s)); 15184 } 15185 } 15186 static string ClassDeclarationYield(GetName g) 15187 { 15188 return "ES6.ClassDeclarationYield"; 15189 } 15190 15191 static TParseTree ClassDeclarationDefault(TParseTree p) 15192 { 15193 if(__ctfe) 15194 { 15195 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassDeclarationDefault")(p); 15196 } 15197 else 15198 { 15199 if(auto m = tuple(`ClassDeclarationDefault`,p.end) in memo) 15200 return *m; 15201 else 15202 { 15203 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassDeclarationDefault"), "ClassDeclarationDefault")(p); 15204 memo[tuple(`ClassDeclarationDefault`,p.end)] = result; 15205 return result; 15206 } 15207 } 15208 } 15209 15210 static TParseTree ClassDeclarationDefault(string s) 15211 { 15212 if(__ctfe) 15213 { 15214 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassDeclarationDefault")(TParseTree("", false,[], s)); 15215 } 15216 else 15217 { 15218 memo = null; 15219 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassDeclarationDefault"), "ClassDeclarationDefault")(TParseTree("", false,[], s)); 15220 } 15221 } 15222 static string ClassDeclarationDefault(GetName g) 15223 { 15224 return "ES6.ClassDeclarationDefault"; 15225 } 15226 15227 static TParseTree ClassDeclarationYieldDefault(TParseTree p) 15228 { 15229 if(__ctfe) 15230 { 15231 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassDeclarationYieldDefault")(p); 15232 } 15233 else 15234 { 15235 if(auto m = tuple(`ClassDeclarationYieldDefault`,p.end) in memo) 15236 return *m; 15237 else 15238 { 15239 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassDeclarationYieldDefault"), "ClassDeclarationYieldDefault")(p); 15240 memo[tuple(`ClassDeclarationYieldDefault`,p.end)] = result; 15241 return result; 15242 } 15243 } 15244 } 15245 15246 static TParseTree ClassDeclarationYieldDefault(string s) 15247 { 15248 if(__ctfe) 15249 { 15250 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassDeclarationYieldDefault")(TParseTree("", false,[], s)); 15251 } 15252 else 15253 { 15254 memo = null; 15255 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassDeclarationYieldDefault"), "ClassDeclarationYieldDefault")(TParseTree("", false,[], s)); 15256 } 15257 } 15258 static string ClassDeclarationYieldDefault(GetName g) 15259 { 15260 return "ES6.ClassDeclarationYieldDefault"; 15261 } 15262 15263 static TParseTree ClassExpression(TParseTree p) 15264 { 15265 if(__ctfe) 15266 { 15267 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassExpression")(p); 15268 } 15269 else 15270 { 15271 if(auto m = tuple(`ClassExpression`,p.end) in memo) 15272 return *m; 15273 else 15274 { 15275 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassExpression"), "ClassExpression")(p); 15276 memo[tuple(`ClassExpression`,p.end)] = result; 15277 return result; 15278 } 15279 } 15280 } 15281 15282 static TParseTree ClassExpression(string s) 15283 { 15284 if(__ctfe) 15285 { 15286 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassExpression")(TParseTree("", false,[], s)); 15287 } 15288 else 15289 { 15290 memo = null; 15291 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifier), Spaces, ClassTail), "ES6.ClassExpression"), "ClassExpression")(TParseTree("", false,[], s)); 15292 } 15293 } 15294 static string ClassExpression(GetName g) 15295 { 15296 return "ES6.ClassExpression"; 15297 } 15298 15299 static TParseTree ClassExpressionYield(TParseTree p) 15300 { 15301 if(__ctfe) 15302 { 15303 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassExpressionYield")(p); 15304 } 15305 else 15306 { 15307 if(auto m = tuple(`ClassExpressionYield`,p.end) in memo) 15308 return *m; 15309 else 15310 { 15311 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassExpressionYield"), "ClassExpressionYield")(p); 15312 memo[tuple(`ClassExpressionYield`,p.end)] = result; 15313 return result; 15314 } 15315 } 15316 } 15317 15318 static TParseTree ClassExpressionYield(string s) 15319 { 15320 if(__ctfe) 15321 { 15322 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassExpressionYield")(TParseTree("", false,[], s)); 15323 } 15324 else 15325 { 15326 memo = null; 15327 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.literal!("class")), pegged.peg.negLookahead!(pegged.peg.or!(IdentifierStart, IdentifierPart)), Spaces, pegged.peg.option!(BindingIdentifierYield), Spaces, ClassTailYield), "ES6.ClassExpressionYield"), "ClassExpressionYield")(TParseTree("", false,[], s)); 15328 } 15329 } 15330 static string ClassExpressionYield(GetName g) 15331 { 15332 return "ES6.ClassExpressionYield"; 15333 } 15334 15335 static TParseTree ClassTail(TParseTree p) 15336 { 15337 if(__ctfe) 15338 { 15339 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritage, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBody, Spacing))), Spacing)), "ES6.ClassTail")(p); 15340 } 15341 else 15342 { 15343 if(auto m = tuple(`ClassTail`,p.end) in memo) 15344 return *m; 15345 else 15346 { 15347 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritage, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBody, Spacing))), Spacing)), "ES6.ClassTail"), "ClassTail")(p); 15348 memo[tuple(`ClassTail`,p.end)] = result; 15349 return result; 15350 } 15351 } 15352 } 15353 15354 static TParseTree ClassTail(string s) 15355 { 15356 if(__ctfe) 15357 { 15358 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritage, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBody, Spacing))), Spacing)), "ES6.ClassTail")(TParseTree("", false,[], s)); 15359 } 15360 else 15361 { 15362 memo = null; 15363 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritage, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBody, Spacing))), Spacing)), "ES6.ClassTail"), "ClassTail")(TParseTree("", false,[], s)); 15364 } 15365 } 15366 static string ClassTail(GetName g) 15367 { 15368 return "ES6.ClassTail"; 15369 } 15370 15371 static TParseTree ClassTailYield(TParseTree p) 15372 { 15373 if(__ctfe) 15374 { 15375 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritageYield, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBodyYield, Spacing))), Spacing)), "ES6.ClassTailYield")(p); 15376 } 15377 else 15378 { 15379 if(auto m = tuple(`ClassTailYield`,p.end) in memo) 15380 return *m; 15381 else 15382 { 15383 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritageYield, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBodyYield, Spacing))), Spacing)), "ES6.ClassTailYield"), "ClassTailYield")(p); 15384 memo[tuple(`ClassTailYield`,p.end)] = result; 15385 return result; 15386 } 15387 } 15388 } 15389 15390 static TParseTree ClassTailYield(string s) 15391 { 15392 if(__ctfe) 15393 { 15394 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritageYield, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBodyYield, Spacing))), Spacing)), "ES6.ClassTailYield")(TParseTree("", false,[], s)); 15395 } 15396 else 15397 { 15398 memo = null; 15399 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassHeritageYield, Spacing)), pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.option!(pegged.peg.wrapAround!(Spacing, ClassBodyYield, Spacing))), Spacing)), "ES6.ClassTailYield"), "ClassTailYield")(TParseTree("", false,[], s)); 15400 } 15401 } 15402 static string ClassTailYield(GetName g) 15403 { 15404 return "ES6.ClassTailYield"; 15405 } 15406 15407 static TParseTree ClassHeritage(TParseTree p) 15408 { 15409 if(__ctfe) 15410 { 15411 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing)), "ES6.ClassHeritage")(p); 15412 } 15413 else 15414 { 15415 if(auto m = tuple(`ClassHeritage`,p.end) in memo) 15416 return *m; 15417 else 15418 { 15419 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing)), "ES6.ClassHeritage"), "ClassHeritage")(p); 15420 memo[tuple(`ClassHeritage`,p.end)] = result; 15421 return result; 15422 } 15423 } 15424 } 15425 15426 static TParseTree ClassHeritage(string s) 15427 { 15428 if(__ctfe) 15429 { 15430 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing)), "ES6.ClassHeritage")(TParseTree("", false,[], s)); 15431 } 15432 else 15433 { 15434 memo = null; 15435 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpression, Spacing)), "ES6.ClassHeritage"), "ClassHeritage")(TParseTree("", false,[], s)); 15436 } 15437 } 15438 static string ClassHeritage(GetName g) 15439 { 15440 return "ES6.ClassHeritage"; 15441 } 15442 15443 static TParseTree ClassHeritageYield(TParseTree p) 15444 { 15445 if(__ctfe) 15446 { 15447 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing)), "ES6.ClassHeritageYield")(p); 15448 } 15449 else 15450 { 15451 if(auto m = tuple(`ClassHeritageYield`,p.end) in memo) 15452 return *m; 15453 else 15454 { 15455 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing)), "ES6.ClassHeritageYield"), "ClassHeritageYield")(p); 15456 memo[tuple(`ClassHeritageYield`,p.end)] = result; 15457 return result; 15458 } 15459 } 15460 } 15461 15462 static TParseTree ClassHeritageYield(string s) 15463 { 15464 if(__ctfe) 15465 { 15466 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing)), "ES6.ClassHeritageYield")(TParseTree("", false,[], s)); 15467 } 15468 else 15469 { 15470 memo = null; 15471 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("extends"), Spacing)), pegged.peg.wrapAround!(Spacing, LeftHandSideExpressionYield, Spacing)), "ES6.ClassHeritageYield"), "ClassHeritageYield")(TParseTree("", false,[], s)); 15472 } 15473 } 15474 static string ClassHeritageYield(GetName g) 15475 { 15476 return "ES6.ClassHeritageYield"; 15477 } 15478 15479 static TParseTree ClassBody(TParseTree p) 15480 { 15481 if(__ctfe) 15482 { 15483 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementList, Spacing), "ES6.ClassBody")(p); 15484 } 15485 else 15486 { 15487 if(auto m = tuple(`ClassBody`,p.end) in memo) 15488 return *m; 15489 else 15490 { 15491 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementList, Spacing), "ES6.ClassBody"), "ClassBody")(p); 15492 memo[tuple(`ClassBody`,p.end)] = result; 15493 return result; 15494 } 15495 } 15496 } 15497 15498 static TParseTree ClassBody(string s) 15499 { 15500 if(__ctfe) 15501 { 15502 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementList, Spacing), "ES6.ClassBody")(TParseTree("", false,[], s)); 15503 } 15504 else 15505 { 15506 memo = null; 15507 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementList, Spacing), "ES6.ClassBody"), "ClassBody")(TParseTree("", false,[], s)); 15508 } 15509 } 15510 static string ClassBody(GetName g) 15511 { 15512 return "ES6.ClassBody"; 15513 } 15514 15515 static TParseTree ClassBodyYield(TParseTree p) 15516 { 15517 if(__ctfe) 15518 { 15519 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementListYield, Spacing), "ES6.ClassBodyYield")(p); 15520 } 15521 else 15522 { 15523 if(auto m = tuple(`ClassBodyYield`,p.end) in memo) 15524 return *m; 15525 else 15526 { 15527 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementListYield, Spacing), "ES6.ClassBodyYield"), "ClassBodyYield")(p); 15528 memo[tuple(`ClassBodyYield`,p.end)] = result; 15529 return result; 15530 } 15531 } 15532 } 15533 15534 static TParseTree ClassBodyYield(string s) 15535 { 15536 if(__ctfe) 15537 { 15538 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementListYield, Spacing), "ES6.ClassBodyYield")(TParseTree("", false,[], s)); 15539 } 15540 else 15541 { 15542 memo = null; 15543 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, ClassElementListYield, Spacing), "ES6.ClassBodyYield"), "ClassBodyYield")(TParseTree("", false,[], s)); 15544 } 15545 } 15546 static string ClassBodyYield(GetName g) 15547 { 15548 return "ES6.ClassBodyYield"; 15549 } 15550 15551 static TParseTree ClassElementList(TParseTree p) 15552 { 15553 if(__ctfe) 15554 { 15555 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElement, Spacing)), "ES6.ClassElementList")(p); 15556 } 15557 else 15558 { 15559 if(auto m = tuple(`ClassElementList`,p.end) in memo) 15560 return *m; 15561 else 15562 { 15563 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElement, Spacing)), "ES6.ClassElementList"), "ClassElementList")(p); 15564 memo[tuple(`ClassElementList`,p.end)] = result; 15565 return result; 15566 } 15567 } 15568 } 15569 15570 static TParseTree ClassElementList(string s) 15571 { 15572 if(__ctfe) 15573 { 15574 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElement, Spacing)), "ES6.ClassElementList")(TParseTree("", false,[], s)); 15575 } 15576 else 15577 { 15578 memo = null; 15579 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElement, Spacing)), "ES6.ClassElementList"), "ClassElementList")(TParseTree("", false,[], s)); 15580 } 15581 } 15582 static string ClassElementList(GetName g) 15583 { 15584 return "ES6.ClassElementList"; 15585 } 15586 15587 static TParseTree ClassElementListYield(TParseTree p) 15588 { 15589 if(__ctfe) 15590 { 15591 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElementYield, Spacing)), "ES6.ClassElementListYield")(p); 15592 } 15593 else 15594 { 15595 if(auto m = tuple(`ClassElementListYield`,p.end) in memo) 15596 return *m; 15597 else 15598 { 15599 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElementYield, Spacing)), "ES6.ClassElementListYield"), "ClassElementListYield")(p); 15600 memo[tuple(`ClassElementListYield`,p.end)] = result; 15601 return result; 15602 } 15603 } 15604 } 15605 15606 static TParseTree ClassElementListYield(string s) 15607 { 15608 if(__ctfe) 15609 { 15610 return pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElementYield, Spacing)), "ES6.ClassElementListYield")(TParseTree("", false,[], s)); 15611 } 15612 else 15613 { 15614 memo = null; 15615 return hooked!(pegged.peg.defined!(pegged.peg.oneOrMore!(pegged.peg.wrapAround!(Spacing, ClassElementYield, Spacing)), "ES6.ClassElementListYield"), "ClassElementListYield")(TParseTree("", false,[], s)); 15616 } 15617 } 15618 static string ClassElementListYield(GetName g) 15619 { 15620 return "ES6.ClassElementListYield"; 15621 } 15622 15623 static TParseTree ClassElement(TParseTree p) 15624 { 15625 if(__ctfe) 15626 { 15627 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), "ES6.ClassElement")(p); 15628 } 15629 else 15630 { 15631 if(auto m = tuple(`ClassElement`,p.end) in memo) 15632 return *m; 15633 else 15634 { 15635 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), "ES6.ClassElement"), "ClassElement")(p); 15636 memo[tuple(`ClassElement`,p.end)] = result; 15637 return result; 15638 } 15639 } 15640 } 15641 15642 static TParseTree ClassElement(string s) 15643 { 15644 if(__ctfe) 15645 { 15646 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), "ES6.ClassElement")(TParseTree("", false,[], s)); 15647 } 15648 else 15649 { 15650 memo = null; 15651 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinition, Spacing)), "ES6.ClassElement"), "ClassElement")(TParseTree("", false,[], s)); 15652 } 15653 } 15654 static string ClassElement(GetName g) 15655 { 15656 return "ES6.ClassElement"; 15657 } 15658 15659 static TParseTree ClassElementYield(TParseTree p) 15660 { 15661 if(__ctfe) 15662 { 15663 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), "ES6.ClassElementYield")(p); 15664 } 15665 else 15666 { 15667 if(auto m = tuple(`ClassElementYield`,p.end) in memo) 15668 return *m; 15669 else 15670 { 15671 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), "ES6.ClassElementYield"), "ClassElementYield")(p); 15672 memo[tuple(`ClassElementYield`,p.end)] = result; 15673 return result; 15674 } 15675 } 15676 } 15677 15678 static TParseTree ClassElementYield(string s) 15679 { 15680 if(__ctfe) 15681 { 15682 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), "ES6.ClassElementYield")(TParseTree("", false,[], s)); 15683 } 15684 else 15685 { 15686 memo = null; 15687 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("static"), Spacing), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), Spacing), pegged.peg.discard!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(";"), Spacing)), pegged.peg.wrapAround!(Spacing, MethodDefinitionYield, Spacing)), "ES6.ClassElementYield"), "ClassElementYield")(TParseTree("", false,[], s)); 15688 } 15689 } 15690 static string ClassElementYield(GetName g) 15691 { 15692 return "ES6.ClassElementYield"; 15693 } 15694 15695 static TParseTree JSXElement(TParseTree p) 15696 { 15697 if(__ctfe) 15698 { 15699 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, JSXAttributeSet, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, JSXContent, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("</"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing)), Spacing)), Spacing)), "ES6.JSXElement")(p); 15700 } 15701 else 15702 { 15703 if(auto m = tuple(`JSXElement`,p.end) in memo) 15704 return *m; 15705 else 15706 { 15707 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, JSXAttributeSet, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, JSXContent, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("</"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing)), Spacing)), Spacing)), "ES6.JSXElement"), "JSXElement")(p); 15708 memo[tuple(`JSXElement`,p.end)] = result; 15709 return result; 15710 } 15711 } 15712 } 15713 15714 static TParseTree JSXElement(string s) 15715 { 15716 if(__ctfe) 15717 { 15718 return pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, JSXAttributeSet, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, JSXContent, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("</"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing)), Spacing)), Spacing)), "ES6.JSXElement")(TParseTree("", false,[], s)); 15719 } 15720 else 15721 { 15722 memo = null; 15723 return hooked!(pegged.peg.defined!(pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("<"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, JSXAttributeSet, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("/>"), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing), pegged.peg.wrapAround!(Spacing, JSXContent, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("</"), Spacing), pegged.peg.wrapAround!(Spacing, JSXTag, Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.literal!(">"), Spacing)), Spacing)), Spacing)), "ES6.JSXElement"), "JSXElement")(TParseTree("", false,[], s)); 15724 } 15725 } 15726 static string JSXElement(GetName g) 15727 { 15728 return "ES6.JSXElement"; 15729 } 15730 15731 static TParseTree JSXAttributeSet(TParseTree p) 15732 { 15733 if(__ctfe) 15734 { 15735 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, JSXAttribute, Spacing)), "ES6.JSXAttributeSet")(p); 15736 } 15737 else 15738 { 15739 if(auto m = tuple(`JSXAttributeSet`,p.end) in memo) 15740 return *m; 15741 else 15742 { 15743 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, JSXAttribute, Spacing)), "ES6.JSXAttributeSet"), "JSXAttributeSet")(p); 15744 memo[tuple(`JSXAttributeSet`,p.end)] = result; 15745 return result; 15746 } 15747 } 15748 } 15749 15750 static TParseTree JSXAttributeSet(string s) 15751 { 15752 if(__ctfe) 15753 { 15754 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, JSXAttribute, Spacing)), "ES6.JSXAttributeSet")(TParseTree("", false,[], s)); 15755 } 15756 else 15757 { 15758 memo = null; 15759 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, JSXAttribute, Spacing)), "ES6.JSXAttributeSet"), "JSXAttributeSet")(TParseTree("", false,[], s)); 15760 } 15761 } 15762 static string JSXAttributeSet(GetName g) 15763 { 15764 return "ES6.JSXAttributeSet"; 15765 } 15766 15767 static TParseTree JSXAttribute(TParseTree p) 15768 { 15769 if(__ctfe) 15770 { 15771 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, JSXKey, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing), pegged.peg.wrapAround!(Spacing, JSXValue, Spacing)), Spacing))), Spacing)), "ES6.JSXAttribute")(p); 15772 } 15773 else 15774 { 15775 if(auto m = tuple(`JSXAttribute`,p.end) in memo) 15776 return *m; 15777 else 15778 { 15779 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, JSXKey, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing), pegged.peg.wrapAround!(Spacing, JSXValue, Spacing)), Spacing))), Spacing)), "ES6.JSXAttribute"), "JSXAttribute")(p); 15780 memo[tuple(`JSXAttribute`,p.end)] = result; 15781 return result; 15782 } 15783 } 15784 } 15785 15786 static TParseTree JSXAttribute(string s) 15787 { 15788 if(__ctfe) 15789 { 15790 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, JSXKey, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing), pegged.peg.wrapAround!(Spacing, JSXValue, Spacing)), Spacing))), Spacing)), "ES6.JSXAttribute")(TParseTree("", false,[], s)); 15791 } 15792 else 15793 { 15794 memo = null; 15795 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, SpreadElement, Spacing)), Spacing), pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, JSXKey, Spacing), pegged.peg.option!(pegged.peg.wrapAround!(Spacing, pegged.peg.and!(pegged.peg.wrapAround!(Spacing, pegged.peg.literal!("="), Spacing), pegged.peg.wrapAround!(Spacing, JSXValue, Spacing)), Spacing))), Spacing)), "ES6.JSXAttribute"), "JSXAttribute")(TParseTree("", false,[], s)); 15796 } 15797 } 15798 static string JSXAttribute(GetName g) 15799 { 15800 return "ES6.JSXAttribute"; 15801 } 15802 15803 static TParseTree JSXKey(TParseTree p) 15804 { 15805 if(__ctfe) 15806 { 15807 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("=", "/>", ">")), pegged.peg.any))), "ES6.JSXKey")(p); 15808 } 15809 else 15810 { 15811 if(auto m = tuple(`JSXKey`,p.end) in memo) 15812 return *m; 15813 else 15814 { 15815 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("=", "/>", ">")), pegged.peg.any))), "ES6.JSXKey"), "JSXKey")(p); 15816 memo[tuple(`JSXKey`,p.end)] = result; 15817 return result; 15818 } 15819 } 15820 } 15821 15822 static TParseTree JSXKey(string s) 15823 { 15824 if(__ctfe) 15825 { 15826 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("=", "/>", ">")), pegged.peg.any))), "ES6.JSXKey")(TParseTree("", false,[], s)); 15827 } 15828 else 15829 { 15830 memo = null; 15831 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.oneOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.keywords!("=", "/>", ">")), pegged.peg.any))), "ES6.JSXKey"), "JSXKey")(TParseTree("", false,[], s)); 15832 } 15833 } 15834 static string JSXKey(GetName g) 15835 { 15836 return "ES6.JSXKey"; 15837 } 15838 15839 static TParseTree JSXInlineJS(TParseTree p) 15840 { 15841 if(__ctfe) 15842 { 15843 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), "ES6.JSXInlineJS")(p); 15844 } 15845 else 15846 { 15847 if(auto m = tuple(`JSXInlineJS`,p.end) in memo) 15848 return *m; 15849 else 15850 { 15851 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), "ES6.JSXInlineJS"), "JSXInlineJS")(p); 15852 memo[tuple(`JSXInlineJS`,p.end)] = result; 15853 return result; 15854 } 15855 } 15856 } 15857 15858 static TParseTree JSXInlineJS(string s) 15859 { 15860 if(__ctfe) 15861 { 15862 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), "ES6.JSXInlineJS")(TParseTree("", false,[], s)); 15863 } 15864 else 15865 { 15866 memo = null; 15867 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, ArrowFunction, Spacing), pegged.peg.wrapAround!(Spacing, ConditionalExpression, Spacing)), "ES6.JSXInlineJS"), "JSXInlineJS")(TParseTree("", false,[], s)); 15868 } 15869 } 15870 static string JSXInlineJS(GetName g) 15871 { 15872 return "ES6.JSXInlineJS"; 15873 } 15874 15875 static TParseTree JSXValue(TParseTree p) 15876 { 15877 if(__ctfe) 15878 { 15879 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing)), "ES6.JSXValue")(p); 15880 } 15881 else 15882 { 15883 if(auto m = tuple(`JSXValue`,p.end) in memo) 15884 return *m; 15885 else 15886 { 15887 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing)), "ES6.JSXValue"), "JSXValue")(p); 15888 memo[tuple(`JSXValue`,p.end)] = result; 15889 return result; 15890 } 15891 } 15892 } 15893 15894 static TParseTree JSXValue(string s) 15895 { 15896 if(__ctfe) 15897 { 15898 return pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing)), "ES6.JSXValue")(TParseTree("", false,[], s)); 15899 } 15900 else 15901 { 15902 memo = null; 15903 return hooked!(pegged.peg.defined!(pegged.peg.or!(pegged.peg.wrapAround!(Spacing, StringLiteral, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing)), "ES6.JSXValue"), "JSXValue")(TParseTree("", false,[], s)); 15904 } 15905 } 15906 static string JSXValue(GetName g) 15907 { 15908 return "ES6.JSXValue"; 15909 } 15910 15911 static TParseTree JSXCodeBlock(TParseTree p) 15912 { 15913 if(__ctfe) 15914 { 15915 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing)), Spacing), "ES6.JSXCodeBlock")(p); 15916 } 15917 else 15918 { 15919 if(auto m = tuple(`JSXCodeBlock`,p.end) in memo) 15920 return *m; 15921 else 15922 { 15923 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing)), Spacing), "ES6.JSXCodeBlock"), "JSXCodeBlock")(p); 15924 memo[tuple(`JSXCodeBlock`,p.end)] = result; 15925 return result; 15926 } 15927 } 15928 } 15929 15930 static TParseTree JSXCodeBlock(string s) 15931 { 15932 if(__ctfe) 15933 { 15934 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing)), Spacing), "ES6.JSXCodeBlock")(TParseTree("", false,[], s)); 15935 } 15936 else 15937 { 15938 memo = null; 15939 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing)), Spacing), "ES6.JSXCodeBlock"), "JSXCodeBlock")(TParseTree("", false,[], s)); 15940 } 15941 } 15942 static string JSXCodeBlock(GetName g) 15943 { 15944 return "ES6.JSXCodeBlock"; 15945 } 15946 15947 static TParseTree JSXJavaScriptValue(TParseTree p) 15948 { 15949 if(__ctfe) 15950 { 15951 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing)), pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing))), Spacing), "ES6.JSXJavaScriptValue")(p); 15952 } 15953 else 15954 { 15955 if(auto m = tuple(`JSXJavaScriptValue`,p.end) in memo) 15956 return *m; 15957 else 15958 { 15959 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing)), pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing))), Spacing), "ES6.JSXJavaScriptValue"), "JSXJavaScriptValue")(p); 15960 memo[tuple(`JSXJavaScriptValue`,p.end)] = result; 15961 return result; 15962 } 15963 } 15964 } 15965 15966 static TParseTree JSXJavaScriptValue(string s) 15967 { 15968 if(__ctfe) 15969 { 15970 return pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing)), pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing))), Spacing), "ES6.JSXJavaScriptValue")(TParseTree("", false,[], s)); 15971 } 15972 else 15973 { 15974 memo = null; 15975 return hooked!(pegged.peg.defined!(pegged.peg.wrapAround!(Spacing, CurlyBrackets!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing)), pegged.peg.wrapAround!(Spacing, JSXInlineJS, Spacing))), Spacing), "ES6.JSXJavaScriptValue"), "JSXJavaScriptValue")(TParseTree("", false,[], s)); 15976 } 15977 } 15978 static string JSXJavaScriptValue(GetName g) 15979 { 15980 return "ES6.JSXJavaScriptValue"; 15981 } 15982 15983 static TParseTree JSXTag(TParseTree p) 15984 { 15985 if(__ctfe) 15986 { 15987 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z')), pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z'), pegged.peg.charRange!('0', '9'))))), "ES6.JSXTag")(p); 15988 } 15989 else 15990 { 15991 if(auto m = tuple(`JSXTag`,p.end) in memo) 15992 return *m; 15993 else 15994 { 15995 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z')), pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z'), pegged.peg.charRange!('0', '9'))))), "ES6.JSXTag"), "JSXTag")(p); 15996 memo[tuple(`JSXTag`,p.end)] = result; 15997 return result; 15998 } 15999 } 16000 } 16001 16002 static TParseTree JSXTag(string s) 16003 { 16004 if(__ctfe) 16005 { 16006 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z')), pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z'), pegged.peg.charRange!('0', '9'))))), "ES6.JSXTag")(TParseTree("", false,[], s)); 16007 } 16008 else 16009 { 16010 memo = null; 16011 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.and!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z')), pegged.peg.zeroOrMore!(pegged.peg.or!(pegged.peg.charRange!('a', 'z'), pegged.peg.charRange!('A', 'Z'), pegged.peg.charRange!('0', '9'))))), "ES6.JSXTag"), "JSXTag")(TParseTree("", false,[], s)); 16012 } 16013 } 16014 static string JSXTag(GetName g) 16015 { 16016 return "ES6.JSXTag"; 16017 } 16018 16019 static TParseTree JSXContent(TParseTree p) 16020 { 16021 if(__ctfe) 16022 { 16023 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing), pegged.peg.wrapAround!(Spacing, JSXContentText, Spacing)), Spacing)), "ES6.JSXContent")(p); 16024 } 16025 else 16026 { 16027 if(auto m = tuple(`JSXContent`,p.end) in memo) 16028 return *m; 16029 else 16030 { 16031 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing), pegged.peg.wrapAround!(Spacing, JSXContentText, Spacing)), Spacing)), "ES6.JSXContent"), "JSXContent")(p); 16032 memo[tuple(`JSXContent`,p.end)] = result; 16033 return result; 16034 } 16035 } 16036 } 16037 16038 static TParseTree JSXContent(string s) 16039 { 16040 if(__ctfe) 16041 { 16042 return pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing), pegged.peg.wrapAround!(Spacing, JSXContentText, Spacing)), Spacing)), "ES6.JSXContent")(TParseTree("", false,[], s)); 16043 } 16044 else 16045 { 16046 memo = null; 16047 return hooked!(pegged.peg.defined!(pegged.peg.zeroOrMore!(pegged.peg.wrapAround!(Spacing, pegged.peg.or!(pegged.peg.wrapAround!(Spacing, JSXElement, Spacing), pegged.peg.wrapAround!(Spacing, JSXCodeBlock, Spacing), pegged.peg.wrapAround!(Spacing, JSXContentText, Spacing)), Spacing)), "ES6.JSXContent"), "JSXContent")(TParseTree("", false,[], s)); 16048 } 16049 } 16050 static string JSXContent(GetName g) 16051 { 16052 return "ES6.JSXContent"; 16053 } 16054 16055 static TParseTree JSXContentText(TParseTree p) 16056 { 16057 if(__ctfe) 16058 { 16059 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("</")), SourceCharacter))), "ES6.JSXContentText")(p); 16060 } 16061 else 16062 { 16063 if(auto m = tuple(`JSXContentText`,p.end) in memo) 16064 return *m; 16065 else 16066 { 16067 TParseTree result = hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("</")), SourceCharacter))), "ES6.JSXContentText"), "JSXContentText")(p); 16068 memo[tuple(`JSXContentText`,p.end)] = result; 16069 return result; 16070 } 16071 } 16072 } 16073 16074 static TParseTree JSXContentText(string s) 16075 { 16076 if(__ctfe) 16077 { 16078 return pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("</")), SourceCharacter))), "ES6.JSXContentText")(TParseTree("", false,[], s)); 16079 } 16080 else 16081 { 16082 memo = null; 16083 return hooked!(pegged.peg.defined!(pegged.peg.fuse!(pegged.peg.zeroOrMore!(pegged.peg.and!(pegged.peg.negLookahead!(pegged.peg.literal!("</")), SourceCharacter))), "ES6.JSXContentText"), "JSXContentText")(TParseTree("", false,[], s)); 16084 } 16085 } 16086 static string JSXContentText(GetName g) 16087 { 16088 return "ES6.JSXContentText"; 16089 } 16090 16091 static TParseTree opCall(TParseTree p) 16092 { 16093 TParseTree result = decimateTree(Module(p)); 16094 result.children = [result]; 16095 result.name = "ES6"; 16096 return result; 16097 } 16098 16099 static TParseTree opCall(string input) 16100 { 16101 if(__ctfe) 16102 { 16103 return ES6(TParseTree(``, false, [], input, 0, 0)); 16104 } 16105 else 16106 { 16107 memo = null; 16108 return ES6(TParseTree(``, false, [], input, 0, 0)); 16109 } 16110 } 16111 static string opCall(GetName g) 16112 { 16113 return "ES6"; 16114 } 16115 16116 } 16117 } 16118 16119 alias GenericES6!(ParseTree).ES6 ES6; 16120