Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я её процитировал, а Do It! - относится к " Пишем nedoBasic для 8080/8085" - пора писать! Все нюансы обсудили! P.S. А этот хит - он есть на многих языках...
_________________ iLavr
|
31 Jan 2023 22:40 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
Да вроде ничего ещё не обсудили Проще конечно как в Вильнус-бейсике - каждая команда на своей строке Хотя лепить команды без ветвлений в одну строку наверное несложно И как в ранних Бейсиках IF...THEN только с номером FOR...TO...STEP и NEXT var немножко сложно Ограничиться переменными A...Z - пока целочисленными, а потом плавающую точку приделать При появлении плавающей точки целочисленность можно в A%...Z% увести Строки - надо смотреть...
|
31 Jan 2023 23:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
_________________ iLavr
|
01 Feb 2023 00:19 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
Обана - а откуда Вакуленко их взял? Надо чтоли будет как-нибудь спросить...
|
01 Feb 2023 00:29 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
По ходу надо иметь 2 стека - стек возвратов и стек данных Стек данных должен быть пустой в начале каждой строки FOR/NEXT пока отложим на потом - для него нужен будет какой-то третий стек, причём глобальный Стек данных наверное тоже через SP быстрее всего делать - просто менять SP на какой-то сохранённый заренее указатель, а после работы со стеком данных вернуть SP обратно: Чото как-то жырновато - пожалуй со стеком данных надо работать ручками: Или вообще всегда хранить указатель на стек данных в DE... P.S. А можно попробовать объединить стек данных и стек возвратов, как у меня уже было сделано в nedoPC SDK
|
01 Feb 2023 01:14 |
|
|
forthuser
Senior
Joined: 12 Jan 2023 07:26 Posts: 165
|
Бейсик поверх Форта - вполне рабочий вариант. Как пример uBasicМожно по описанию JonesForth сделать вариант встроенного Форта для дальнейшего его расширения до Бейсик (Си ...) Перевод JonesForthNasmJF- он же перенесённый на Nasm ассемблер. (у меня сходу, почему то, незапустился - пришлось сделать пару мелких правок) Nasmjf Forth -блог автора порта на NasmP.S. Интересно, а разработчики ZX-Spectrum когда делали Форт для своего компьютера Jupter ACE какую реализацию Форт использовали Disassembly of Jupiter ACE ROM
|
01 Feb 2023 01:38 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
По идее по достижению каждого разделителя : в строке он тоже должен опустеть - он нужен, чтобы засунуть аргументы для оператора перед его вызовом и для вычисления арифметических выражений Например по достижению GOSUB на нижнем уровне будет просто CALL - при этом указатель на стек данных запоминать ненадо т.к. до и после GOSUB стек данных должен быть пустым GOTO это просто JMP на адрес IF ... THEN n тоже JMP после проверки условия (или условный JNZ) а RETURN будет просто RET P.S. Оказывается в РФ есть ГОСТ на Бейсик https://allgosts.ru/35/060/gost_27787-88
|
01 Feb 2023 01:41 |
|
|
imsushka
Senior
Joined: 01 Jan 2022 04:34 Posts: 173 Location: USSR, Tashkent
|
а зачем писать ? мсх васик есть в исходниках (несмог найти у себя в помойке) но он вроде под только под зх80. но переделать под 8080 не очень сложно.
|
01 Feb 2023 03:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Иногда легче написать заново, чем что-то переделывать...
_________________ iLavr
|
01 Feb 2023 03:58 |
|
|
Mondx
Doomed
Joined: 10 Aug 2022 07:27 Posts: 356
|
Даже в начале 90-х писал пакетник редактору для конвертации 8080 в z80. А сейчас то какие проблемы?)
|
01 Feb 2023 04:20 |
|
|
imsushka
Senior
Joined: 01 Jan 2022 04:34 Posts: 173 Location: USSR, Tashkent
|
8080 в z80 не проблема, а вот обратно... и да мсх васика не нашел, GWbasic есть. и несторбасик есть хотя я точно помню что мчх тоже был. плохо иметь большие харды. а если их еще и несколько....
|
01 Feb 2023 05:24 |
|
|
Mondx
Doomed
Joined: 10 Aug 2022 07:27 Posts: 356
|
Так а чё, поиск не спасает?) В том же Тотал Командере хотя бы.
|
01 Feb 2023 05:40 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
А зачем мне мсхвасик? Ему мсхдос нужен, которого у меня нет и не будет… Подумалось мне, что наверное можно сделать «глубокую» интеграцию этого нового Бейсика в ShaOS! Например в ОС уже есть редактор командной строки - почему бы им не воспользоваться? При вводе строки начинающейся с числа, командный процессор не будет искать команду с именем равным этому числу, а передаст всю строку на обработку в некий “Numeric Handler”, зарегистрированный в системе, и этот хендлер просто вызовет компиляцию введённой строки в память! Точно также например введя EDIT 100 команда EDIT выведет содержимое строки с номером 100 в буфер ввода редактора командной строки и даст возможность пользователю её редактировать. Также отдельными командами (программами в COM, EXE или SYS формате) могут быть LIST, RUN и SAVE/LOAD (или это будут созданные специально для Бейсика BSAVE/BLOAD). P.S. По идее в случае такой интеграции в ShaOS этот диалект Бейсика надо назвать не nedoBasic, а скажем SHABASIC ( что влезает в 8 символов : ) P.P.S. Поменял тему топика. Также ввиду тесной интеграции этого Бейсика с публик-домейной ОС он также будет считаться PUBLIC DOMAIN, так что не стесняемся контрибьютить - код будет ничейный, т.е. общий
|
01 Feb 2023 12:38 |
|
|
imsushka
Senior
Joined: 01 Jan 2022 04:34 Posts: 173 Location: USSR, Tashkent
|
какой мсхдос ????????????? он в пзушке сидит 32 кило. на всех машинах есть. и с диском и без у мсха класный редактор стрелками двигаешься по экрану, паравишь где чо хошь, а когда давишь ентер - он начинает обрабатывать данную строку.
|
01 Feb 2023 19:58 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22607 Location: Silicon Valley
|
и чо он умеет построчно компилировать? а может сразу GWBasic портировать чо уж там? 8086 или 8080 - одна фигня ага "переделать под 8080 не очень сложно"
|
01 Feb 2023 20:02 |
|
|