• Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Рекомендую начать с Форта: минимальный интерпретатор пишется за один-два вечера за чашкой чая. Форт очень простой, гибкий и очень мощный. Он позволяет реализовывать достаточно простым способом проблемно-ориентированные ЯП (DSL). У него крайне простой синтаксис - это просто слова, отделенные разделителем (пробелом). И всё! Проще не бывает. Для передачи аргументов используется стек. Математика реализуется обратной польской записью: число, число, оператор. Типа 1 2 +. Если смотреть с классической позиции, то Форт - это интерпретируемый И компилируемый процедурный ЯП высокого И низкого уровня. Почему одновременно и высокого и низкого? Потому что существуют Форт-процессоры в кремнии, для которых Форт - ассемблер (т.е. все слова сразу интерпретируются/компилируются в машинные коды без дополнительной прослойки). А ассемблер - это ЯП низкого уровня. Процедурный - потому что слово может как забрать любое число элементов со стека, так и оставить на стеке любое их число (а не только один аргумент как в функциях). Гибкость же языка реализуется открытостью его движка - можно на лету менять правила интерпретации, компиляции и даже в рантайме все это переписывать, перекомпилировать и прочее. Например, знаменитое сишное определение #define TRUE FALSE заиграет новыми красками, ибо его можно провернуть в рантайме не особо напрягаясь. А еще можно управлять стеком возвратов (это список адресов, куда продолжается поток управления после завершения процедуры) - GOTO в сравнении с этим в ужасе трясется под лавкой. Самое известное приложение для Windows, в котором раскрыты все возможности форта - это nnCron: один из мощнейших автоматизаторов для Windows.
    В качестве дипломной работы реализация Форта подойдет великолепно и чего-то лучше вы вряд-ли найдёте (проверено лично, если что).
    Литература


    Ссылки на англоязычные ресурсы из мана ннкрона:

    И наше русское Форт-сообщество находится вот тут: fforum.winglion.ru
    Ответ написан
    2 комментария