Reading compiler errors
You will learn
How to read the line and column of an error, using four real mistakes.
A parse error says where the parser was, near which line, and the token it did not expect, with a line and a column. A type error names the constant and why its value does not fit. Read the position first, then look one token to the left: the mistake is often just before the place the parser stopped. The table shows what the compiler on this site answered for four small mistakes.
Try it
Make each of the four mistakes in the player and match the line and column with the table.

Four small mistakes in a t27 spec and the exact message the real compiler printed for each. Lesson 25 of the t27 basics course.
specs/basics/25_reading_errors.t27
// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 25: Reading compiler errors.
; An error names a stage, a line and a column, and what the compiler expected.
module basics_25_reading_errors;
pub const MISTAKES_SHOWN : u8 = 4;
test four_mistakes {
assert MISTAKES_SHOWN == 4;
}
All lessons
Module 1 · A spec file
What a .t27 file holds: a module line, prose lines and comments.
Module 2 · Values and types
Constants, the width of a whole number, and true, false and text.
Module 3 · Arrays, trits and expressions
Lists of values, the three values of a trit, and what operators compute.
Module 4 · Tests and functions
A test block, several small tests in one spec, and a function with typed inputs.
Module 5 · Inside a function
Names with let and var, choices with if and switch, and loops.
Module 6 · Visibility and your own types
What pub shares with other modules, and the structs and enums you declare.
Module 7 · Modules, rules and gen-ts
Reading another module, stating a rule that always holds, and a spec turned into TypeScript.
Module 8 · The compiler and tri
The backends t27c writes, the stages it reads a spec in, and the tri command.
Module 9 · Errors, a program, what next
Reading a compiler error, one small complete program, and the course to take next.