Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?thesises=255
Дата изменения: Fri May 5 15:24:52 2006
Дата индексирования: Tue Oct 2 03:45:56 2012
Кодировка: koi8-r

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

Основная причина создания этого пакета программирования была понять
принципы создания языков программирования. Для этого я решил создать SMALL
BASIC интерпретатор. Название этой программы - ABASIC (Alexi BASIC),
который был написан на языке C++.
ABASIC главным образом состоит из трех частей: интерфейс, анализатор и
интерпретатор. Программа создает легко используемый для пользователя
интерфейс, который был сделан с помощью мной созданных классов - а не
TVISION или любые другие такие библиотеки.
Анализатор анализирует выражения и готовит их к интерпретатору для
дальнейшей обработки. Все переменные обозначаются одной буквой. Это
позволяет оперировать в программе двадцати шестью переменными (буквы от A
до Z). Хотя интерпретаторы языка BASIC поддерживают обычно большее число
символов в определении переменной, для простоты мною созданный
интерпретатор этого не делает. Переменные разных регистров не отличаются
друг от друга. Все Переменные автоматически имеют реальный тип данных.
Другие типы данных не поддерживаются, но в командах INPUT и PRINT можно
использовать символьные константы.
Анализатор поддерживает следующие операторы:

+ (сложение)
- (вычитание)
* (умножение)
/ (деление)
^ (возведенные степени)
mod() (остаток от деление)
abs() (абсолютное значение)
sqr (). (корень)




Анализатор для обработки выражения использует следующие лексемы:

DELIMITER
FLOAT

VARIABLE

NUMBER
COMMAND
STRING
QOUTE




Интерпретаторе реализована следующие команды:

PRINT
INPUT
IF
THEN
ELSE
FOR
NEXT
TO
GOTO
GOSUB
RETURN
END

В будущем я намерен, расширит функциональность выше указанного
интерпретатора.