Реализация языков программирования
Реализация языков программирования
правитьавторский коллектив: https://t.me/CompilerDev
Для первого знакомства с реализацией языков программирования рассмотрим самый простой язык, построенный на основе интерпретации структур данных (EDS), и предназначенный для встраивания в существующие программы в качестве скриптового движка. Внутренняя модель и семантика языка metaL похожа на язык Форт, переделанный под парадигму объектно-ориентированного программирования.
- сайт языка Picat
- CISC 3160 Programming Languages (c) Prof. Neng-Fa Zhou
- Constraint Solving and Planning with Picat
Picat -- это простой и в то же время мощный логический язык программирования общего назначения, поддерживающий одновременно несколько парадигм программирования. Picat -- это язык на основе правил, в котором предикаты, функции и акторы определяются с помощью правил сопоставления с образцом. Picat, в отличие от родственного ему языка Prolog, включает в себя множество конструкций декларативного языка для повышения продуктивности разработки программного обеспечения, в том числе явный недетерминизм, явную унификацию, функции, генерацию списков, программирование в ограничениях и мемефикацию уже вычисленных значений. Picat также предоставляет обязательные для императивных языков присваивания и циклы, для программирования повседневных вещей. Реализация Picat, основанная на хорошо спроектированной виртуальной машине, включает диспетчер памяти со сборкой мусора, который расширяет стеки и области данных, когда это необходимо, и является эффективным и масштабируемым. Picat можно использовать не только для символьных вычислений, которые являются традиционной областью применения декларативных логических языков, но также для написания скриптов и решения задач моделирования.