Home

Awesome

Техническое задание

Интерпретатор BASIC

Задача: реализовать интерпретатор диалекта BASIC (Small BASIC)

Минимальные требования:

Интерпретатор Small BASIC должен уметь построчно анализировать, обрабатывать и выполнять исходный код программы или запроса.

Алгоритм работы интерпретатора:

  1. прочитать инструкцию;
  2. проанализировать инструкцию и определить соответствующие действия;
  3. выполнить соответствующие действия;
  4. если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.

Для выполнения пункта 2 необходимо будет создать синтаксический анализатор выражений, который будет разбивать исходное выражение на составные части, компоненты (неделимые элементы выражения – лексемы).

Функция, разбивающая выражение на составные части, должна решать несколько задач:

  1. игнорировать пробелы и символы табуляции;
  2. извлекать каждую лексему из текста;
  3. определять тип лексемы.

Анализатор будет использовать шесть типов лексем: DELIMITER, VARIABLE, NUMBER, COMMAND, STRING, MARK (разделитель, переменная, число, команда, строка, метка).

Также при создании интерпретатора нужно будет учитывать все особенности и грамматику языка Small BASIC. Например, все числа – целые (integers: -32767...32767).

Формат входных данных: .sb.

C документацией языка SmallBasic можно ознакомиться тут