Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
mktmk

[ANN] Новая версия интерпретатора Open Basic v1.91

25.05.2013, 13:28. Показов 1307. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ссылка для загрузки: http://sourceforge.net/projects/obasic/

Open Basic (OB) представляет собой реализацию интерпретатора языка Basic.

Open Basic разработан для встраивания в приложения пользователя в качестве скриптового языка.

Open Basic поставляется в исходных текстах под лицензией MIT.

Open Basic имеет возможность расширения системы команд путем подключения пользовательских функций к исполняющей системе Open Basic.

Пользовательские функции могут быть написаны на C/C++, ассемблере или других языках.

Пользовательские функции могут вызываться из Basic-программы, получать параметры
разных типов из Basic-программы и возвращать результаты своей работы в Basic-программу.

Open Basic реализует подмножество команд языка Basic. Open Basic написан полностью на C++ и реализован в виде класса с именем ob_obasic.

Open Basic поддерживает данные следующих типов:

1.Числа с плавающей точкой.
2.Числа с фиксированной точкой со знаком (целые).
3.Строки.
4.Массивы чисел с плавающей точкой.
5.Массивы чисел с фиксированной точкой.
6.Массивы строк.

Open Basic имеет multithread-safe код.

Open Basic не использует никаких графических библиотек.
Open Basic не использует никаких системных вызовов ОС.

Новое в версии 1.91:

1.Добавлена поддержка локальных (в файле) меток, переменных и массивов.
Локальные метки, переменные и массивы имеют имя, начинающееся с подчеркивания “_”.
Поддержка локальных (в файле) меток, переменных и массивов уменьшает конфликт имен при разработке многофайловых проектов.

2.Добавлена возможность продолжить оператор Basic на следующую строку с помощью обратного слеша “\”.

3.Для доступа к локальным переменным и массивам методы доступа к переменным получили новый параметр – указатель на поток (файл),
в котором находится переменная. Если задано локальное имя переменной и указатель на поток, то поиск производится в таблице локальных
переменных указанного потока.

4.Модифицированы методы readvar, writevar. Эти методы осуществляют доступ к элементам массива из пользовательских функций.
Теперь не поддерживается доступ к элементам массива через задание индексов в имени переменной.
Доступ к элементам массива теперь возможен только через явное задание текущих индексов элемента массива в параметре «as» методов readvar, writevar.

5.Базовый класс ввода-вывода переименован. Старое имя базового класса ввода-вывода было ob_functor_break_base.
Новое имя базового класса ввода-вывода стало ob_base_class_for_IO_service.

6.Ввод-вывод через базовый класс ob_base_class_for_IO_service стал единственным способом реализации ввода-вывода.
Старый механизм ввода-вывода удален.

7.Убран метод ob_basic::restoreinputpointer(); При запуске методов ob_base_class_for_IO_service::run_before и
ob_base_class_for_IO_service::run_after следующая лексема доступна через метод ob_basic::gettypenextlex();

8.Исправлена ошибка в реализации оператора комментария REM. Теперь при ошибочных лексемах в комментариях не происходит генерация ошибки.

9.Метод load_project теперь возвращает результат своей работы.

10.Добавлен оператор CHECKLOAD. Оператор CHECKLOAD позволяет предотвратить повторную загрузку потока.

11.Добавлен заголовочный файл obmain.h и ключи условной трансляции.

12.Исправлена ошибка в реализации оператора DATA.

13.Версия 1.91 тестировалась под следующими трансляторами: MSVC2010, Borland C++ Builder 6.0, vxDev-C++ (GCC).
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2013, 13:28
Ответы с готовыми решениями:

новая версия Арзамаса
Вроде сменили алгоритм, никто ничего не пишет по этому поводу, или всем всеравно?

Новая версия Eclipse
Где-то пол года назад начал учится программировать по учебнику Б. Харди и Б. Филлипса, с первого урока все получилось но на время отложил...

новая версия протокола
ну слышал про IPv6 что он состоит из 128 бита ,вот вопрос где-то прочитал что длыа этого канала не нужна маска сети ,как бы так гожоря она...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2013, 13:28
Помогаю со студенческими работами здесь

Новая версия шаблона
Дорогие друзья, добрый вечер!Хотелось бы снова обратиться к вам за помощью. Проблема следующая. Есть сайт на Joomla 1.5 делаю апгрейд до...

Вышла ли новая версия IE
Почему-то в Windows XP IE 6.0 долго запускается, вышл ли update убирающий Этот глюк?

Не работает новая версия jquery-3.3.1
<head> <script type="text/javascript" src="js/jquery-3.3.1.js"></script> <script...

Не цепляется новая версия библиотеки
Подскажите куда копать. Есть 2 библиотека, версии 1.0.0.0 и 2.0.0.0, обе добавил в GAC, PublicKeyToken одинаковый естественно. Есть...

Windows 7 и новая версия BIOS F5
Всем доброго времени суток.У меня есть проблема,я решил обновить bios до последний версии,(была F4) обновил на F5,и после этого на моменте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru