Языки программирования (метамодели КМ)

 

Языки программирования (ЯП) - метамодели компьютерного моделирования (программирования)

Разработка ЯП - компьютерное метамоделирование (наряду с разработкой структур данных, алгоритмов, парадигм...)

Разработка ЯП идет параллельно с разработкой трансляторов

 

  1. Изучить материал, повторить материал и материал, познакомиться с Теоретическим минимумом для программиста

  2. Создать документ ФамилияLP

  3. Прочесть статью Пишем свой язык программирования ... (не стесняйтесь переходить по ссылкам и читать комментарии :)

  4. В документе ФамилияLP заполнить Таблицу вида (заменив ней слово Фамилия своей Фамилией и прописав вопросы и ответы по материалам статьи):

Вопрос Фамилия

Ответ

 

 

 

 

 

 

 

 

 

 

 

  1. Прочесть статью William W WoldFollow  I wrote a programming language. Here’s how you can, too, посетить страницу языка и репозиторий на GitHub. На основании материала статьи заполнить таблицу вида:

Вопрос

Ответ

Ваши Фамилия Имя Отчество?

 

насколько хороша теоретическая подготовка автора языка Pinecone в области метапрограммирования

 

как  автор языка Pinecone проверят правильность своих действий

 

какой язык программирвоания не следует писать на интерпретируемом языке программирования

 

при написании языка программирования первым делом автор создал

 

почему автор решил не использовать Flex

 

почему автор решил сам написать парсер

 

что такое семантический граф

 

почему автор отказался писать свой компилятор

 

почему автор рекомендует хотя бы попробовать написать свой язык,

 

какой совет автора (из четырех в конце статьи предпочтительнее для Вас)

 

  1. Познакомиться со статьей Пишем примитивный и никому не нужный компилятор

Для любопытных:

Компиляция. 1: лексер
Компиляция. 2: грамматики
Компиляция. 3: бизон
Компиляция. 4: игрушечный ЯП
Компиляция. 5: нисходящий разбор
Компиляция. 6: промежуточный код
Компиляция. 7: назначение регистров
Компиляция. 9: исполняемый код
Компиляция. 10: компиляция в ELF

  1. Познакомиться с языками программирования, использующими ключевые слова не на основе английского языка (см. модуль "Языковая основа для ключевых слов").

  2. Изучить модуль "Эзотерические языки" (в т.ч. пройтись по ссылкам).

  3. С помощью онлан-интерпретатора языка HQ9+ проверить работоспособность всех его 4 команд (из них и составлено название языка: ), сделать подписанный своей Фамилией скрин результат выполнения любой команды и вставить его в ФамилияLP

  4. С помощью онлан-интерпретатора языка Brainfuck выполнить программу:

-[------->+<]>-.-[->+++++<]>++.+++++++..+++.[->+++++<]>+.------------.++[->++<]>+.-[----->+<]>++.[->+++<]>-.-[->+++<]>.[-->+++++<]>-.+[--->+<]>++.------.+++.+++++++.[->+++<]>-.[->+++<]>--.

и записать результат в  в ФамилияLP
Создать свою программу на
Brainfuck, которая будет генерировать англоязычный текст c Вашими Именем и Фамилией (можно воспользоваться онлайн-генератором, но тогда нужно познакомиться и с его кодом).

Выполнить программу с помощью онлан-интерпретатора, убедиться в том, что все сделано верно, сделать подписанный своей Фамилией скрин с результатом выполнения прогарммы и вставить в документ ФамилияLP код программы и скрин.

  1. Познакомиться с языком Shakespeare, маскирующим исходный код программ под пьесы В. Шекспира.

  2. Прочесть материал (перевод на русский: Объясняем бабушке, как написать свой язык программирования) и в документа Microsoft Word ФамилияLP заполнить таблицу вида:

Дополнительный вопрос для Фамилия на экзамене

Ответ

Основные этапы, структурные элементы и средства разработки языка программирования

 

 

  1. Выполнить тест (на уровне "гуру" - получив 10/10!) и вставить подписанный Фамилией скрин в  документ Microsoft Word ФамилияLP.

  2. Заполнить метаданные (согласно модели) документа Microsoft Word ФамилияLP и сохранить его в PDF-формате (PDF-модели)
    Не забывайте писать свои ФИО!

  3. Отослать преподавателю письмо с отзывом о работе и прикрепленным PDF-документом ФамилияLP

  4. Прочесть и продумать статью How Zig Do?
    Там нет ответа на частотные среди студентов вопросы - зачем это? им? нам?...  :(
    Но ее продумывание поможет найти ответ  в себе самом :)

Готовить конспект на экзаменационные вопросы

 

Как реализовать язык программирования на JavaScript. Часть 1: Парсер

 

 

kmp