s4g  0.9.2
высокоуровневый, императивный, процедурный, встраиваемый, скриптовый язык программирования общего назначения, написанный на C++.
Оптимизатор кода

Оптимизатор выполняет оптимизацию построенного AST для ускорения работы кода.

В настоящий момент выполняются следующие оптимизации:

  • Предрассчет константных выражений
  • Поверка используемости переменных. Если переменная создается, но после нигде не используется - ее можно не создавать
  • Проверка на создание новых переменных в блоке. Если в блоке не создаются новые переменные, то блоку не нужен отдельный контекст
  • Проверка выражений на полезность. Если вычисление выражение не изменяет состояние программы, его можно не вычислять
  • Удаление пустых блоков
  • Удаление пустых циклов FOR, которые не несут полезной нагрузки
  • Проверка статичности переходов IF, если условие ложно или истинно всегда, лишняя ветвь удаляется с предупреждением о недостижимости кода