Когда видишь ошибку вроде
unexpected token, сложно с ходу понять на что именно ругается компилятор. На самом деле токен — это просто кусок кода, который программа уже распознала: число, имя переменной, оператор, скобка, ключевое слово.Поэтому пора познакомиться с лексерами. Лексер — это этап, где строка кода сначала режется на токены, а уже потом парсер пытается понять структуру выражения. То есть интерпретатор не читает код как человек, он сначала превращает текст в более удобный набор деталей.
Подробнее в разборе.