Краткая характеристика предметно-ориентированных языков, различия между "внутренними" и "внешними" DSL. Особенности работы транслятора (компилятора). Листинг программы для разработки простейшего калькулятора с использованием программной среды Java.
Создание калькулятора Цель работы: Создать простейший калькулятор, используя Java. Более подробную информацию о DSL можно найти в еще неопубликованной книге Мартина Фаулера (Martin Fowler). Другими словами, в конечном итоге язык должен позволять клиентам создавать и вычислять выражения аналогично тому, как показано в листинге 1. листинг программа калькулятор // использование интерпретатора DSL в Java String s = ((5 * 10) 7); double result = com.tedneward.calcdsl.Calculator.evaluate(s); System.out.println(We got result); // Should be 57 Те из вас, кто обладает базовым представлением о теории компиляторов, знают, что работа транслятора (компилятора или интерпретатора) состоит как минимум из двух основных шагов: · парсер обрабатывает текст программы и трансформирует его в абстрактное синтаксическое дерево (AST); · генератор кода (в случае компилятора) обрабатывает AST и генерирует машинный код, либо блок вычислений (в случае интерпретатора) исполняет команды, содержащиеся в AST.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы