Implemented assert keyword

This commit is contained in:
Eduard Urbach 2024-07-25 16:47:25 +02:00
parent f0a1b97f2d
commit e4f041be41
Signed by: eduard
GPG key ID: 49226B848C78F6C8
14 changed files with 81 additions and 1 deletions

View file

@ -35,6 +35,15 @@ func toASTNode(tokens token.List, buffer []byte) (Node, error) {
return &Return{Value: value}, nil
}
if tokens[0].Kind == token.Assert {
if len(tokens) == 1 {
return nil, errors.New(errors.MissingExpression, nil, tokens[0].End())
}
condition := expression.Parse(tokens[1:])
return &Assert{Condition: condition}, nil
}
if keywordHasBlock(tokens[0].Kind) {
blockStart := tokens.IndexKind(token.BlockStart)
blockEnd := tokens.LastIndexKind(token.BlockEnd)