Наши проекты

Оптимизация в языках программирования


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

С последнего 14-го урока в предыдущей серии, язык OwnLang заметно улучшился, поэтому для начала я предлагаю ознакомиться с изменениями.


Все оптимизации делаются после парсинга, в момент, когда у нас уже сформировано дерево AST. Дальше нам поможет Visitor, с его помощью удобно обходить дерево и заменять узлы.
OptimizationVisitor - базовый класс, который может заменить один узел (Statement или Expression) на другой, ...
Продолжить

Рейтинг:  6  (Против: 0 | За: 6)
Добавил: aNNiMON

Комментарии (3)

Создание плагина для NetBeans IDE


В конце мая попросили записать видеоуроки по созданию NetBeans плагина для своего языка программирования. Выполняю эту просьбу :)
Немного изменил подход к записи уроков, теперь они более компактные, к тому же содержат субтитры. Но время на создание одного урока увеличилось, так что новые видео будут появляться примерно раз в неделю.

Репозиторий проекта: https://github.com/annimon-tutorials/NetBeans-Plugin-Tutorial
Плейлист на YouTube: https://www.youtube.com/playli...Zk5-A3o96P6umMCYFieV

#1. Установка среды
#2. Регистрация типа файла
[spoiler=#3. ...
Продолжить

Рейтинг:  7  (Против: 0 | За: 7)
Добавил: aNNiMON

Комментарии (6)

Плагин javac или добавляем Extension Methods в Java


Screenshot from 2017-03-22 21-32-47.png
В Java 8 появилась возможность писать плагины к компилятору javac. С их помощью можно получать управление на нужном этапе компиляции и производить дополнительные проверки или изменения. Каждый плагин имеет название и может принимать аргументы для настройки своей работы.

Если сравнивать с процессорами аннотаций, то плагины к компилятору более гибкие и простые в использовании. Они не вызывают перекомпиляцию, если был сгенерирован какой-то класс, получить управление можно практически на любом этапе компиляции, вплоть до кодогенерации.


Настройка
Для реализации плагина нужно добавить в зависимости tools.jar, который находится в составе JDK.
  1. dependencies
...
Продолжить

Рейтинг:  4  (Против: 0 | За: 4)
Добавил: aNNiMON

Комментарии (3)
Всего: 33
1 2 3 ... 7 >>
Категории

Пожертвования

Аноним2800 р.
Freddy1700 р.
NaruTrey800 р.
vlavolk637 р.
riseremi500 р.
  © aNNiMON (Melnik Software)
 
Яндекс.Метрика