Не поддерживаются сложные выражения. Т.е. чтобы записать d := a+b-c нужно делать промежуточную переменную и записывать как u := b-c; d:= a+b;

Тут у вас ошибка.

Должно быть: d:= a+u;