nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 27 Apr 2024 06:15



Reply to topic  [ 52 posts ]  Go to page Previous  1, 2, 3, 4
Пишем компилирующий интерпретатор SHABASIC для 8080/8085 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Alikberov wrote:
Мой план немножечко отличается.

Проограмма может запускаться в трёх режимах:
  1. Холодный Пуск / Первый Прогон - с исполнением всего кода от начала до конца в порядке описания листинга, чтобы собрать адреса всех меток и т.д.;
  2. Горячий Запуск - исполнение кода в алгоритмическом порядке;
  3. Холостой Пуск - печать содержимого кода в текстовом листинге.

А зачем так? Я думал в таком направлении - если есть текст программы (или что тоже самое - набираем программу в диалоговом режиме), то по ходу вычитки (или ввода) строк происходит построчная компиляция и далее этот скомпилированный код можно использовать как программу без исходников, а исходники можно сохранить отдельно и как текст, и как текст со скомпилированным кодом, чтобы была возможность продолжить дальнейшую работу над программой ( типа файл проекта ; )

А так то у тебя практически то, что я и хотел получить, но в твоих терминах "Холодный пуск" - это компиляция, "Горячий запуск" - исполнение скомпилированного, а вот "Холостой пуск" скомпилированная программа вроде как делать не должна т.к. у нас отдельно лежит исходный текст :wink:

_________________
:dj: https://mastodon.social/@Shaos


12 Mar 2024 20:43
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
А зачем так?
Так получилось, в теории. :mrgreen:
Shaos wrote:
Я думал в таком направлении - если есть текст программы (или что тоже самое - набираем программу в диалоговом режиме), то по ходу вычитки (или ввода) строк происходит построчная компиляция и далее этот скомпилированный код можно использовать как программу без исходников, а исходники можно сохранить отдельно и как текст, и как текст со скомпилированным кодом, чтобы была возможность продолжить дальнейшую работу над программой ( типа файл проекта ; )
У меня как бы интерактивного режима не предусматривается. :no:
В частности, если этот Бейсик с Победитом проинтегрировать, чтобы получить подобие интегрированной оболочки типа Borland Pascal, где правишь листинг и жмёшь F5 для запуска! :idea:
Shaos wrote:
А так то у тебя практически то, что я и хотел получить, но в твоих терминах "Холодный пуск" - это компиляция,
Немножечко неверно.
Компиляция - генерация кода из исходного текста.
В моём же случае, код - уже сгенерирован. Но адреса меток ещё не определились.
Shaos wrote:
"Горячий запуск" - исполнение скомпилированного, а вот "Холостой пуск" скомпилированная программа вроде как делать не должна т.к. у нас отдельно лежит исходный текст :wink:
Если всё делать с акцентом на XXI век, исключаем режим непосредственного управления директивами? :roll:


13 Mar 2024 07:23
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Как раз полной компиляции хотелось бы избежать :roll:
Прелесть инкрементной компиляции (по мере добавления строк) как раз состоит в том, что она в разы быстрее!
Для ретро платформ - самое то (ибо они и так тормозные)
Ну и соответственно диалоговый режим всё ещё нужен, а полновесный редактор как раз как бы и не очень (полновесный редактор нужен для нормальных языков типа Си, там Паскаля, ну или Робби)

_________________
:dj: https://mastodon.social/@Shaos


13 Mar 2024 14:48
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 320
Location: Tashkent
Reply with quote
Shaos wrote:
Как раз полной компиляции хотелось бы избежать :roll:
Прелесть инкрементной компиляции (по мере добавления строк) как раз состоит в том, что она в разы быстрее!
Это и понятно.
Ввёл командной строкой, откопилировалось и вставилось в общий код - над этим я тоже думаю.

Но под Победит тоже поддержку иметь надо (как разработчик редактора, я как бы обязан поддержать это) - интегрированный компилятор текста.
Shaos wrote:
Для ретро платформ - самое то (ибо они и так тормозные)
Ну и соответственно диалоговый режим всё ещё нужен, а полновесный редактор как раз как бы и не очень (полновесный редактор нужен для нормальных языков типа Си, там Паскаля, ну или Робби)
Потому и на уровне Монитора я этим занимаюсь тоже.
Типа, чтобы после очередного Сброса не перезапускать среду, а сразу набрать:
Code:
РАДИО-86РК
-->LIST
:mrgreen:


14 Mar 2024 02:55
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Лучше так :)
Code:
РАДИО-86РК
-->B
NEW?
N
LIST

_________________
:dj: https://mastodon.social/@Shaos


14 Mar 2024 08:06
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 173
Location: USSR, Tashkent
Reply with quote
что вы подразумеваете под компиляцией ?

вааще то что на синклере да и на ямахе кувт, бейсик хранится в кодах. на рк не помню

в текстовом виде там нет программы. при вызове листинга коды меняются на текст.
код исполняется как байт-машина

турбо паскаль 1 (2ой не помню) тоже при компиляции получался байткод


14 Mar 2024 11:29
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22599
Location: Silicon Valley
Reply with quote
Компиляция в коды 8080
А тэги - это не коды, а недоразумение :)

_________________
:dj: https://mastodon.social/@Shaos


14 Mar 2024 14:14
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 52 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: Hammer and 69 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.