OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 14 Июнь, 2025 21:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 404 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 11 Ноябрь, 2024 02:44 
Аватара пользователя

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 144
Откуда: Equestria
Oleg N. Cher писал(а):
не вижу простого способа перейти на позицию ошибки
Кастомной командой.
Код:
StdCoder.Decode ..,1 ..w.....VeQHfRTNHT9NTtEP9Nbf9T9N5Hc8rocIbfQ5v9DuPdvPjO
 ORf9T9N51.gdZphpRiiwhY,HH,...
 1Ak...ZT....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.8q1
 E.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7ONbXmb.2.
 2q4k2EIP.,E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.Ze,E.CcIhgsNHT
 9N9ntQ8qorG4704D.CbB,708T1U.EiG.T.d8,2U..z2,cU.ktAcoZimBhWhiohgnZcZRCY.2.w
 26.I16.M.6.JFA0z.U.2m,.5A.AU0KyB.,..e,2.AU.Ue.E.mP,UC.z5G.0kG5.1M0kokzrobG
 oemoW0Gc8roOrVqKmCrRqk4akYqIcyIdGJEGpmWLuO3CLK0GeK45uPR9RZvPN9P9fQb99,7FHP
 MNvPD99,tId9N5OP7vQEf4Idqk2aEuyqrmKJeHE8pWCob8JWqk2ak20rrCLJeHEaIbGpWSoW8p
 4aU3pd2RbBAV7gV72eGxd1hc2heGhcUwdkhgiZejxhgZcdBAIZU2ZaBhghgg2YoBhoZhZJbUAc
 GJe,BfUwd43Y13d,JedQbBAV7oe,76BfC,NEZ08nOOHEyIX00QbBAV0hc5BdChV7AV7pcUYcdB
 AoZ7RiBBgX3Zd2YI3d3pdUogUIbx2YaBhg77,t8,d6POM5f6PM0HMFNuIHeF,7F.wedphYxhrR
 icAZU...sJHfP3N1HM0MF,dN,dC.qk2akWu2sId9N50RtHVPNR1.WGnmGEGrokIqk2KIb2YD3i
 Z,.in4qUE,U5xhoxheQbBAV7oe,FveHEGpmWbK,R,iHECKR0GeK450.umVyKrG5kRqk282UoVi
 2ijRiUIbx2Y,JcH3Zoxhj,amRqk2oiUIbx6J99SO3Cb4xhXhin3ZdQbBA,HWq3YX2YCBdA3YI3
 d3N1Hk2CKEenSoiiYecBhnRcjpho,2Zd2ZIhgstE.sQ.UdQbBk2a2dvPT1THEunS0mluGuK4R7
 H9fPD9RF98H76d0,7RT1ERsM..M9,NA,NFR8Fr,OLLCJoyqv8pkuqnKKIGrry469,7RTvPu00m
 J0mMmGEGpmcJUVphtBZvgV7klumdKKuCpmmqmCKuaqruKIGrry469,,u000am4ak2K2r,7OO19
 PoZJ3iYBgohgcYijlIqk2K2,tFT9Rin4ak4aEc..wcpBgmZge2Ycoe,JeU2iVJiu2Y2BhV,VOM
 ZP8rV0,6Q1fQR7NHvQ1fMNPN796pND,7J.cF.,ND,dHH8HrN1HMFR0.QbBgV3pd27IZPO.3Qwd
 ONQ6ICktQeotEdfQN9F9vQ59.X5..RtE.6F9vQ59.C244.IC...Qii..70,cwE.E8E.k22.,6.
 .M.3QwdONIepZBZvQRtIIepZBG20ksH3.bf9ZORNPNG20EtD.0E.ses,sc6.,k,5D.CLLC3b8R
 n9P99F9vQ59.X5.u0n9PU.Iy5.,.60cK2.,U00.umUG5kmY62.7.,..Y22U,2.2.2alK96.tfj
 1kDz41.1.,6.Ikmj,,U...p.0.4.I3.0E65.2..N6yY,YbdS9L6y0I,5TWkqK4Qcj,.E6E...F
 .,.aU.EsXNv2ouBH,AzJE.nT32iQSB,dTR2xP0...
 1Ak...2I....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.4M0
 E.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.T
 y.A,ws1E.0E.cUOor8rqOpoKantId9NhOO9vR704TXyKt.bHfEWUmL.6..D.Xv.6.,sUOor8bB
 xhYltQ8qorGqmY6Mw.sQq2Y6cwB.0.Bg.I,oj0E.0E.E,RcjpBZvPNvQRdFHPNN9N7ONbXlT6.
 CoruKuEWKqtcw5.0.p20.3A.6.76I8bddRCYh7NCbi6Ryaj7PuWktPC5CWEdQUu6JKas7R0Wkt
 PMOGbdtPu40Zm,C2.SYj7Rya5NR4am7N6..1.,6.h6IZETyBhCo1FBfG0Ikl1sQ0puCLo8ouGL
 uyKrGomCrlc10U.2.06,.W40U2...w6.,..I5D0.V0kV...D0.2.U,.,cYR63GrRKUm4xS6PlB
 08Mtz.0E.6Q0U.UMV.6,bGuYA5mq.Q6NnrQC9HWAB1HqwBDX.Q2bmwQCdnmgBplVAARnlgANH.
 2..A.cBt8,GrRcJht1mKQX.X5.5OMV9RHvPR9F91Zb.E.6J6.6D6.GE.Q2V0ERY82D.TntABkr
 oB6..4.2UywPmLT5U5IXF6nX6,06,.Iklr6QcjpB6P9fQbf9b8RCoruKu.GomCb.Ay4,.sQRtE
 T1U2V.sEMM.Et...ktu0.Y62Umb.2..k26.0U0E.2U0AUkpMunj706.AUA2TmEwtQvz6iJSfU0
 Cy2,U1xB..C,0E..U6U..U.RfnlA9e.az86Utb.rfc7UtwZ.ST1...
 1Ak...KI....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.CN0
 E.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.1
 z.A,Av1E.0E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.5w.6.,sUXDJ99S
 qorGqmQCbWBxhYFWUl1UnNHEWUmr.6.gl,k5k05.,6.,.T4,cU.ktAcoZimBhWhiohgnZcZRCY
 .2.w26.I16.M.EJ2XkD.6.th.E0k.8Mtr.2.S02.e,2.AU.Ue.E.0t.U9U0Ikmj,6..EBU.wTz
 5,6.J,U.2GE0k.C.8E,k.47Q.wzBhcCheUIYEJidpiWgVBAVW2edphfJY7IY43bWAVWQeoZg1h
 hYRiiQcjZhjJic2a4pck2a4pc6BZWAVWQ8.U5hiVJiY3Zkoc43427qk4aU5xhoxhWAVWIY7IYE
 JidtEP9Nbnb0rmuKeyqrmKWaqkmqrSKISGc8roOrL8pt8rlymXyKuyqHmmHSorG5Hd6,d6dONl
 9R5OP7X4xhXhinxcpBgmd6PM19eH7eUXDJkruKu8rrmKqKKtCLLCJu6RZ9P7ONbvM,Mw..c95u
 PR9R.7ONbvM,kVkk.Um,..Unp3.6F6.Z50.G,0.aU.E..k.8ssHpmcIf9P9fQbf9bWGhigFWE.
 4Te.sQRdIf9P9HWE.8z,E.0.L3D.53,6.C6.QiiQ8CJuaLqKKWKqtCK.4D.o3aLq.,cwDE.6..
 F.p0,6.IE.EL4Iu.6F6.G.0..676.16.6.6AXhKE.mLT5UTyB4.4.0E.cUZT1E..UO.,.1.e0.
 ,6Y1.0.UA2Tm.mnIjZ92T,eUXDF.sE..626..U6U..HE.6EruQAnW8Utj00My7kx8O0MCT7db.
 ...
 --- end of encoding ---


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 07 Декабрь, 2024 20:09 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 238
Откуда: Питер
Windows вполне поддерживает Unicode, в т.ч. расширенный диапазон (с кодом > U+FFFF).
oFront+ тоже поддерживает: такая буква (из расширенного диапазона) правильно выводится и в консоль, и в MessageBoxW:

Код:
CONST
  str = 0D801X + 0DC36X;


А если эту букву напрямую встаыить в исходный файл (utf8, с опцией -w), то oFront+ выдаёт предупреждения, и она неправильно выводится.

(см. вложение, при попытке отправить сообщение с этой буквой на данном форуме происходио ошибка - администратору на заметку).

Кажется, в строковых константах расширенные символы просто конвертируются в знаки вопроса.
Это можно как-то исправить?


Вложения:
code.rar [115 байт]
Скачиваний: 140
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2024 17:16 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
У Вас в приложенном исходнике фигурирует строка, закодированная в UTF-8 как F0 90 90 B6. Если это нельзя перекодировать в UCS-2, будет ошибка.

В двухбайтовом типе SYSTEM.CHAR16 каждый символ занимает по два байта. Кодировка UCS-2 предполагает, что каждый символ занимает по два байта. Что Вы предлагаете? Ввести кодирование поверх UCS-2 с разным размером символов?

А когда я копирую текст из Sublime в BlackBox и сохраняю, строка уже закодирована как 01 58 36 5C (в .odc-файле). И выглядит это как маленькая буква 'w' или 'ш' с уменьшенной средней вертикальной полосой, и визуально выглядящая меньше, чем обычная строчная буква.

Ну вот я сейчас открыл Ваш файл в XDev (с перекодировкой из UTF-8). Не похоже, что всё в порядке.


Вложения:
recode.png
recode.png [ 4.33 КБ | Просмотров: 5344 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Декабрь, 2024 22:52 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 238
Откуда: Питер
Эта буква - символ U+10436 из расширенного (с кодами > 0FFFFH) набора юникода.
В кодировке UTF16 LE (Windows и BlackBox) он представлен суррогатной парой 0D801X + 0DC36X.

Первый пример из моего предыдущего сообщения показывает, что в oFront+'е строки, собственно, поддерживают кодировку UTF-16, включая суррогатные пары. Ничего удивительного - это стандартная кодировка в Windows. Если oFront+ научится и в исходниках правильно обрабатывать суррогатные пары, по получится переход из UCS2 в юникод (в кодировке UTF16 LE) с небольшими усилияими. Я предлагаю вам это сделать.

З.Ы. (строго говоря, надо ещё посмотреть на реализацию сравнения строк в oFront+)

З.З.Ы. Во вложении скриншот файла, который я прилагал ранее, в текстовом редакторе AkelPad (он поддерживает юникод). Всё выглядит как дОлжно. Можно скопировать в BlackBox через буфер обмена - там символ тоже показывается корректно. Похоже, ваш XDev тоже не полностью поддерживает юникод.


Вложения:
code.png
code.png [ 13.55 КБ | Просмотров: 5177 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 10 Декабрь, 2024 17:52 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Ну смотрите. Когда я реализовывал перекодировку из UTF-8 в UCS-2, взял код прямо из BlackBox. Процедура Texts.ReadLong:

Код:
  PROCEDURE ReadLong* (VAR R: Reader; OUT longch: LONGCHAR): BOOLEAN;
    VAR ch: CHAR; val: LONGINT;
  BEGIN Read(R, ch);
    IF ch < 80X THEN
      longch := ch
    ELSIF ch < 0E0X THEN
      val := ORD(ch) - 192;
      IF val < 0 THEN RETURN FALSE END;
      Read(R, ch); val := val * 64 + ORD(ch) - 128;
      IF (ch < 80X) OR (ch >= 0E0X) THEN RETURN FALSE END;
      longch := CHR(val)
    ELSIF ch < 0F0X THEN
      val := ORD(ch) - 224;
      Read(R, ch); val := val * 64 + ORD(ch) - 128;
      IF (ch < 80X) OR (ch >= 0E0X) THEN RETURN FALSE END;
      Read(R, ch); val := val * 64 + ORD(ch) - 128;
      IF (ch < 80X) OR (ch >= 0E0X) THEN RETURN FALSE END;
      longch := CHR(val)
    ELSE
      RETURN FALSE
    END;
    RETURN TRUE
  END ReadLong;

Аналог в BlackBox 1.6 это процедура Kernel.Utf8ToString, можете сравнить.

Теперь если следовать Вашей рекомендации добавить суррогатные пары и UTF16 LE минимальными усилиями, тогда, как минимум, усложнится вычисление длины строки, ведь такой четырёхбайтный символ это один символ.

Могу Вам только посоветовать работать без опции -w, тогда строки будут взяты "как есть". А именно это Вам и нужно, не так ли? А с вычислением длины разбирайтесь уже сами.

В крайнем случае, можете сами сделать нужные правки в Ofront+. Если кто-то ещё скажет, что в этом есть смысл и "буду пользоваться", тогда добавим это в master.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 12 Декабрь, 2024 00:50 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Тут некоторые вообще не понимают преимуществ трансляции через Си. И думают, что их кривые NanoJit'ы с их отличной реализацией LONGINT'ов и поддержкой всего пары платформ подойдут всем. Но здесь надо исходить из потребностей и поставленных задач. Кому-то нужно программировать и для более других платформ, а не только самоудовлетворять себя повторением чужих игр.

И ещё. Некоторые словоблуды из "ярмарки тщеславия" настолько укоренились в своём высокомерии и выражении превосходства, что даже не осознают как примитивно это выглядит. Они, чтобы набить себе цену, вместо фразы "по малолетству менял местами буковки a и b в слове baba" втирают, что-де занимались Symbolic computations. Всё это просто тошнотворно. Есть смысл заглянуть как правильно в книгах по психиатрии называется подростковый синдром дефицита внимания, при котором подросток каждые пять минут кричит: "мама, смотри как я могу".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 12 Декабрь, 2024 22:57 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 593
Откуда: Москва
Oleg N. Cher писал(а):
Тут некоторые вообще не понимают преимуществ трансляции через Си.

Верно. Переносил программу МультиОберона на QNX. Странслировал на Линукс в С, скопировал сишный код на QNX, скомпилировал на целевой машине. Все. (Только значения констант системных библиотек другие.)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 13 Декабрь, 2024 09:12 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1623
Ну вот, Олег не удержался и вбросил в своей же содержательной и полезной теме. Скучно стало, что ли?
В случае Оберона, компиляция через Си - это быстрый способ получить посредственный результат. Нравится нам это или нет, но мы (большинство из нас) находимся _под_ Америкой в плане технологии, а в Америке ветер поменялся, вот например:

https://www.techrepublic.com/article/ci ... endations/

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

P.S. я не против Вашего проекта, Олег. Возможно, он адекватен для тех задач, которые он решает (я даже не в курсе, какие). Им пользуются люди - и прекрасно. Я вот не достиг этого уровня со своими поделками. Это не в Ваш огород камень.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 13 Декабрь, 2024 20:03 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1437
Oleg N. Cher писал(а):
Тут некоторые вообще не понимают преимуществ трансляции через Си.


"Этот подход имеет все преимущества воровства перед честным трудом".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 13 Декабрь, 2024 21:22 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1623
Только что видел круглую луну и всё понял.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Декабрь, 2024 00:18 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
budden писал(а):
В случае Оберона, компиляция через Си - это быстрый способ получить посредственный результат.
Денис, ну вот кто бы говорил со своим Лиспом.

Лично для меня трансляция в Си это единственный способ писать на Обероне для тех платформ, для которых компилятора Оберона нет и никогда не будет. Альтернативы просто нет. Вы и вам подобные не пишут компиляторов Оберона для интересующих меня платформ. Но может оно и хорошо.

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

Вот Дмитрий Викторович Дагаев пишет про свой положительный опыт разработки через трансляцию в Си, но Вы его даже не слышите, занятые мечтами про свои яры и укли, что для Вас много важнее, чем его опыт. И подобные же задачи были у Йозефа Темпла, из-за чего, собственно, появился Ofront. И у Oberon microsystems были такие задачи, из-за чего появилась их версия Ofront, адаптированная для Компонентного Паскаля. То же самое можно сказать о ребятах из Excelsior с их XDS-C. И о разработчике OO2C. Почему Вы этого не понимаете и не оцениваете? Одурманивание лиспами сказывается? Почему Вас не убеждает их опыт? Они что, неправильные не-Виртовские оберонщики? Или свои лиспы ближе к телу? Вы плюёте на их задачи, на их опыт, и выпячиваете свои эфемерные взгляды за истину, напялив маску спасителя. Это как раз и есть моя главная претензия. Коробит.

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

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

budden писал(а):
я не против Вашего проекта, Олег. Возможно, он адекватен для тех задач, которые он решает
Адекватен. Пользуюсь. Лисп для много чего, что я делаю, просто не подойдёт.

Вот только ленивый не пнёт трансляцию в Си, да? А почему Вы не льёте помои на промежуточное представление LLVM или GCC? Или даже XDS. А что там у вас внутри Лиспов крутится?

Ладно, можете не отвечать. Меня спасать русскими ярами не надо. Хотя я сам славянофил, но вот конкретно от Вашей деятельности воротит. Без обид. Так что мы просто друг друга не оценили, да и не надо это. Оценивайте друг друга с arisu. А ведь вы с ним тоже не единомышленники. Уверен, он абсолютно равнодушен к Вашим идеям и рассматривает Вас исключительно как любопытного зверька в кунсткамере. Да и Вы полностью равнодушны к его деятельности. Ну делает и делает, лишь бы не плакал и маму не звал.

А вот что у вас ним общего, так это приверженность принципу "мне надо - значит всем надо". Поэтому он без разбора суёт фишки в свой Ur и лихо при этом подмигивает, гыг. Прям ковбой. А не хочется - не пользуйся. И уж если начистоту, то лучше бы реализовал Компонентный Паскаль для 64 бит вместо своих извращений. Тогда бы польза была не только ему. Но зачем ему это. Жизнь слишком коротка.

А Вы со своим Лиспом - раз Вам надо, значит всем надо. А вот и нет. Я больше в своём праве, ибо это Оберон-форум. И, Денис, поскольку Вам не нравятся подходы Вирта (даже простоту Вы понимаете как-то по-своему извратно), то не Вам их и оценивать, что правильно по Вирту, а что нет.

По поводу луны - ну очень смешно. Я обхохотался.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Декабрь, 2024 11:47 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1623
Обхохотались, но Ваше прошлое подобное фонтанирование было тогда, когда Луна в прошлый раз была круглой. А уж пишут ли про это в книжках по психиатрии - я не знаю, мне эта тема не близка. В остальном Ваше высказывание носит выраженный характер облаивания и комментариев не стоит. Вы сами свою тему этим украсили, Ваша тема - Ваш выбор.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Декабрь, 2024 12:04 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Я знаете почему обхохотался? Из-за Вашего лицемерия, Денис. Ибо Вы связали луну не с постом arisu, в котором он опять пытается меня трогать. Ну да, ему и отрицательное внимание приятно. А с моим, где я просто ему отвечаю. Вынужденно. Тему же пришлось задействовать потому, что Борис закрыл тему разборок в карантине.

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

Я: работаю с тем, что есть. Сейчас. Ибо это данность.
Вы: мечтаете про лапотный проц, лапотную ОС и язык на уклях.

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

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

Какая ирония, Денис. Для технологического противостояния Западу нужна идея. А у Вас такой идеи нет. Заимствовать и перекрасить на идею явно не тянет. Смиритесь, ибо не дано Вам. Будьте смиренным программистом, как завещал Э. Дейкстра. А не корчите из себя спасителя всея лапотной айти отрасли. И тогда Вы уже будете смотреться намного симпатичнее.

Кстати, Вы почему до сих пор не избили arisu ногами за то, что он взял неправославный буржуйский NanoJit вместо написания своего лапотного на Яре под Яос на уклях? Это же сложно и не по-Виртовски. Ну хоть пните его ради приличия. Покажите, что Вы за идею, а не за кумовство. :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 14 Декабрь, 2024 14:08 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Ну хорошо, Денис. Давайте без лирики, раз Вам неприятно. Допустим, у нас есть задача разработать программу под русские процессоры Байкал или Эльбрус, для которых на удивление уже есть компиляторы Си. Что конкретно Вы можете предложить? Кроме дать Вам денег на идеальный Яр с уклями, который будет готов примерно когда-нибудь. А задачу надо решать уже сегодня. А писать хочется на Обероне или КП. Я что-то думаю, что ничего Вы предложить не сможете. Какая тут альтернатива трансляции в Си? Мы живём не в идеальном мире, а Си вполне достаточен для решения огромного пласта задач. Си это давно уже не просто язык программирования, но изученное и освоенное промежуточное представление, ничем не хуже внутреннего представления во многих хороших компиляторах; не идеальное, но хорошо известное, и для него есть множество готовых утилит и прочего. Многие ЯП до появления JVM, .NET и LLVM реализовывались посредством трансляции в Си, и это было не столь уж плохое решение. Всяко лучше, чем писать самопальный неэффективный компилятор. А разработать серьёзный компилятор – задача большая и сложная.

Cython, а также многочисленные Лиспы работали через трансляцию в Си. Ну ничего лучше не придумали, чтобы запустить их за приемлемое время на столь огромном множестве платформ и архитектур. И получить более высокую производительность, нехарактерную для решений на интерпретаторах. Вы призываете нас отложить задачи и заняться мечтами об уклях? Или ждать идеальный компилятор Оберона/КП "под всё", который не напишет никто? Ну это как-то грустненько, Денис.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Декабрь, 2024 21:54 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Денис не отвечает. Выдвинул сомнительный тезис "В случае Оберона, компиляция через Си - это быстрый способ получить посредственный результат" и не хочет его обосновать. Почему посредственный? Это плохо ложится на задачи Дениса? Я не знаю. Результирующий код будет всяко получше, чем от всех существующих компиляторов Оберона. А каким способом код получили и через сколько уровней пришлось пройти - так если сделать по уму, то на целевой программе это не скажется.

arisu, а тебе не приходило в голову, что можно общаться без высокомерия, без понтов, без хвастовства, прикинь? Чем тебе хвастаться? Смотри. Ты пришёл на форум и чего-то тут вываливаешь. Взять Бориса. Его интересует NanoJit как платформа, на которой можно реализовать Компонентный Паскаль. Его не интересует твой ур. Поэтому он смотрит на твои наработки исключительно в этом ключе. Не веришь? Спроси.

Ивана, быть может, интересуют твои какие-то патчики к ББ, но ламент его не интересует. Твои идеи и разработки никому не интересны. Интересна лишь побочка, но полезную побочку ты выдаёшь раз в стопицот лет. Ты не делаешь ничего полезного, только самоудовлетворяешься.

Интереса к твоему творчеству от других участников форума я вообще не наблюдаю. Да и что за творчество. Если взять список кредитсов, у кого ты что-то позаимствовал, то тебя самого там останется с гулькин нос. От гения ожидалось бы большего ;) С нуля делай. Вот тогда будешь хвастаться.

Взять меня. Я реализовал в Ofront+ поддержку КП и даже О7. Я взял Ofront в качестве базы. Но я не корчу из себя гения. Я честный ремесленник, и стараюсь делать свою работу хорошо. Может я и не столь способен в компиляторах. Но с лёгкой руки Сержа Атанцова я таки полез туда. И даже здесь на форуме есть с десяток пользователей Ofront'а+. И они не говорили мне - зачем ты сделал свой кривой форк Ofront'а. Они решали/решают при помощи Ofront+ свои задачи, и всё отлично работает. И заметь, я не стал навязывать им свой единственно кошерный диалект O3, потому что не считаю себя умнее Вирта или Оминков. Я прекрасно понимаю барьер вхождения, что никто не будет бежать учить мой самопальный диалект без особой на то причины. И твой опыт это чудесно подтвердил. А КП какой-никакой, но де факто стандарт, лучшего у нас нет.

Так что даже с не очень умного меня есть некая абстрактная польза для сообщества. А от тебя с твоими голыми понтами, хвастовством и хамством - её нет, гыг. Ну почему ты такой примитивный? Ты как будто на подсосе, как нищий с дырявой шляпой, просишь внимания как милостыни. Ты жалок, arisu. Посмотри на других. Они не так завязаны на этой жажде внимания. Люди живут себе, решают задачи. Нормально же. Возьми известного тебе SovietPony, ведь с ним общаться намнооого приятнее. Нет у него хвастовства и самовыпячивания. А системщик отличный, шарит не хуже тебя. Но ты без хвастовства не умеешь, я прекрасно вижу, что ты скорее расшибёшь себе лоб, чем покаешься. Ну и хрен с тобой, arisu. А о моём внимании даже не моли, ты мне не интересен, также как и вся твоя галимая деятельность.

Но ты ещё оказывается и садист, что показал твой последний пост. Ты сам себе поставил в нём диагноз. В общем, премерзко это всё выглядит. Вот какой у Вас замечательный друг, Денис, любуйтесь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Декабрь, 2024 21:59 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
GameHunter, готов более подробно обосновать своё нежелание делать поддержку работы с кодировками с разным размером символов. Нужно реализовать:

    - ORD и CHR для составных символов, закодированных парами. И LEN для строк
    - индексное обращение к символу N, потому что str[N] для составных работать не будет
    - проверку корректности содержимого строк (если что-то может быть запорчено - его непременно запортят)

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

Преимущества? Эмодзи? Какие-то хитрые символы типа w, похожей на ш? Ну не знаю...

Вам точно не хватает возможности прямо кодировать строки в UTF-16 LE и компилировать без -w?

P. S. Для ознакомления, чтобы понять куда движется юникод: https://habr.com/ru/companies/wunderfun ... es/777850/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 15 Декабрь, 2024 23:03 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4722
Откуда: Россия, Орёл
Разборки на этом закончили. Авторы тем могут сообщить мне через ЛС о сообщениях, которые по их мнению, должны быть удалены. А могут оставить и так.

viewtopic.php?p=119369#p119369


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 16 Декабрь, 2024 06:46 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 238
Откуда: Питер
Здравствуйте.

Обнаружил ещё одну ошибку в oFront+.

Вот три модуля, главный модуль Main.
Код:
MODULE TextOut;

IMPORT
   C:=Console;

PROCEDURE Str * ( IN s:ARRAY OF SHORTCHAR );
   BEGIN
      C.String(s); C.Flush();
   END Str;

PROCEDURE Ln * ();
   BEGIN
      C.Ln();
   END Ln;

BEGIN
   Str('TextOut.Begin'); Ln;

CLOSE
   Str('TextOut.Close'); Ln;
END TextOut.


Код:
MODULE M1;

IMPORT
  Out:= TextOut;

BEGIN
  Out.Str('M1.Begin'); Out.Ln;

CLOSE
  Out.Str('M1.Close'); Out.Ln;
END M1.


Код:
MODULE Main;

IMPORT
  M1, Out:= TextOut;

BEGIN
  Out.Str('Main program'); Out.Ln;
END Main.


Ожидается, что секция BEGIN модудя TextOut будет выполняться самой первой, а секция CLOSE - самой последней, т.к. этот модуль импортируется всеми другими модулями. Однако вывод на экран выглядит так:

TextOut.Begin
M1.Begin
Main program
TextOut.Close
M1.Close

Похоже, в oFront+'е ошибка в порядке секций CLOSE.

С уважением,
ГХ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Декабрь, 2024 04:02 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 586
Откуда: Украина, Днепропетровская обл.
Проблему подтверждаю. Начал работать над исправлением.

Может у кого будут идеи как отсортировать порядок вызова секций CLOSE от верхнего уровня к нижнему? Тут многие наверное любят абстрактные задачки поломать мозг, а у нас практическая потребность. Боюсь сделать неуклюже.

Вот процедура, которая перебирает все модули из массива OPT.GlbMod, при помощи флажка выясняет есть ли у модуля секция CLOSE, и, наконец, при необходимости генерирует вызов функции ModName__close. Нужно то же самое, но с учётом правильного порядка. Честно говоря, не надеюсь, что кто-то поможет, но вдруг.

Код:
   PROCEDURE DoClose*;
      VAR i: INTEGER;
   BEGIN
      IF OPM.close IN OPM.opt THEN OPT.GlbMod[0].sysflag := hasClose END;
      i := 0;
      WHILE (i < LEN(OPT.GlbMod)) & (OPT.GlbMod[i] # NIL) DO
         IF OPT.GlbMod[i].sysflag = hasClose THEN
            BegStat;
            OPM.WriteString(OPT.GlbMod[i].name^); OPM.WriteString("__close()");
            EndStat;
         END;
         INC(i)
      END;
   END DoClose;

Результат её работы выглядит примерно так:
Код:
/* BEGIN */
  TextOut_Str((CHAR*)"Main program", 13);
  TextOut_Ln();
  Main__close();
  TextOut__close();
  M1__close(); // <- неверный порядок, сперва надо закрывать M1, потом только TextOut
  __FINI;
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 19 Декабрь, 2024 09:15 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1623
Топологическая сортировка вроде должна помочь,

https://stackoverflow.com/questions/623 ... -with-java


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 404 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB