|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.05.2013, 13:42 | #1 |
Новичок
Джуниор
Регистрация: 25.05.2013
Сообщений: 1
|
[ANN] Новая версия интерпретатора Open Basic v1.91
Ссылка для загрузки: 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_b efore и ob_base_class_for_IO_service::run_a fter следующая лексема доступна через метод 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). |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инициализация интерпретатора tcl | василий- | C# (си шарп) | 1 | 03.09.2012 18:36 |
[ANN] Выпущен компонент рибоны для Qt - QtitanRibbon 2.0 | BigZ | Qt и кроссплатформенное программирование С/С++ | 0 | 15.04.2011 07:32 |
[ANN ]Выпущен компонент QtitanMultimedia 2.0 - Flash, Silverlight для Qt | BigZ | Qt и кроссплатформенное программирование С/С++ | 0 | 15.04.2011 07:30 |
Почему лицензионная версия продукта дороже чем пиратская версия продукта? | multik | Свободное общение | 13 | 13.07.2008 14:40 |