SmallBasic_Interpreter

所属分类:collect
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2018-10-03 20:56:08
上 传 者sh-1993
说明:  低级编程课程,
(Low level programming coursework,)

文件列表:
.idea/ (0, 2018-10-03)
.idea/.name (22, 2018-10-03)
.idea/SmallBasic-Interpreter.iml (97, 2018-10-03)
.idea/codeStyles/ (0, 2018-10-03)
.idea/codeStyles/Project.xml (1775, 2018-10-03)
.idea/encodings.xml (253, 2018-10-03)
.idea/misc.xml (377, 2018-10-03)
.idea/modules.xml (296, 2018-10-03)
.idea/vcs.xml (180, 2018-10-03)
CMakeLists.txt (279, 2018-10-03)
Introducing Small Basic.pdf (2523933, 2018-10-03)
Makefile (831, 2018-10-03)
main/ (0, 2018-10-03)
main/analyzer.c (9855, 2018-10-03)
main/branching.c (3380, 2018-10-03)
main/branching.h (155, 2018-10-03)
main/io.c (984, 2018-10-03)
main/io.h (150, 2018-10-03)
main/lexemes.h (761, 2018-10-03)
main/main.c (1728, 2018-10-03)
main/main.h (1682, 2018-10-03)
main/variables.c (4488, 2018-10-03)
main/variables.h (853, 2018-10-03)
report.docx (39256, 2018-10-03)
result/ (0, 2018-10-03)
result/SmallBasic_Interpreter (23304, 2018-10-03)
result/analyzer.o (11952, 2018-10-03)
result/branching.o (4568, 2018-10-03)
result/io.o (3096, 2018-10-03)
result/main.o (2944, 2018-10-03)
result/variables.o (6760, 2018-10-03)
test/ (0, 2018-10-03)
test/Goto.sb (197, 2018-10-03)
test/HelloWorld.sb (58, 2018-10-03)
test/factorial.sb (448, 2018-10-03)
test/hanoi.sb (716, 2018-10-03)
test/prime.sb (699, 2018-10-03)
test/test.sb (416, 2018-10-03)
ТЗ.docx (13820, 2018-10-03)
... ...

# Техническое задание ## Интерпретатор BASIC ### Задача: реализовать интерпретатор диалекта BASIC (Small BASIC) ### Минимальные требования: * целочисленные переменные; * инфиксные выражения с “+”, “-“, “*”, “/”, скобками; * операторы сравнения “<”, “<=”, “=”, “<>”, “>=”, “>”; * операторы TextWindow.Write(), TextWindow.Read(), If, GoTo, Sub. #### Интерпретатор 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 можно ознакомиться [тут](https://github.com/grafovdenis/SmallBasic_Interpreter/blob/master/Introducing%20Small%20Basic.pdf)

近期下载者

相关文件


收藏者