Change array syntax from [T; N] to array(T, N) (#4981)

In line with the proposal in #4682, this changes the array syntax to be
array(T, N). `array` is a builtin keyword which must be followed by
parens containing two expressions and a separating comma.

The array type expression is still fully builtin, it does not forward to
a Core.Array library type yet. It merely adds the `ArrayType`
instruction, as was done with the previous syntax.

Followup work will change the instruction to reference to Core.Array,
once the library type exists and can be used directly.

---------

Co-authored-by: zygoloid <richard@metafoo.co.uk>
This commit is contained in:
Dana Jansens
2025-02-20 22:42:47 +00:00
committed by GitHub
co-authored by zygoloid
parent fc7b0016ce
commit 24bde46181
125 changed files with 1912 additions and 1889 deletions
+1 -1
View File
@@ -149,7 +149,7 @@ auto HandleExprInPostfix(Context& context) -> void {
context.PushState(State::ParenExpr);
break;
}
case Lex::TokenKind::OpenSquareBracket: {
case Lex::TokenKind::Array: {
context.PushState(state);
context.PushState(State::ArrayExpr);
break;