|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
|
Пишем свой интерпретатор языка BASIC13.10.2018, 15:35. Показов 23762. Ответов 9
Добрый день.
Я смотрю, тут на форуме была тема коллективного написания интерпретатора BASIC на языке С++. Я очень извиняюсь, но я написал такой интерпретатор в индивидуальном порядке. Сейчас этот проект доступен в исходниках и под лицензией MIT на sourceforge.net. Лицензия MIT означает, что пользоваться можно для любых платформ и любых проектов как коммерческих, так и открытых. Проект незатейливо называется Open Basic. Интерпретатор оформлен в виде класса в смысле классов С++. Из особенностей: 1. Можно подключать написанные на С++ пользовательские функции к исполняющей системе интерпретатора. 2. Можно иметь много экземпляров интерпретатора в своей программе, и каждый может выполнять разную Basic-программу. Там есть и описание на русском языке. Вот ссылка на проект: https://sourceforge.net/projects/obasic/ Если есть вопросы, задавайте здесь или по почте. Адрес почты в описании на интерпретатор. Спасибо.
1
|
|
| 13.10.2018, 15:35 | |
|
Ответы с готовыми решениями:
9
Пишем свой чекер пишем свой троян с нуля |
|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
|
| 16.10.2018, 10:39 [ТС] | |
|
Еще особенности:
3. Есть интерфейс для доступа из С++ программы к переменным и массивам Basic-программ 4. Basic-программы могут состоять из нескольких файлов 5. Пользовательские функции могут принимать параметры из Basic-программ 6. Пользовательские функции могут возвращать результат в Basic-программу
0
|
|
|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
|
| 19.10.2018, 09:30 [ТС] | |
|
Еще особенности:
7. Интерпретатор написан полностью на С++, без ассемблерных или других вставок 8. Интерпретатор транслируется GCC и VS2017 9. Интерпретатор не использует никакие системные вызовы никакой ОС (OS independent code)
1
|
|
|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
|
| 24.10.2018, 15:49 [ТС] | |
|
Если модераторы зафиксируют эту тему в важных, я могу рассказать как устроен интерпретатор внутри.
А вот ссылка на описание применения интерпретатора (все описания в формате .pdf): http://obasic.sourceforge.net/
0
|
|
|
Неэпический
|
||
| 24.10.2018, 17:45 | ||
|
Вы можете попросить модераторов разместить ссылку на Вашу тему в уже закрепленной теме.
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
|
| 25.10.2018, 11:16 | |
|
Другое дело, что судя по активности народа в данной теме, она кроме ТСа никому не интересна.
0
|
|
|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
||
| 25.10.2018, 12:15 [ТС] | ||
|
И, как я понял, так и не дописали. И даже сейчас эта тема закреплена в важных, хотя и не доступна для продолжения (что тоже являет собой некоторую странность). А когда предлагают готовый интерпретатор Basic, то почему-то интереса нет. Я думал, раз люди интересуются построением интерпретаторов, четыре года писали код, так сделаю доброе дело, есть готовый и работающий код. А зачем тогда четыре года писали? За четыре года вобщем-то в свое время деды до Берлина дошли, а тут какой-то интерпретатор.
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||||
| 25.10.2018, 12:47 | |||||
|
pepsicoca2, такое впечатление что вам не дали почесать собственное ЧСВ
Это форум, как мне кажется, для помощи в написании програм, а не складчина уже готовых. Те кому нужно будет найдут и так, ваш интерпретатор.
1
|
|||||
|
27 / 27 / 16
Регистрация: 22.08.2017
Сообщений: 126
|
|||
| 25.10.2018, 16:10 [ТС] | |||
|
Сайт sourceforge.net это такое же хранилище open source программ, как и GitHub. И там лежит интерпретатор в исходных кодах. Этот проект довольно старый, первая версия вышла 20 лет назад. В те времена не было никаких Питонов, Руби и Луа, вот и пришлось самому написать интерпретатор.
0
|
|||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||
| 25.10.2018, 16:14 | |||
|
Но и на гит я бы еще тоже залил.
0
|
|||
| 25.10.2018, 16:14 | |
|
Помогаю со студенческими работами здесь
10
Пишем свой класс, спецификатор доступа protected Не удается откомпилировать интерпретатор М-языка Интерпретатор небольшого языка программирования на С++ Интерпретатор/компилятор ассемблер-подобного языка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|