[!] Pascal.js Алгоритмическая практика. Как подключиться к разработке
Primary tabs
На этой странице собираем материалы, которые помогут подключиться к разработке Pascal.js
Программа подготовки PJS
- Решите на Паскале и/или JS Задачку №12 Урока 18, про расчет выражений вида за один проход строки:
Входные данные Результат 5+2 7 1-2*5+2 -7 5*6+7-3*2+11 42 5*6+7-3*2*3+11 30
- Решите на Паскале и/или JS Задачку №8 Урока 22, про расчет выражений вида:
5*(3+4)-7*9+3*(2+(2-7))
с помощью рекурсии.
- Знание основ JavaScript (Для нашего проекта достаточно прочитать все из раздела "Часть 1": https://learn.javascript.ru/
- Формы Бэкуса-Наура (Теория + задачи №1-5)
- Если ещё не знакомы - познакомьтесь с Линуксом (можно установить на виртуальную машину)
- Зарегистрируйтесь на https://github.com
- Настроим среду разработки (VsCodium, Git)
- Разворачиваем pascal.js-intro
- Обзор кода проекта в стартовом состоянии
- Ознакомьтесь: ФБН поддерживаемых выражений на момент старта работы с репозиторием
- Задача 1: Реализуйте поддержку унарного минуса
- Задача 2: Реализуйте поддержку выражений со скобками
- Задача 3: Реализуйте поддержку переменных
- Задача 4: Поддержка цепочки присваиваний -- pascal.js
- Запросите у более опытных участников персональную задачу по добавлению новых возможностей в "боевой" интерпретатор (тот что используется в деле, а не учебный pascal-js.intro)
Базовая алгоритмическая подготовка
Теоретическая подготовка
Настройка среды разработки
Вводный проект pascal.js-intro
И далее можно переходить к задачам (см. инструкцию по оформлению):
Переходим к реальному проекту
Дополнительные материалы (не обязательно)
Видео (дополнительно)
См. плейлист: https://www.youtube.com/playlist?list=PL...
Что почитать
Берем книжку Л. А. Залогова -- Разработка Паскаль-компилятора [Электронный ресурс] / . — 4-е изд. (эл.)
и читаем:
- Главы 1, 2, 3, 4
- Главы 6 "Семантический анализатор"
- Главы 7 "Введение в генерацию кода"
- Глава 9 "Организация оперативной памяти во время выполнения программы"
-- или все главы книжки, по желанию. Наша реализацию будет отличаться в некоторым моментах.
Далее переходим к практике.
- Log in to post comments
- 5578 reads