Скажем у нас будет основной бинарь бейсика SHABASIC.EXEShaos wrote: Подумалось мне, что наверное можно сделать «глубокую» интеграцию этого нового Бейсика в ShaOS! Например в ОС уже есть редактор командной строки - почему бы им не воспользоваться? При вводе строки начинающейся с числа, командный процессор не будет искать команду с именем равным этому числу, а передаст всю строку на обработку в некий “Numeric Handler”, зарегистрированный в системе, и этот хендлер просто вызовет компиляцию введённой строки в память! Точно также например введя EDIT 100 команда EDIT выведет содержимое строки с номером 100 в буфер ввода редактора командной строки и даст возможность пользователю её редактировать. Также отдельными командами (программами в COM, EXE или SYS формате) могут быть LIST, RUN и SAVE/LOAD (или это будут созданные специально для Бейсика BSAVE/BLOAD).
ShaOS будет поддерживать простейшие BAT-файлы, которые будут пробоваться первыми, если имя команды задано без расширения.
Соответственно можно создать несколько BAT-файлов следующего содержания (тут $ будет означать все аргументы как есть):
NEW.BAT:
SHABASIC /N
EDIT.BAT:
SHABASIC /E $
LIST.BAT:
SHABASIC /L $
RUN.BAT:
SHABASIC /R $
BLOAD.BAT:
SHABASIC /I $
BSAVE.BAT:
SHABASIC /O $
SHABASIC будучи запущенным первый раз останется в памяти и будет исполняться прямо из памяти при всех последующих вызовах...
P.S. Диалоговый режим работы Бейсика также можно организовать через SHABASIC - если первым аргументом будет не опция начинающаяся с /, то это должно считаться командой Бейсика - например:
SHABASIC PRINT 10+20
SHABASIC LET A%=100
и т.д. (по идее можно понаделать ещё BAT-файлов типа PRINT.BAT: SHABASIC PRINT $ и т.д. - в этом случае SHABASIC каждый раз писать будет ненужно)