Техническое задание
September 24, 2018 · View on GitHub
Интерпретатор BASIC
Задача: реализовать интерпретатор диалекта BASIC (Small BASIC)
Минимальные требования:
- целочисленные переменные;
- инфиксные выражения с “+”, “-“, “*”, “/”, скобками;
- операторы сравнения “<”, “<=”, “=”, “<>”, “>=”, “>”;
- операторы TextWindow.Write(), TextWindow.Read(), If, GoTo, Sub.
Интерпретатор Small BASIC должен уметь построчно анализировать, обрабатывать и выполнять исходный код программы или запроса.
Алгоритм работы интерпретатора:
- прочитать инструкцию;
- проанализировать инструкцию и определить соответствующие действия;
- выполнить соответствующие действия;
- если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.
Для выполнения пункта 2 необходимо будет создать синтаксический анализатор выражений, который будет разбивать исходное выражение на составные части, компоненты (неделимые элементы выражения – лексемы).
Функция, разбивающая выражение на составные части, должна решать несколько задач:
- игнорировать пробелы и символы табуляции;
- извлекать каждую лексему из текста;
- определять тип лексемы.