|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Пишем свой интерпретатор языка BASIC20.06.2009, 20:03. Показов 259765. Ответов 464
Метки нет (Все метки)
Благодаря форуму и Evg в частности интерпретатор развивается, потихоньку превращаясь в простенький интерпретатор QBASIC.
Некоторые из самых старых версий сохранились в теме и ссылки на них будут добавлены в это сообщение,а также ссылки на другие темы,связанные с этой. Репозиторий с проектом находится тут, там же есть возможность в браузере посмотреть историю ревизий (английский в логах весьма примитивен,комментарии и рекомендации можете писать в личку),а также скачать самый последний архив репозитория в формате .tar.gz Если кто-то пользуется Subversion,скачать исходники можно так:
Технический приём для формирования согласованных данных https://www.cyberforum.ru/c-linux/thread46096.html Вопрос по svn (Subversion) Создание системы тестирования ПО. Вопрос про разные реализации бэйсиков Можно ли выразить порядковый номер элемента массива через индексы? [C++] Какие флаги указать линкеру для компиляции программы? Как можно определить переменную в файле configure.in,чтобы её можно было использовать в Makefile? Странный SIGSEGV, или что зависит от порядка написания интерфейса класса https://www.cyberforum.ru/c-linux/thread61324.html Альтернативная версия интерпретатора от Evg на C Это простая реализация разбора выражений, написанная Evg на C: Представление выражения в двоичном дереве ***************** Первое сообщение: ***************** Задание(Страуструп,из книги,по готовому коду): Введите программу калькулятора и заставьте её работать.Например,при вводе
LexicalAnalyzer.h
LexicalAnalyzer.cpp
main.cpp
Анализатор-то работает,но конечное значение не вычисляется.Более того,если вводим
Добавлено через 2 часа 5 минут 30 секунд Пришлось решать влоб с дебаггером.У Страуструпа опечатка (или намеренная ошибка,что более вероятно ) Вот в этом куске кода в функции get_token():
Добавлено через 16 минут 19 секунд И ещё опечатка была
31
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
| 20.06.2009, 20:03 | |
|
Ответы с готовыми решениями:
464
Пишем свой интерпретатор языка BASIC
Пишем свой чекер |
|
|
|
| 25.10.2009, 20:06 | |
|
Ребята, а исходники сего дела где-то есть?
Добавлено через 38 секунд Сорри, нашел. Добавлено через 1 минуту Тут: https://www.cyberforum.ru/misc... ts&t=41218 Но он там не один. Какой из них?
1
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 25.10.2009, 20:12 [ТС] | |
|
Ненене,это уже в прошлом давно,вот где лежат последние версии(/thread41218-page6.html#post252723) Пишем свой интерпретатор языка BASIC там всё написано,можно просто скачать архив в формате .tar http://basin.svn.sourceforge.n... z?view=tar И этот архив и будет самой последней версии,так как я не часто просто релизю архив на главной странице.
0
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 25.10.2009, 20:26 [ТС] | |
|
Отсюда качаются исходники http://www.libsdl.org/ бинарники для винды тоже есть,а если доступен репозиторий,то нужно просто найти пакет libsdl1.2-dev или что-то похожее.Ну и конечно если на винде,то нужно в опциях линкера указать путь к нужному .dll или что-то вроде(сам не пробовал)
Может,сделать компиляцию графики как опцию препроцессора,чтобы кому не надо графику,не парились и не качали пакеты?
0
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||
| 25.10.2009, 20:42 [ТС] | ||
|
P.S Да,кстати,вот тут уже самое место подумать о GNU Autotools?Чтобы юзер получил все сообщения,чего не хватает..
0
|
||
|
|
||||
| 25.10.2009, 20:55 | ||||
|
Добавлено через 4 минуты
1
|
||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 25.10.2009, 21:00 [ТС] | |
|
У меня система основана на Debian,я просто нашёл в репозитории пакет libsdl1.2-dev,и все
сделал в файле #include <SDL/SDL.h> ,ну и линкеру путь указал.Ещё раз убеждаюсь,что нужно переделать структуру с Autotools. >Это уже можно через Autotools сделать Я тоже не знаю Autotools,придётся как-то разбираться. >Потому что rpm не поставился, ибо там миллион зависимостей надо, а из исходников у меня не скомилилось, т.к. требует какие-то X'овые инклюды, которые у меня не установлены Так что теперь,получается,на RedHat и других системах это вообще не поставится?
0
|
|
|
|
|
| 25.10.2009, 21:14 | |
|
niXman, а саму libsdl?
В общем в итоге всё поставил, как водится, через ж..у. Скачал бинарники в виде rpm'ов, то скачал установил rpm, ручками оттуда выдрал файлы и ручками скопировал Добавлено через 16 секунд В итоге чёрный экран-таки вылез Добавлено через 1 минуту По поводу autotools. Специально для этого со многими библиотеками ставится специальная программа. В данном случае имеется sdl-config, которая выдаст конфигурацию, где установлена libsdl (где библиотеки, где инклюды) с тем, чтобы нужный набор опций воткнуть в Makefile
1
|
|
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 26.10.2009, 04:39 [ТС] | ||||||
|
Добавил PRESET(ревизия 43),пока по умолчанию рисует на экране точку зелёным цветом,завтра займусь цветами уже.Но уже можно,даже не имея LINE,разрисовать экран линиями ))
Вот этот исходник уже работает
![]() Правда у меня там получается небольшая свалка в .h файле,я попробовал как-то сделать так,чтобы graphics.h не подключала value_class.h,конечно,нужно просто передавать массив из int-ов просто,я же сделал шаблоны,сам не знаю зачем,но я переделаю потом,уж больно не терпелось сделать хоть что-то.. Кстати,насчёт отображения всего дерева - я уже забыл,но ведь давно уже сделана отладка,просто заглянуть в debugger.h и поменять на DEBUG 1 и ещё STATEMENT_DBG 1 и тогда увидим дерево в файле data_file.dat или если SILENT 0 то в консоли.
0
|
||||||
|
|
|
| 26.10.2009, 08:30 | |
|
А что такое PRESET? Точку рисует вроде бы оператор PSET
> Кстати,насчёт отображения всего дерева - я уже забыл,но ведь давно уже сделана отладка,просто заглянуть в debugger.h и поменять на DEBUG 1 и ещё STATEMENT_DBG 1 Там вроде бы только имена statement'ов печатались Добавлено через 3 минуты > Вот этот исходник уже работает Только как-то он очень неторопливо работает....
1
|
|
|
|
|||||||||||
| 26.10.2009, 12:10 | |||||||||||
|
На работе возникают warning'и (gcc-4.1.2)
1
|
|||||||||||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 26.10.2009, 17:43 [ТС] | ||||||
|
>А что такое PRESET? Точку рисует вроде бы оператор PSET
Есть такой оператор-и разница между PRESET и PSET только в выборе цвета по умолчанию >Там вроде бы только имена statement'ов печатались Да,верно,но можно ещё включить EXPRESSION_DBG 1 тогда уже будет видно более подробно. >Только как-то он очень неторопливо работает.... Ну да,наверное,ведь всё это написано начинающим,да и рисовать линию приходится по точкам,там же промежуточный процесс-каждый раз заново вычисляются параметры и вызывается 61440 раз функция graphics_PRESET,если бы,например,рисовать линию сразу,то вызывалась бы только одна функция-graphics_LINE и она уже вызывала рисование попиксельно.Я просто не знаю,как в SDL рисовать вырожденные полигоны с заданным углом наклона,попиксельно конечно будет медленнее.Так получается,что функция graphics_PRESET для этого исходника вызывается 61440 раз(если не ошибся) Насчёт варнингов-функцию c_itoa нужно ещё доделывать,она умеет работать только с int-ами..
0
|
||||||
|
|
|||
| 26.10.2009, 20:02 | |||
|
Добавлено через 8 минут
1
|
|||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
| 26.10.2009, 20:22 [ТС] | ||||||
|
>Я исходники не смотрел, но пока видится, что для начала в этом надо разобраться. А в чём официальный смысл SDL, если даже линию без поллитры не нарисуешь?
Да и сам не знаю,уверен что там всё можно,там и с OpenGl работа есть,просто нужно постоянно разбираться с библиотекой.По незнанию предмета я мог и не то что нужно выбрать.На официальном сайте пишут
0
|
||||||
|
|
|
| 26.10.2009, 21:13 | |
|
Если низкоуровневый - то скорее всего самому. Но всё равно как-то медленно. В общем ты хотел что-то новенького - ты его получил
Может заодно и полезное руководство по SDL напишешь
1
|
|
| 26.10.2009, 21:13 | |
|
пишем свой троян с нуля Пишем свой класс, спецификатор доступа protected Интерпретатор небольшого языка программирования на С++ Не удается откомпилировать интерпретатор М-языка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|