package ast import ( "bytes" "strings" "code.jmug.me/jmug/interpreter-in-go/pkg/token" ) type ArrayLiteral struct { Token token.Token // The '[' token Elements []Expression } func (al *ArrayLiteral) expressionNode() {} func (al *ArrayLiteral) TokenLiteral() string { return al.Token.Literal } func (al *ArrayLiteral) String() string { var out bytes.Buffer elements := []string{} for _, el := range al.Elements { elements = append(elements, el.String()) } out.WriteString("[") out.WriteString(strings.Join(elements, ", ")) out.WriteString("]") return out.String() }