Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » трансляторы » Бейсик вместо Lua


Бейсик вместо Lua

Сообщений 1 страница 13 из 13

1

много десятилетий назад были такие компьютеры Yamaha MSX. И был там внутри встроенный бейсик. Отличительной его особенностью были подпрограммы. Т.е. подпрограммы были, а параметров у них не было. Хочешь рекурсию - пожалуйста, но данные через массив с индексом, зависящим от глубины. Таким образом можно обойтись без механизма описания функций и передачи параметров через (аппаратный) стек. И таким образом сэкономить на его имплементации в трансляторе.

Это я MihalNik-у пишу. Он нападает на меня, что я не хочу использовать псевдокод. А мне хотелось бы чтобы всё-таки ещё как-нибудь было и исполнение.

И такой вот язык с подпрограммами без параметров является промежуточным между ассемблером и C с функциями.

Отредактировано Лис (2018-10-10 18:54:20)

0

2

Таким образом можно обойтись без механизма описания функций и передачи параметров через (аппаратный) стек. И таким образом сэкономить на его имплементации в трансляторе.

Молодец, кэп.

И такой вот язык с подпрограммами без параметров является промежуточным между ассемблером и C с функциями.

М/у ненужным Лису ассемблером и нужными исключит-но для его написания сями с функциями.

Он нападает на меня, что я не хочу использовать псевдокод. А мне хотелось бы чтобы всё-таки ещё как-нибудь было и исполнение.

Нечего исполнять.

Отредактировано MihalNik (2018-10-10 20:42:37)

0

3

много десятилетий назад были такие компьютеры Yamaha MSX. И был там внутри встроенный бейсик.

Я на нем работал.

Отличительной его особенностью были подпрограммы.

Вы не правы. Это не его особенность. А особенность бейсиков того времени. Сейчас приходят к тому же самому. Что-то отдаленно похожее это сопрограммы.

Таким образом можно обойтись без механизма описания функций и передачи параметров через (аппаратный) стек. И таким образом сэкономить на его имплементации в трансляторе.

Это реально неудобно. Поверьте я так прогал. Когда у Вас 2-3 подпрограммы жить можно. Когда у Вас 300 функций, Вы поседеете отлаживать такую программу. Приятно восхищаться динозавром глядя на картинку. Но бегать от динозавра никому не хочется. Поэтому не нужно романтизировать старину.

ЗЫ. Gosub не очерчивает границы подпрограммы, есть только нижняя метка - Return. Поэтому можно делать вызовы в разные места, и если программа заканчивалась раньше чем Return, то значит так задумал Аллах и это не считалось ошибкой.

ЗЫ.ЗЫ. Ямахи были круче остальных компьютеров, потому что в их бейсиках было простое управление звуком на уровне встроенных операторов. На Агатах требовалось обращение к АПИ монитора (это вместо ОСи было). через операторы PEEK и POKE.

Отредактировано utkin (2018-10-10 21:01:34)

0

4

utkin написал(а):

Это реально неудобно.

Но удобнее же чем машкод и ассемблер.
Я толкаю идею, что чучхе должны
1) выписать механизмы:
1.1) расчёт адресов инструкций и данных
1.2) трансляция мнемоник в байты
1.3) парсинг формул и операторов
1.4) передача параметров функций через стек
1.5) система типов (структуры)
1.6) сборка мусора
1.7) выведение типов
1.8) генерики
и т.д.
2) а затем последовательно реализовать эти механизмы
начиная с интерпретатора машкода написанного в кодах и
поднимаясь выше опираться на написанное на предыдущем уровне.

0

5

Но удобнее же чем машкод и ассемблер.

В них придумали макросы для реализации тех же процедур и функций.

0

6

utkin написал(а):

В них придумали макросы для реализации тех же процедур и функций.

Не-не, макросы - это ортогональная фича. Вон в том же C есть и функции и макросы одновременно.

0

7

Но удобнее же чем машкод и ассемблер.

Мне вот это тоже нравится. С родился по-моему раньше паскаля, но тру, а паскаль мертв и есть более современные вещи. Ок, вот луа предложили. И потом вдруг я где-то пропустил вспышку и все скатилось сначала до бейсика образца первобытно-общинного строя, а теперь и вовсе в Си. Тихий ужас...
Годы создания:
паскаль - 1970
си - 1972
бейсик - 1964

Странно, что Вы еще труп фортрана не достали...

Отредактировано utkin (2018-10-10 21:28:41)

0

8

Лис написал(а):

чучхе должны
1) выписать механизмы:
1.1) расчёт адресов инструкций и данных
1.2) трансляция мнемоник в байты
1.3) парсинг формул и операторов
1.4) передача параметров функций через стек
1.5) система типов (структуры)
1.6) сборка мусора
1.7) выведение типов
1.8) генерики
и т.д.
2) а затем последовательно реализовать эти механизмы
начиная с интерпретатора машкода написанного в кодах и
поднимаясь выше опираться на написанное на предыдущем уровне.

Чучхе должны, а Utkin и MihalNik - нет.

0

9

utkin написал(а):

С родился по-моему раньше паскаля

Позже. При том сделан на коленке, с дырявой логикой, бессмысленными обозначениями. Но, видимо, для тех, у кого были выч. машины - он был свой!

Странно, что Вы еще труп фортрана не достали...

На сайте Юрия выложены записки раз(/пере)работчика компилятора PL/I из косм. отрасли. Да-да, оно там живёт)

Отредактировано MihalNik (2018-10-10 21:42:33)

0

10

MihalNik написал(а):

Чучхе должны, а Utkin и MihalNik - нет.

Чучхе смогут гордиться самостоятельностью. А Utkin с MihalNik будут использовать английские буквы (и в платформе и в никах).

Несмотря на мелкие подначки некоторых коллег, Лис мягко лежит твёрдо стоит на всех четырёх лапах. А заявления о том, что Лис ничего не делает, потому что у него нет рук - грязные инсинуации!

Лис занят поиском волонтёров (с руками).

0

11

Вот так и я заразился бейсиком в школе. Как раз того времени как эти Ямахи. Ямахи были маленькие, черные и крутые. Агаты большие серые ящики (клоны устаревших Эплов с эпловским бейсиком и индийскими компонентами внутри). Сплошная ностальгия. Почти как вспомнить первую любовь...

Лис занят поиском волонтёров (с руками).

Лису нужно выбрать модель и приступить к проектированию.

А Utkin с MihalNik будут использовать английские буквы (и в платформе и в никах).

Если Вы будете linux писать как линукс, то как бэ эффективность ИТ отрасли в РФ вырастет чуть менее чем никак.

Отредактировано utkin (2018-10-10 21:44:11)

0

12

utkin написал(а):

Если Вы будете linux писать как линукс, то как бэ эффективность ИТ отрасли в РФ вырастет чуть менее чем никак.

см. Почему программировать нужно на языке с кириллицей

Отредактировано Лис (2018-10-11 05:03:08)

0

13

Я там смотрел и даже иногда отмечаюсь :).

0


Вы здесь » Русскоязычное программирование » трансляторы » Бейсик вместо Lua