Skip to content

Commit

Permalink
Fixed ternary expressions again
Browse files Browse the repository at this point in the history
  • Loading branch information
kizeevov committed Mar 22, 2024
1 parent bf10e62 commit 59daf69
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

## [Unreleased]

### Fixed

- Fixed ternary expressions again

## [1.0.1] - 2024-03-20

### Attention
Expand Down
11 changes: 8 additions & 3 deletions src/main/grammars/SlintParser.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -378,9 +378,9 @@ private ArrayAnonymousStruct ::= '[' AnonymousStructDeclaration? (',' (Anonymous
/////////////////////////////////////////////////////////////////////////////////////////////////////
Expression ::=
AssignmentExpression
| TernaryExpression
| BinaryExpression
| UnaryExpression
| TernaryExpression
| CallBuiltinExpression
| CallExpression
| PropertyExpression
Expand Down Expand Up @@ -431,15 +431,20 @@ UnaryOperators ::=
AssignmentExpression ::= PropertyExpression EQ Expression { pin=3 }
BinaryExpression ::= Expression Operators Expression { pin=3 }
UnaryExpression ::= UnaryOperators Expression { pin=1 }
TernaryExpression ::= Expression '?' Expression ':' Expression { pin=4 }
CallExpression ::= PropertyExpression CallArgumentList { pin=1 }
CallBuiltinExpression ::= BuiltinFunctions
ParenthesizedExpression ::= '(' Expression ')' { pin=3 }
ArrayExpression ::= PropertyExpression '[' Expression ']'
ArrayAnonymousStructExpression ::= ArrayAnonymousStruct
AnonymousStructExpression ::= AnonymousStructDeclaration
ArrayValExpression ::= '[' Expression? (',' (Expression | &']'))* ']'

ParenthesizedExpression ::= '(' ParenthesizedExpressionEnd { pin=1 }
private ParenthesizedExpressionEnd ::= Expression ')'

TernaryExpression ::= Expression '?' TernaryExpressionThen { pin=2 }
private TernaryExpressionThen ::= Expression ':' TernaryExpressionElse
private TernaryExpressionElse ::= Expression

PropertyExpression ::= IDENTIFIER | PROPERTY_IDENTIFIER
LiteralExpression ::=
LengthLiteral
Expand Down

0 comments on commit 59daf69

Please sign in to comment.