Created
March 17, 2025 13:03
-
-
Save NateSeymour/eec7c43231740451ce54d48c8bbd1b2f to your computer and use it in GitHub Desktop.
Buffalo Sample Shift-Reduce Conflict Message
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Grammar contains an irreconcilable shift-reduce conflict when deciding to reduce YieldExpression or shift "yield". | |
| Shift-reduce conflicts can be solved by: | |
| 1. Refactoring your grammar. | |
| 2. Adding precedence to your terminals. | |
| 3. Adding Associativity to your terminals. | |
| The conflict arose in the following state with the following closure: | |
| YieldExpression -> "yield" . | |
| YieldExpression -> "yield" . AssignmentExpression | |
| YieldExpression -> "yield" . "\*" AssignmentExpression | |
| AssignmentExpression -> . ConditionalExpression | |
| AssignmentExpression -> . YieldExpression | |
| AssignmentExpression -> . ArrowFunction | |
| AssignmentExpression -> . AsyncArrowFunction | |
| AssignmentExpression -> . LeftHandSideExpression "=" AssignmentExpression | |
| ConditionalExpression -> . ShortCircuitExpression | |
| ConditionalExpression -> . ShortCircuitExpression "\?" AssignmentExpression ":" AssignmentExpression | |
| YieldExpression -> . "yield" | |
| YieldExpression -> . "yield" AssignmentExpression | |
| YieldExpression -> . "yield" "\*" AssignmentExpression | |
| ArrowFunction -> . ArrowParameters "=\>" ConciseBody | |
| AsyncArrowFunction -> . "async" Identifier "=\>" AsyncConciseBody | |
| AsyncArrowFunction -> . CoverCallExpressionAndAsyncArrowHead "=\>" AsyncConciseBody | |
| LeftHandSideExpression -> . NewExpression | |
| LeftHandSideExpression -> . CallExpression | |
| LeftHandSideExpression -> . OptionalExpression | |
| ShortCircuitExpression -> . LogicalORExpression | |
| ShortCircuitExpression -> . CoalesceExpression | |
| ArrowParameters -> . Identifier | |
| ArrowParameters -> . CoverParenthesizedExpressionAndArrowParameterList | |
| CoverCallExpressionAndAsyncArrowHead -> . MemberExpression Arguments | |
| NewExpression -> . MemberExpression | |
| NewExpression -> . "new" NewExpression | |
| CallExpression -> . CoverCallExpressionAndAsyncArrowHead | |
| CallExpression -> . SuperCall | |
| CallExpression -> . ImportCall | |
| CallExpression -> . CallExpression Arguments | |
| CallExpression -> . CallExpression "\[" Expression "\]" | |
| CallExpression -> . CallExpression "\." Identifier | |
| CallExpression -> . CallExpression TemplateLiteral | |
| OptionalExpression -> . MemberExpression OptionalChain | |
| OptionalExpression -> . CallExpression OptionalChain | |
| OptionalExpression -> . OptionalExpression OptionalChain | |
| LogicalORExpression -> . LogicalANDExpression | |
| LogicalORExpression -> . LogicalORExpression "\|\|" LogicalANDExpression | |
| CoalesceExpression -> . CoalesceExpressionHead "\?{2}" BitwiseORExpression | |
| Identifier -> . "[a-zA-Z\d]+" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\.{3}" Identifier "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\.{3}" BindingPattern "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\.{3}" Identifier "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\.{3}" BindingPattern "\)" | |
| MemberExpression -> . PrimaryExpression | |
| MemberExpression -> . MemberExpression "\[" Expression "\]" | |
| MemberExpression -> . MemberExpression "\." Identifier | |
| MemberExpression -> . MemberExpression TemplateLiteral | |
| MemberExpression -> . SuperProperty | |
| MemberExpression -> . MetaProperty | |
| MemberExpression -> . "new" MemberExpression Arguments | |
| SuperCall -> . "super" Arguments | |
| ImportCall -> . "import" "\(" AssignmentExpression "\)" | |
| LogicalANDExpression -> . BitwiseORExpression | |
| LogicalANDExpression -> . LogicalANDExpression "&&" BitwiseORExpression | |
| CoalesceExpressionHead -> . CoalesceExpression | |
| CoalesceExpressionHead -> . BitwiseORExpression | |
| PrimaryExpression -> . "this" | |
| PrimaryExpression -> . Identifier | |
| PrimaryExpression -> . ArrayLiteral | |
| PrimaryExpression -> . ObjectLiteral | |
| PrimaryExpression -> . FunctionExpression | |
| PrimaryExpression -> . ClassExpression | |
| PrimaryExpression -> . GeneratorExpression | |
| PrimaryExpression -> . AsyncFunctionExpression | |
| PrimaryExpression -> . AsyncGeneratorExpression | |
| PrimaryExpression -> . CoverParenthesizedExpressionAndArrowParameterList | |
| SuperProperty -> . "super" "\[" Expression "\]" | |
| SuperProperty -> . "super" "\." Identifier | |
| MetaProperty -> . NewTarget | |
| MetaProperty -> . ImportMeta | |
| BitwiseORExpression -> . BitwiseXORExpression | |
| BitwiseORExpression -> . BitwiseORExpression "\|" BitwiseXORExpression | |
| ArrayLiteral -> . "\[" "\]" | |
| ObjectLiteral -> . "\{" "\}" | |
| FunctionExpression -> . "function" Identifier "\(" "\)" "\{" FunctionBody "\}" | |
| FunctionExpression -> . "function" Identifier "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| ClassExpression -> . "class" Identifier ClassTail | |
| ClassExpression -> . "class" ClassTail | |
| GeneratorExpression -> . "function" "\*" "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| GeneratorExpression -> . "function" "\*" Identifier "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| AsyncFunctionExpression -> . "async" "function" "\(" FormalParameters "\)" "\{" AsyncFunctionBody "\}" | |
| AsyncFunctionExpression -> . "async" "function" Identifier "\(" FormalParameters "\)" "\{" AsyncFunctionBody "\}" | |
| AsyncGeneratorExpression -> . "async" "function" "\*" "\(" FormalParameters "\)" "\{" AsyncGeneratorBody "\}" | |
| AsyncGeneratorExpression -> . "async" "function" "\*" Identifier "\(" FormalParameters "\)" "\{" AsyncGeneratorBody "\}" | |
| NewTarget -> . "new" "\." "target" | |
| ImportMeta -> . "import" "\." "meta" | |
| BitwiseXORExpression -> . BitwiseANDExpression | |
| BitwiseXORExpression -> . BitwiseXORExpression "\^" BitwiseANDExpression | |
| BitwiseANDExpression -> . EqualityExpression | |
| BitwiseANDExpression -> . BitwiseANDExpression "&" EqualityExpression | |
| EqualityExpression -> . RelationalExpression | |
| EqualityExpression -> . EqualityExpression "==" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "!=" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "===" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "!==" RelationalExpression | |
| RelationalExpression -> . ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\<" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\>" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\<=" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\>=" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "instanceof" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "in" ShiftExpression | |
| RelationalExpression -> . PrivateIdentifier "in" ShiftExpression | |
| ShiftExpression -> . AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\<\<" AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\>\>" AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\>\>\>" AdditiveExpression | |
| PrivateIdentifier -> . "#" Identifier | |
| AdditiveExpression -> . MultiplicativeExpression | |
| AdditiveExpression -> . AdditiveExpression "\+" MultiplicativeExpression | |
| AdditiveExpression -> . AdditiveExpression "\-" MultiplicativeExpression | |
| MultiplicativeExpression -> . ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "\*" ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "\/" ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "%" ExponentiationExpression | |
| ExponentiationExpression -> . UnaryExpression | |
| ExponentiationExpression -> . UpdateExpression "\*{2}" ExponentiationExpression | |
| UnaryExpression -> . UpdateExpression | |
| UnaryExpression -> . "delete" UpdateExpression | |
| UnaryExpression -> . "void" UpdateExpression | |
| UnaryExpression -> . "typeof" UpdateExpression | |
| UnaryExpression -> . "\+" UpdateExpression | |
| UnaryExpression -> . "\-" UpdateExpression | |
| UnaryExpression -> . "~" UpdateExpression | |
| UnaryExpression -> . "!" UpdateExpression | |
| UnaryExpression -> . AwaitExpression | |
| UpdateExpression -> . LeftHandSideExpression | |
| UpdateExpression -> . LeftHandSideExpression "\+\+" | |
| UpdateExpression -> . LeftHandSideExpression "\-\-" | |
| UpdateExpression -> . "\+\+" UnaryExpression | |
| UpdateExpression -> . "\-\-" UnaryExpression | |
| AwaitExpression -> . "await" UnaryExpression | |
| When deciding to reduce the following rule: | |
| YieldExpression -> "yield" | |
| Or shift "yield" to the following state: | |
| YieldExpression -> "yield" . | |
| YieldExpression -> "yield" . AssignmentExpression | |
| YieldExpression -> "yield" . "\*" AssignmentExpression | |
| AssignmentExpression -> . ConditionalExpression | |
| AssignmentExpression -> . YieldExpression | |
| AssignmentExpression -> . ArrowFunction | |
| AssignmentExpression -> . AsyncArrowFunction | |
| AssignmentExpression -> . LeftHandSideExpression "=" AssignmentExpression | |
| ConditionalExpression -> . ShortCircuitExpression | |
| ConditionalExpression -> . ShortCircuitExpression "\?" AssignmentExpression ":" AssignmentExpression | |
| YieldExpression -> . "yield" | |
| YieldExpression -> . "yield" AssignmentExpression | |
| YieldExpression -> . "yield" "\*" AssignmentExpression | |
| ArrowFunction -> . ArrowParameters "=\>" ConciseBody | |
| AsyncArrowFunction -> . "async" Identifier "=\>" AsyncConciseBody | |
| AsyncArrowFunction -> . CoverCallExpressionAndAsyncArrowHead "=\>" AsyncConciseBody | |
| LeftHandSideExpression -> . NewExpression | |
| LeftHandSideExpression -> . CallExpression | |
| LeftHandSideExpression -> . OptionalExpression | |
| ShortCircuitExpression -> . LogicalORExpression | |
| ShortCircuitExpression -> . CoalesceExpression | |
| ArrowParameters -> . Identifier | |
| ArrowParameters -> . CoverParenthesizedExpressionAndArrowParameterList | |
| CoverCallExpressionAndAsyncArrowHead -> . MemberExpression Arguments | |
| NewExpression -> . MemberExpression | |
| NewExpression -> . "new" NewExpression | |
| CallExpression -> . CoverCallExpressionAndAsyncArrowHead | |
| CallExpression -> . SuperCall | |
| CallExpression -> . ImportCall | |
| CallExpression -> . CallExpression Arguments | |
| CallExpression -> . CallExpression "\[" Expression "\]" | |
| CallExpression -> . CallExpression "\." Identifier | |
| CallExpression -> . CallExpression TemplateLiteral | |
| OptionalExpression -> . MemberExpression OptionalChain | |
| OptionalExpression -> . CallExpression OptionalChain | |
| OptionalExpression -> . OptionalExpression OptionalChain | |
| LogicalORExpression -> . LogicalANDExpression | |
| LogicalORExpression -> . LogicalORExpression "\|\|" LogicalANDExpression | |
| CoalesceExpression -> . CoalesceExpressionHead "\?{2}" BitwiseORExpression | |
| Identifier -> . "[a-zA-Z\d]+" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\.{3}" Identifier "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" "\.{3}" BindingPattern "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\.{3}" Identifier "\)" | |
| CoverParenthesizedExpressionAndArrowParameterList -> . "\(" Expression "," "\.{3}" BindingPattern "\)" | |
| MemberExpression -> . PrimaryExpression | |
| MemberExpression -> . MemberExpression "\[" Expression "\]" | |
| MemberExpression -> . MemberExpression "\." Identifier | |
| MemberExpression -> . MemberExpression TemplateLiteral | |
| MemberExpression -> . SuperProperty | |
| MemberExpression -> . MetaProperty | |
| MemberExpression -> . "new" MemberExpression Arguments | |
| SuperCall -> . "super" Arguments | |
| ImportCall -> . "import" "\(" AssignmentExpression "\)" | |
| LogicalANDExpression -> . BitwiseORExpression | |
| LogicalANDExpression -> . LogicalANDExpression "&&" BitwiseORExpression | |
| CoalesceExpressionHead -> . CoalesceExpression | |
| CoalesceExpressionHead -> . BitwiseORExpression | |
| PrimaryExpression -> . "this" | |
| PrimaryExpression -> . Identifier | |
| PrimaryExpression -> . ArrayLiteral | |
| PrimaryExpression -> . ObjectLiteral | |
| PrimaryExpression -> . FunctionExpression | |
| PrimaryExpression -> . ClassExpression | |
| PrimaryExpression -> . GeneratorExpression | |
| PrimaryExpression -> . AsyncFunctionExpression | |
| PrimaryExpression -> . AsyncGeneratorExpression | |
| PrimaryExpression -> . CoverParenthesizedExpressionAndArrowParameterList | |
| SuperProperty -> . "super" "\[" Expression "\]" | |
| SuperProperty -> . "super" "\." Identifier | |
| MetaProperty -> . NewTarget | |
| MetaProperty -> . ImportMeta | |
| BitwiseORExpression -> . BitwiseXORExpression | |
| BitwiseORExpression -> . BitwiseORExpression "\|" BitwiseXORExpression | |
| ArrayLiteral -> . "\[" "\]" | |
| ObjectLiteral -> . "\{" "\}" | |
| FunctionExpression -> . "function" Identifier "\(" "\)" "\{" FunctionBody "\}" | |
| FunctionExpression -> . "function" Identifier "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| ClassExpression -> . "class" Identifier ClassTail | |
| ClassExpression -> . "class" ClassTail | |
| GeneratorExpression -> . "function" "\*" "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| GeneratorExpression -> . "function" "\*" Identifier "\(" FormalParameters "\)" "\{" FunctionBody "\}" | |
| AsyncFunctionExpression -> . "async" "function" "\(" FormalParameters "\)" "\{" AsyncFunctionBody "\}" | |
| AsyncFunctionExpression -> . "async" "function" Identifier "\(" FormalParameters "\)" "\{" AsyncFunctionBody "\}" | |
| AsyncGeneratorExpression -> . "async" "function" "\*" "\(" FormalParameters "\)" "\{" AsyncGeneratorBody "\}" | |
| AsyncGeneratorExpression -> . "async" "function" "\*" Identifier "\(" FormalParameters "\)" "\{" AsyncGeneratorBody "\}" | |
| NewTarget -> . "new" "\." "target" | |
| ImportMeta -> . "import" "\." "meta" | |
| BitwiseXORExpression -> . BitwiseANDExpression | |
| BitwiseXORExpression -> . BitwiseXORExpression "\^" BitwiseANDExpression | |
| BitwiseANDExpression -> . EqualityExpression | |
| BitwiseANDExpression -> . BitwiseANDExpression "&" EqualityExpression | |
| EqualityExpression -> . RelationalExpression | |
| EqualityExpression -> . EqualityExpression "==" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "!=" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "===" RelationalExpression | |
| EqualityExpression -> . EqualityExpression "!==" RelationalExpression | |
| RelationalExpression -> . ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\<" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\>" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\<=" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "\>=" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "instanceof" ShiftExpression | |
| RelationalExpression -> . RelationalExpression "in" ShiftExpression | |
| RelationalExpression -> . PrivateIdentifier "in" ShiftExpression | |
| ShiftExpression -> . AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\<\<" AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\>\>" AdditiveExpression | |
| ShiftExpression -> . ShiftExpression "\>\>\>" AdditiveExpression | |
| PrivateIdentifier -> . "#" Identifier | |
| AdditiveExpression -> . MultiplicativeExpression | |
| AdditiveExpression -> . AdditiveExpression "\+" MultiplicativeExpression | |
| AdditiveExpression -> . AdditiveExpression "\-" MultiplicativeExpression | |
| MultiplicativeExpression -> . ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "\*" ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "\/" ExponentiationExpression | |
| MultiplicativeExpression -> . MultiplicativeExpression "%" ExponentiationExpression | |
| ExponentiationExpression -> . UnaryExpression | |
| ExponentiationExpression -> . UpdateExpression "\*{2}" ExponentiationExpression | |
| UnaryExpression -> . UpdateExpression | |
| UnaryExpression -> . "delete" UpdateExpression | |
| UnaryExpression -> . "void" UpdateExpression | |
| UnaryExpression -> . "typeof" UpdateExpression | |
| UnaryExpression -> . "\+" UpdateExpression | |
| UnaryExpression -> . "\-" UpdateExpression | |
| UnaryExpression -> . "~" UpdateExpression | |
| UnaryExpression -> . "!" UpdateExpression | |
| UnaryExpression -> . AwaitExpression | |
| UpdateExpression -> . LeftHandSideExpression | |
| UpdateExpression -> . LeftHandSideExpression "\+\+" | |
| UpdateExpression -> . LeftHandSideExpression "\-\-" | |
| UpdateExpression -> . "\+\+" UnaryExpression | |
| UpdateExpression -> . "\-\-" UnaryExpression | |
| AwaitExpression -> . "await" UnaryExpression |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment