LINUX.ORG.RU

Метапрог-прототип 19 + API на СУВТ + ускорение трансляции

 , , ,


0

3

Скачать:

https://mega.nz/file/ONxVwDJb#zFun6oB2BOxRglVeqNGusssQqT4teCdvtt4dEd0kfV0

В 19 версии серьезно переработан транслятор, что ускорило трансляцию схем с множеством ветвлений.

В 18 версии прототипа добавлен вывод значения переключателя из свича по СУВТ. В остальном она не отличается от 17 версии.

Это позволяет реализовывать весьма интересные вещи, например API для работы с чатом Метапрог онлайн на Метапроге:

https://i.postimg.cc/52xTMR4V/image.png

К блоку операции над структурой надо (не считая константы СУВТ) подключить ТОЛЬКО один из входов определенного типа. Это может быть переключатель (перемикач), задающий значение селектора СУВТ или любой из типов СУВТ. При подключении типов соответствующее значение переключателя СУВТ будет задано автоматически.

Кстати, украинский в Метапроге знать не совсем обязательно. Вот совершенно та же схема без изменений, только язык в настройках поменял на русский:

https://i.postimg.cc/MTygw2Qz/image.png

Только кейсы енума, управляющего СУВТ, было лень перевести:)

В версии 17 исправлен серьезный баг с кодогенерацией. В 16 версии при трансляции схем, в которых в ветку с условием «входят» данные извне, код, отвечающий за обработку этих данных (до их входа в условие) мог сгенерироваться после тела условия. Это серьезно тормозило развитие проекта, но теперь в стандартной библиотеке есть демки, успешно соединяющиеся с сервером Метапрог онлайн через Tor (SOCKS5) и работающие с некоторыми методами (проверить версию клиента и логин/регистрация).

Скорее всего, простой чат-клиент Метапрог онлайн с использованием СУВТ можно будет реализовать уже в этой версии прототипа. Если это не удастся - будут багфиксы, но если таки удастся - можно будет приступить к макросам времени компиляции, таким как «многотиповой» тип и цикл по структуре. После чего уже можно будет серьезно переделывать Метапрог «на самом себе».

Предыдущая версия:

Метапрог-прототип 16 + СУВТ по енумам

Ответ на: комментарий от paramon

Он поставил 64-битный Wine просто

А с 32-разрядным всё в порядке?

Под виртуалкой все работает идеально

То есть по факту под виндой.

А какая разница если диаграммы уже не изучить?

Почему? Код доступен, можно написать стороннюю читалку. Хотя там тоже бинарный формат.

skyvis кто то допиливает?

Там нечего особо допиливать. Он, как я понимаю, был начат исключительно на спор без особой мотивации.

hobbit ★★★★★ ()
Ответ на: комментарий от griefer

Ах ты шалунишка, небось в арсенале ещё пара десятков страниц припасена на всякий пожарный

О новые теории подъехали.

paramon ()
Ответ на: комментарий от hobbit

А с 32-разрядным всё в порядке?

Ну с той версией что мы с ОПом пользуемся да.

То есть по факту под виндой.

Да.

Почему? Код доступен, можно написать стороннюю читалку. Хотя там тоже бинарный формат.

Ну метапрог-код тоже доступен, и я написал как то клиент.

Там нечего особо допиливать. Он, как я понимаю, был начат исключительно на спор без особой мотивации.

Думаешь если бы кода (и сложности) было больше, то прям начали бы допиливать?

paramon ()
Ответ на: комментарий от liksys

Какой тебе код нужно показать, и зачем? Ты весь проджект изучишь, или может все же достаточно godbolt-примеров?

paramon ()
Ответ на: комментарий от paramon

Ну с той версией что мы с ОПом пользуемся да.

И какая же это версия?

Думаешь если бы кода (и сложности) было больше, то прям начали бы допиливать?

Если бы полезного кода было больше — то вполне вероятно. Более того, если бы скайвиз был по функциональности на уровне MyOpenLab, я бы, вероятно, предложил взять за основу именно его - там C++, не Java.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Я могу открыть свой клон метапрога на С, есть в треде желающие изучить его или помочь?

paramon ()
Ответ на: комментарий от paramon

Я могу открыть свой клон метапрога на С

Зачем сразу угрозы? Давай решим дело мирно.

i-rinat ★★★★★ ()
Ответ на: комментарий от paramon

Чем тут бравировать своим клоном на Си, лучше бы @metaprog’у его отдал. По его словам он мучается с проблемами LabVIEW, которому то это не так, то другое. Так бы ТС уже софт писал на этом твоём клоне. Ему же не обязательно самодельное использовать. Как он уже ранее говорил, если кто-то сделает, он с радостью будет использовать уже готовое.

i-rinat ★★★★★ ()
Ответ на: комментарий от paramon

Я могу открыть свой клон метапрога на С, есть в треде желающие изучить его или помочь?

Прямо именно метапрога?

Могу по крайней мере потыкать, потестировать, может, багу какую найду. Если не жалко — выкладывай.

hobbit ★★★★★ ()
Ответ на: комментарий от i-rinat

бравировать

Я не бравирую, я показываю что никому не интересен прототип даже на С. Это не совсем клон метапрога, я просто взял что мне нравится и стал делать свой проект.

paramon ()
Ответ на: комментарий от paramon

Похожим образом некоторые маленькие дети себя ведут. Они пытаются получить обещание: «Ты обещаешь? Нет, ты обещаешь?», причём ещё до того, как сообщат, что же ты им обещаешь.

Opensource работает не так. Исходники просто выкладывают, а не выпрашивают помощь перед тем, как выложить. И в большинстве случаев в эти исходники никто кроме автора и не заглядывает. К этому нужно быть морально готовым.

А ты тут какую-то клоунаду пытаешься разводить.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Opensource работает не так

Именно про это я и говорю, никому прототипы не нужны, что на LabView, что на С, более менее готовый проджект уже интересен, им возможно начнут пользоваться и могут захотеть улучшить. Поэтому смена LabView на MyOpenLab ничего не даст.

А ты тут какую-то клоунаду пытаешься разводить.

Нет, главный клоун это ты, а мне в этом участвовать не особо хочется. Именно ты продвигаешь свою шизу про то что я меняю аккаунты что бы никто не узнал что я пишу, что я избегаю игнора, что я тролль, ну и приписываешь мне противоположенные мысли, вот как сейчас.

paramon ()
Последнее исправление: paramon (всего исправлений: 2)
Ответ на: комментарий от paramon

Поэтому смена LabView на MyOpenLab ничего не даст.

Ты бы читал целиком, что тебе пишут, что ли. Такое ощущение, что ты только отдельные слова выхватываешь.

Нет, главный клоун это ты

Будь я главным клоуном, мог бы с лёгкостью прогнать неглавных клоунов вроде тебя. Но, как видишь, не получается. В твоих словах — внутренние противоречия.

что я тролль, ну и приписываешь мне противоположенные мысли, вот как сейчас.

Метапрог-прототип 16 + СУВТ по енумам (комментарий)

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Ты бы читал целиком, что тебе пишут, что ли. Такое ощущение, что ты только отдельные слова выхватываешь.

Так на остальное я уже ответил, ты сам бы хоть читал.

Будь я главным клоуном, мог бы с лёгкостью прогнать неглавных клоунов вроде тебя. Но, как видишь, не получается. В твоих словах — внутренние противоречия.

Вот только я не шизоклоун, в этом и вся твоя трабла.

paramon ()
Ответ на: комментарий от i-rinat

Opensource работает не так. Исходники просто выкладывают, а не выпрашивают помощь перед тем, как выложить.

Ну некоторые тут вообще говорят «я сделал крутую штуку, не чета местным» ВМЕСТО того, чтобы выложить. :)

Кстати, что-то давно его не слышно.

hobbit ★★★★★ ()
Ответ на: комментарий от paramon

Вот только я не шизоклоун, в этом и вся твоя трабла.

Я заявляю официальный протест, про «ШИЗОклоуна» он не писал.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Просто он никому не нужен либо вещает под Котечкой. Была ведь и такая теория.

griefer ()
Последнее исправление: griefer (всего исправлений: 1)
Ответ на: комментарий от griefer

Ты точно уверен, что понял, про кого я писал?

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Ну, ТС неделю молча курит бамбук, его давно не слышно. Лень всю ветку отслеживать, так что могу ошибаться.

griefer ()
Ответ на: комментарий от paramon

Странный товарищ, не хотите взять его четвёртым в вашу весёлую компанию? Или третьим, я перестал следить за темой с тех пор, как mertvoprog набросил про нарушение лицензионного соглашения Labview, так что не в курсе ваших взаимоотношений.

griefer ()
Ответ на: комментарий от griefer

Ну, ТС неделю молча курит бамбук, его давно не слышно

За меня и так неплохо отвечает paramon.

metaprog ()
Ответ на: комментарий от i-rinat

Так бы ТС уже софт писал на этом твоём клоне. Ему же не обязательно самодельное использовать. Как он уже ранее говорил, если кто-то сделает, он с радостью будет использовать уже готовое.

Совершенно верно, однако в котечкином Свароге, насколько я знаю, все же намного меньше плюшек, чем в прототипе Метапрога и вроде даже сишной трансляции нет.

metaprog ()
Ответ на: комментарий от fsb4000

Про 15 месяцев, paramon уже ответил. Читайте те сроки так: «Как только, так сразу». Работа идет, главное во всём этом метапроге, чтобы при разработке fun сохранялся, пока вроде метапрогу весело…

Как-то так. А щас особый фан потому что пошли не только багфиксы, но и прогресс. Рекурсия уже есть (в 21 версии), СУВТ вроде работают как задумано, со свичами по ним.

metaprog ()
Ответ на: комментарий от liksys

Вот бы у него гитхабы активные десятками лежали

Мне на твои гитхабы пох по барабану, поскольку ни одной из твоих утилит я не пользуюсь. Не нуждаюсь:)

metaprog ()
Ответ на: комментарий от metaprog

В ассемблер перегон идет, а возможностей там действительно меньше, я решил максимально упростить все, один тип числа, один тип массива итд.

paramon ()
Ответ на: комментарий от fsb4000

И чего добились за 15 месяцев антиметапрогеры?

Опозорились невежеством и глупостью, умноженными на ЧСВ. Впрочем, меня это даже забавляет.

Всё так же пытаются самоутвердиться, потому что в реале не могут?

Альтернативных реализаций Метапрога со стороны антиметапрогеров не было, чего только стоит хвастун rebforce с его «антиметапрогом»:)

arturianec100 вроде в истеричном антиметапрогерстве не замечен, но Skyvis уже более чем полгода как забросил. А вот прогресс по прототипу Метапрога, как видишь, идет.

Кстати, откуда ты знаешь как изменился уровень метапрога в том же С за 15 месяцев?

Какая разница, если мои трансляции работают и функционал прототипа растет? Мне вообще не нравится кичиться какими-то знаниями ради знаний. Скажем, тем, что я знаю английский, я тоже не кичусь - наоборот, я б гордился его незнанием если б я его реально не знал. Это сродни понтам типа дорогих часов, машин итп. Я вот принципиально ношу дешевые часы и хвастаюсь тем какие они дешевые.

А в случае каких-то проблем есть более знающие люди, которые непременно помогут и подскажут. Тот баг с объявлением указателя но необъявлением переменной для данных был по-детски простым, я не столько не знал что это надо делать, сколько забыл и указатели в параметрах функций передавались нулевые. В Си многое про внимательность, и Метапрог (даже в виде недоделанного прототипа) освобождает от множества подобных проблем.

metaprog ()
Ответ на: комментарий от abcq

перестаньте помогать

Что? Может и ОПу перестать еще метапрог разрабатывать? %)

Это было бы логичным решением

Вообще-то желать зла нехорошо.

metaprog ()
Ответ на: комментарий от hobbit

В отличие от этого, MyOpenLab прозрачна, её можно изучать внешними средствами, сопрягать с другими инструментами.

Ну так попробуй сам сделать что-то подобное Метапрогу на джаве, допиливая MyOpenLab. У тебя ж нет моего отвращения к текстовым ЯП и джаве?))

metaprog ()
Ответ на: комментарий от metaprog

За меня и так неплохо отвечает paramon.

Да троллит тут за вас двоих.

Нет, СКВ для метапрог-диаграмм (не помню формат mpdb что ли)

Так что там за формат то у диаграмм? Твоей разработки?

И когда можно будет твои схемы без установки labview или метапрога смотреть?. Не скриншоты, а именно схемы что в СКВ лежат.

Razk ()
Последнее исправление: Razk (всего исправлений: 1)
Ответ на: комментарий от metaprog

Никакого зла, я же не запрещаю вам делать что вы делаете, никак насильно на вас не воздействую, хотите - делайте. Я лишь написал что в виду всех за и против это было бы логично, ну по крайней мере если бы у меня была схожая с вашей позиция отрицания обучения всему что мне не нравится, но я бы делал транслятор на то что мне не нравится, и для того чтобы его делать мне бы нужны были посторонние люди, я бы вообще не стал писать такой транслятор.

abcq ()
Ответ на: комментарий от metaprog

тем, что я знаю английский, я тоже не кичусь - наоборот, я б гордился его незнанием если б я его реально не знал

Какая ирония, прямо сейчас ты в очередной раз опозорился

невежеством и глупостью, умноженными на ЧСВ

За полтора года ты нисколько не изменился.

griefer ()
Ответ на: комментарий от metaprog

Ни на один мой вопрос он не ответил.

А нет, ошибаюсь, один осмысленный ответ всё же был. Про аккаунты.

griefer ()
Последнее исправление: griefer (всего исправлений: 1)
Ответ на: комментарий от griefer

Я в данном случае не про ТСа. Котечка правильно угадал, о ком речь.

hobbit ★★★★★ ()
Ответ на: комментарий от metaprog

У тебя ж нет моего отвращения к текстовым ЯП и джаве?))

Нет. Но у меня и стимула особого нет. Я считаю, что текстовые языки далеко не исчерпали свой потенциал, а в сколько-нибудь крупных функциях текст более читаем, чем диаграммы. Вот в C++ модули наконец появились, к ним бы ещё стандартную сборочную систему со строгим декларативным синтаксисом приделать…

В данном случае я просто представляю, по какому бы пути я шёл, если бы поставил цель развивать визуальное программирование. И я бы постарался идти эволюционным путём и взять лучшее от обоих миров. Серебряной пули не бывает. Главный недостаток твоего проекта — ты варишь его в своём соку, и хочешь, чтобы всё было на диаграммах, даже прототип.

В чём была, к примеру, была революционность появления линкеров и объектных файлов? Эта концепция не только позволила организовывать модульность. Она позволила в одном проекте использовать файлы на разных языках. Конечно, это революция из 70-х годов прошлого века и с тех пор она обросла множеством проблем (к примеру, объектники, полученные из C++, это отдельные грабли).

Вот если бы ты, например, подумал, а можно ли будет в одном проекте объединять код на диаграммах и текстовых языках…

hobbit ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)