Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Язык программирования за 5 мучительных минут

Язык программирования за 5 мучительных минут

Все очень просто

tetiana chupryna

September 13, 2017
Tweet

More Decks by tetiana chupryna

Other Decks in Programming

Transcript

  1. 1: ПЛАН ДЕЙСТВИЙ. ИЗИ Выбрать “философию языка”: преобразование в машинный

    код, поддержка парадигм, типы данных, доступ к памяти и т.д. Выбрать язык разработки. (☠C++, "LISP и даже тот, который нельзя называть, подойдет) Лексер Парсер Компилятор пишем
  2. ПРЕВРАЩЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ ТЕКСТА В ПОСЛЕДОВАТЕЛЬНОСТЬ ТОКЕНОВ ИЛИ ЛЕКСИЧЕСКИХ ЕДИНИЦ

    2: ЛЕКСИЧЕСКИЙ АНАЛИЗАТОР net_worth_future = (assets - liabilities); IDENTIFIER net_worth_future EQUALS OPEN_PARENTHESIS IDENTIFIER assets MINUS IDENTIFIER liabilities CLOSE_PARENTHESIS SEMICOLON https://github.com/westes/flex Все написано до нас
  3. ПАРСИНГ ТОКЕНОВ И ПЕРЕВОД ИХ В АБСТРАКТНОЕ СИНТАКСИЧЕСКОЕ ДЕРЕВО 3:

    ПОСТРОЕНИЕ АСД https://www.gnu.org/software/bison/ Все написано до нас
  4. КОМПИЛЯЦИЯ - ТРАНСЛЯЦИЯ ПРОГРАММЫ В МАШИННЫЙ ИЛИ НИЗКОУРОВНЕВЫЙ КОД 4:

    ПЕРЕВОД В МАШИННЫЙ КОД http://llvm.org Все написано до нас ИНТЕРПРЕТАЦИЯ - ПООПЕРАТОРНОЕ ВЫПОЛНЕНИЕ ПРОГРАММЫ ТРАНСПАЙЛИНГ - ПЕРЕВОД ПРОГРАММЫ С ЯЗЫКА ВЫСОКОГО УРОВНЯ НА ЯЗЫК ВЫСОКОГО УРОВНЯ https://www.thefreecountry.com/compilers/index.shtml