Developer | Eros Olmi |
---|---|
Стабильный выпуск | v1.10.5.0 / 15 октября, 2018; 2 года назад (2018-10-15) |
Предварительный выпуск | v1.10.6.0 / 19 января 2019 г.; 21 месяц назад (19.01.2019) |
OS | Windows |
Лицензия | Бесплатное ПО / Собственное |
Веб-сайт | www.thinbasic.com |
Диалекты | |
BASIC | |
Испытанный | |
Powerbasic |
thinBasic - это BASIC -подобный язык программирования интерпретатор с центральной архитектурой ядра, окруженной множеством специализированных модулей. Хотя изначально он был разработан в основном для компьютерной автоматизации, благодаря своей модульной структуре он может использоваться для решения широкого круга задач.
Как следует из названия, наибольшее влияние на синтаксис этого языка оказал язык BASIC. Но, в отличие от традиционных BASIC, известных из 8-битной эры, thinBASIC действительно отличается в нескольких важных моментах.
Например, он требует, чтобы программист объявил переменные, и в нем нет печально известных операторов GOTO и GOSUB. Некоторые аспекты синтаксиса даже вдохновлены языками, отличными от BASIC, такими как C /C ++. Благодаря этому, thinBASIC дополнительно позволяет использовать неявное продолжение строки, упрощенное сложение, вычитание, операции умножения и деления, сокращенное объявление и инициализацию переменных:
'Традиционный синтаксис, разрешенный в thinBASIC DIM a AS INTEGER' a инициализируется значением 0 a = 1 'a теперь содержит 1 a = a + 1' a теперь содержит 2 'Синтаксис, вдохновленный C / C ++, разрешенный в thinBASIC INTEGER a = 1' a инициализируется значением 1 a + = 1 'a теперь содержит 2' Новый синтаксис, представленный в 1.9.10.0 позволяет определять тип из строкового выражения STRING sType = "INTEGER" DIM a LIKE sType
Еще одним источником вдохновения являются современные версии BASIC, такие как Visual Basic или PowerBASIC.
ThinBASIC предлагает основные операторы управления потоком, такие как SELECT CASE, IF... THEN / ELSEIF / ELSE / END IF, циклы (бесконечный, условный, FOR, WHILE / WEND, DO / LOOP WHILE..., DO / LOOP UNTIL...), а также прилагает очень большие усилия для обеспечения широкого набора встроенных функций для n хруст умбры и особенно обработка струн.
ThinBASIC поддерживает широкий диапазон числовых и строковых типов данных.
Целое число | Плавающая точка | Строка | Другое |
---|---|---|---|
БАЙТ | ОДИН | СТРОКА | ВАРИАНТ |
WORD | DOUBLE | STRING * n | GUID |
DWORD | CURRENCY | ASCIIZ * n | BOOLEAN |
INTEGER | EXTENDED, EXT | UDT (определяемый пользователем тип) | |
LONG | UNIONS | ||
QUAD | iDispatch |
Помимо упомянутых в таблице выше, программист может определять указатели, определяемые пользователем типы и объединения.
. К особым функциям, связанным с определяемыми пользователем типами в thinBASIC, относятся:
Переменные могут быть определены в глобальной, локальной или статической области. ThinBASIC поддерживает массивы до трех измерений.
Элементарная функциональность языка обеспечивается так называемым модулем Core, который загружается по умолчанию и также занимается анализом.
Помимо основного модуля, thinBASIC предлагает другие модули, каждый из которых охватывает определенную область функциональности, например:
Каждый модуль представлен одной DLL с определенной структурой. Это позволяет модулю содержать не только типичные функции и процедуры, но также, например, константы и определения определяемых пользователем типов, которые немедленно становятся доступными для сценария без необходимости в файле заголовка. Единственное, что необходимо, - это явно указать использование модуля в коде - для обработки файлов это будет выглядеть так:
'Это загружает модуль для использования Использует «Файл»' Функция File_Load поступает из модуля, она возвращает содержимое переданного файла в виде String String sBuffer = File_Load ("C: \ text.txt")
Чтобы лучше структурировать код, thinBASIC предоставляет функции и функции процедур. Есть одна функция со специальной обработкой, называемая TBMAIN, которая гарантированно будет выполнена первой. Он представляет ту же функцию, что и функция main () на языке программирования C, но ее использование необязательно.
Программист может определять собственные функции и процедуры (называемые подпрограммами); они могут иметь до 32 параметров. Обе функции и процедуры не нужно объявлять перед использованием. Параметры можно пометить как необязательные, а также их можно инициализировать значениями по умолчанию. Каждый параметр можно указать для передачи по значению (по умолчанию) или по ссылке.
Использует «Консоль» 'Тело программы начинается в функции TBMain Function TBMain () MyFunction (10)' Это напечатает 10 20 30, поскольку неиспользуемые дополнительные параметры # 2 и # 3 инициализируются как 20 и 30 MyFunction (10, 3) 'Будет напечатано 10 3 30, потому что неиспользуемый необязательный параметр # 3 инициализируется значением 30 MyFunction (10, 3, 5)' Будет напечатано 10 3 5, потому что мы указываем все параметры, поэтому значения по умолчанию отбрасываются Console_WaitKey End Function 'Пользовательская функция с необязательными параметрами со значениями по умолчанию Функция MyFunction (a как число, необязательно b как число = 20, c как число = 30) Console_PrintL (a, b, c) End Function
Функции можно вызывать напрямую, как в листинге выше, или составив их имя во время выполнения.
ThinBASIC поддерживает вызов функций из сторонних DLL; программист должен сначала объявить их, чтобы получить доступ к функциям.
Благодаря этому механизму thinBASIC позволяет использовать такие технологии, как OpenGL, OpenCL, XML, ODE и многие другие. другие.
ThinBASIC на данный момент не поддерживает какие-либо формы файлов проекта, но поощряет разделение кода на единицы, предоставляя несколько расширений файлов для различного использования:
Основной код может ссылаться на эти файлы с помощью #include директива, которая может использовать подстановочные знаки:
#include "MyDLLWrapper.tBasicI" #include "MyRoutines.tBasicU" #include "dialog _ *. tBasicU" 'Это будет включать все файлы, соответствующие диалогу с подстановочными знаками _ *. tBasicU, если присутствует Функция TBMain () '- Здесь находится основной код, и он может использовать функции из #included files End Function
Язык можно улучшить путем разработки модуля с использованием SDK для многих языков ( PowerBASIC, FreeBASIC, C, MASM ).
Группа разработчиков уделяет большое внимание документации по языку и учебным ресурсам. Сам язык задокументирован в обширном файле справки, а установка по умолчанию также содержит учебник и много примеров кода.
Различные статьи по использованию thinBASIC были опубликованы в виде ThinBasic Journal, а также на домашней странице языка программирования (см. Внешние ссылки).
ThinBASIC поставляется с собственной IDE, называемой thinAir, при установке по умолчанию. Он предлагает:
. thinAir также позволяет использовать отладчик.. Этот компонент называется thinDebug и может быть смотрел на изображении по ссылке ниже.
Консольная программа, которая спрашивает пользователя об имени, а затем приветствует его:
'Указывает, что программа будет использовать функции из модуля консоли, использует "Консоль"' TBMain представляет основное тело программы function TBMain () 'Создает переменную для хранения имени пользователя local UserName в виде строки' Запрашивает у пользователя имя Console_Print ("Как вас зовут ?:") 'Сохраняет его в переменной UserName = Console_ReadLine' Если длина имени пользователя равно 0, то имя не указано, иначе программа скажет "привет", если len (UserName) = 0, то Console_PrintLine ("Имя пользователя не указано...") else Console_PrintLine ("Hello" + UserName + "!") end if 'Waits для любого ключа от пользователя до завершения программы Console_WaitKey end function
ThinBASIC был разработан для платформы Windows, и именно поэтому он эффективно использует ресурсы, предоставляемые этим система, такая как реестр, пользовательский интерфейс, работа с процессами, COM, DLL. Несмотря на интерпретацию, thinBASIC обычно имеет быстрое выполнение. Когда интерпретаторский характер языка достигает пределов, можно выполнять оптимизацию, используя частичную JIT-компиляцию. Еще одна сильная сторона языка - это широкий набор команд, охватывающих различные области интересов, и традиционно для BASIC - сильная ориентация на обработку строк. Этот язык постоянно развивается и обслуживается.
Тот факт, что thinBASIC разработан только для Windows, также может рассматриваться как недостаток для тех, кто ищет кроссплатформенные инструменты. Скорость выполнения без использования оптимизаций ниже по сравнению с выводом компиляторов, благодаря природе языка интерпретатор.
thinBASIC был разработан под Microsoft Windows XP Professional с использованием PowerBASIC и требует Internet Explorer версии 5.50 или выше.