Перейти к содержанию

Синтаксис, семантика, ошибки и комментарии

В прошлой статье мы разобрались с базовым объявлением новых акторов — объектов мира.

Перед тем, как идти дальше, необходимо упомянуть о понятиях синтаксиса и семантики, а также о комментариях, самой важной возможности в любом языке программирования.

Синтаксис и семантика кода

Часто эти два понятия употребляются рядом.

  • Синтаксис — это формальные правила записи кода; то, как он должен выглядеть, чтобы компьютер в нём разобрался.
  • Семантика — это переданный смысл, то есть то, как его на самом деле воспринимает человек и что в результате по нему делает компьютер.

Напомним, что итоговый код из предыдущей статьи выглядел примерно так:

class ImpulseFloorLamp: Actor replaces Zombieman {
    Default {
        +SOLID;
        +BRIGHT;
        Radius 8;
        Height 48;
    }

    States {
    Spawn:
        TLP2 A 30;
        TLP2 BCD 4;
        Loop;
    }
}

Синтаксис

В коде выше слова вроде States, class, числа, а также символы по типу { } и ; стоят в строго заданных местах друг относительно друга. Эти позиции определяются жёсткими формальными правилами записи, по которым строится язык программирования. Это — синтаксис.

Ошибка (или "баг") в правилах записи называется синтаксической ошибкой. Такие ошибки движок без труда определяет и, так как в этом месте возникает критическая неясность, просто отказывается запускаться вместе с проектом. Он просто не может распознать, что в этом месте от него требуется.

Синтаксические ошибки

Список ошибок такого типа, а также общие рекомендации по их разрешению, можно посмотреть в статье "Список ошибок компилятора".

Семантика

Вместе с тем, в коде выше намётанному глазу также сразу видны:

  1. Объявление нового актора и замена им другого;
  2. Логический блок свойств сверху, определяющей непроходимую декорацию;
  3. Блок стейтов, показывающий простую зацикленную анимацию.

Да, записывается это всё синтаксическими конструкциями, но передают смысл. Это — семантика.

Ошибка (баг) в логике называется семантической ошибкой. Они несравнимо сложнее для автоматического отлова, движок только в самых очевидных случаях может определить некорректность написанного. Зачастую такие ошибки проявляются непосредственно во время игры, а не при запуске проекта; иногда поначалу даже неясно, при каких условиях так или иная ошибка появилась.

Семантические ошибки


Процесс избавления от ошибок называется отладкой (дебагом). Зачастую, чем запутаннее код, тем сложнее в нём будет найти внезапно появившийся баг, и, соответственно, тем дольше впоследствии придётся заниматься отладкой.

Поддерживать порядок в коде и отлаживать подозрительные места помогут комментарии.

Комментарии

TODO

Комментарии в стиле C. Пока что они есть в разделе 3.


Теперь можно двигаться вперёд, к стейтам и созданию простого актора-противника!