Без заголовка
Я тоже синтаксис и семантику примерно так различаю. В классическом компиляторостроении собственно оно так и есть: лексика, синтаксис, семантика. Т.е. смысл в том, чтобы оперировать понятиями покомпактнее, а для этого есть система фильтров: на этапе лексического анализа абстрагируются от буковочек/циферок, на этапе синтаксического - от скобочек и запятых.
А с другой стороны, то что для компилятора - синтаксический мусор, для человека имеет семантическое значение - комментарии к примеру. А в последнее время, комментарии не пустой звук и для различного рода тулзов, от Javadoc'а до design-by-contact и верификационных тулзов.