Statement
LetStatementlet1Identifier:Type23=Expression;
MutStatementmut1Identifier:Type23=Expression;
DeclareStatementdeclare1Identifier=Type2;
ReturnStatementreturn1Expression;
ReturnExpressionStatement
Expression
AssignmentExpression
BlockExpression{Statement}
ExpressionInfixOperator5Expression+|-|*|/|%|==|!=|>|<|>=|<=
PrefixOperator5Expression!|-
IfExpression
ElseClauseelse1BlockExpressionelse1IfExpression
CallExpressionExpression(Arguments6)
IndexExpressionExpression[Expression]
TypeofExpressiontypeof1Expression
Literal
Identifiera-zA-Z0-9_
NumberLiteral0-9.
StringLiteral"string"
BooleanLiteraltrue|false
ArrayLiteral[Expression6]
fn1Generics3(FunctionParameters6)->ReturnType2FunctionBlock
FunctionBlock->Expression;{Statements6}
StructLiteralstruct1StructName4{StructLiteralFields6}
StructLiteralFieldFieldName4:FieldValue
PrimitiveTypenumber|string|boolean|void
SequenceType
ArrayType
UserDefinedType
StructType(StructStatement)structIdentifier4Generics3{StructFields6}
//Comment
/*Comment*/
n |
Priority | Operators |
|---|---|---|
1 |
Lowest |
|
2 |
Dot |
. -> |
3 |
Equals |
= == != |
4 |
LessGreater |
< > <= >= |
5 |
Sum |
+ - |
6 |
Product |
* / |
7 |
Prefix |
! - |
8 |
Call |
( ) |
9 |
Index |
[ ] |