Как создать язык программирования?

3 ноября 2014 г. Просмотров: 700
Из тысяч языков программирования, существующих сегодня, только несколько десятков получили широкое распространение и используются для разработки компьютерных программ. Несмотря на это, ежегодно их число увеличивается. Создать язык программирования может как энтузиаст, удовлетворяющий подобным образом жажду творчества, так и большая корпорация, преследующая цели создания на его основе новых продуктов.

Инструкция

  • Обдумайте основные концепции создаваемого языка программирования. Выделите его главные особенности и предполагаемые функциональные возможности. Выберите парадигму (объектно-ориентированную, логическую и т.д.), которой будет следовать язык, и его вычислительную модель. Ясно ответьте на вопросы о том, чем он будет отличаться от существующих аналогов, какие их черты заимствовать.
  • Продумайте систему типов данных. Ответьте на вопрос о том, будет ли это язык программирования со статической или динамической типизацией. Обозначьте перечень встроенных и способы определения новых типов. Декларируйте методы определения структур данных. Опишите другие возможности. Так, если создается объектно-ориентированный язык программирования, выделите возможные способы наследования (например, прямое наследование реализации, агрегирование, и т.д.).
  • Досконально продумайте концепцию организации вычислений. Действуйте, следуя знаниям о парадигме и вычислительной модели. Так, например, для процедурно-ориентированного языка нужно будет выявить способы передачи управления (вызовы функций, конструкции условных переходов, циклов и т.д.), принципы вычисления выражений (перечень операций, их приоритет) и пр.
  • Полностью опишите синтаксис языка. На основе знаний, полученных на предыдущих этапах проектирования, формально специфицируйте синтаксис всех возможных конструкций. Например, синтаксис определения типов данных и их структур, управляющих конструкций, записи арифметических выражений, литерального определения объектов данных. Используйте запись в форме Бекуса-Наура (БНФ) или правил регулярной грамматики.
  • Определите набор символов документа с исходным кодом на создаваемом языке программирования. Укажите возможные правила и ограничения в использовании символов. Так, например, запись языковых конструкций может ограничиваться только символами из набора ASCII, но при этом в комментариях и строковых литералах допускаться применение символов всего диапазона UTF.
  • Создайте набор спецификаций, полностью описывающий язык программирования. Включите в него данные о синтаксисе и семантике всех конструкций. Используйте формальные способы записи и подробные пояснения.
  • Оцените статью!