Як написати інтерпретатор

Щоб створити інтерпретатор, треба написати парсер вихідного коду, цикл виконання байт-коду і величезна кількість кодів стандартної бібліотеки. Це не завжди весело і просто, якщо не скористатися інструментами, які будуть генерувати компілятор і парсер для вас. З ними написати інтерпретатор мови для знаючої людини буде простіше простого. Розглянемо на прикладі написання інтерпретатора з JIT на PyPy.
як написати інтерпретатор

2 крок

Напишіть інтерпретатор на звичайному Пітоні. Лічильник команд буде зберігати покажчики на поточну інструкцію. Перший вираз витягне інструкцію, після кілька операторів визначать, як її виконати. Опустіть реалізацію операторів «[» і «]», оскільки вони повинні поміняти лічильник команд на положення такої ж дужки.

3 крок

Реалізуйте клас Tape, який зберігає покажчик на поточне число і стрічку цілих чисел. Стрічка за потребою буде збільшуватися. Парс вихідний код заздалегідь, щоб безліч коментарів не читалися по одному байту. Зробіть заодно словник для дужок, щоб при необхідності можна було знайти в ньому парні дужки.

4 крок

Виконайте def parse (program). Ця функція повертає рядки тільки з команд і словника парних дужок.

5 крок

З'єднайте всі, що вийшло, і ви отримаєте робочий інтерпретатор brainfuck. Запустіть інтерпретатор на Python і переконайтеся в його працездатності. Це лише одиничний випадок написання інтерпретатора з використанням найпростішого мови. При бажанні писати можна практично на будь-якій мові, ознайомившись з його властивостями і призначенням.
Відео по темі





ЩЕ ПОЧИТАТИ