visitMatrix method
Implementation
@override
String visitMatrix(MatrixNode node) {
final rows = node.rows.length;
final cols = node.rows.isNotEmpty ? node.rows.first.length : 0;
final bracket = switch (node.type) {
MatrixType.paren => "parenthesized ",
MatrixType.bracket => "bracketed ",
MatrixType.brace => "braced ",
MatrixType.vbar => "determinant ",
MatrixType.doubleVbar => "norm ",
_ => "",
};
final bodyParts = <String>[];
for (int i = 0; i < node.rows.length; i++) {
final rowStr = node.rows[i].map((it) => visit(it)).join(", ");
bodyParts.add("row ${i + 1}: $rowStr");
}
final body = bodyParts.join("; ");
return "$bracket$rows by $cols matrix: $body";
}