Iron Spring

Помечено: 

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #742
    admin
    Хранитель
      @admin

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

      theriodont Надо бы ему о проблемах сообщать, если Вы их обнаруживали. На info@iron-spring.com

      #745
      theriodont
      Участник
        @theriodont

        Основная проблема там, что на более-менее сложных текстах компилятор тупо зависает (на 64-разрядных системах), либо вылетает с неким дампом (на 32-разрядных), но я думаю, что авторам об этом известно. Ну и “Deferred feature”, что не напиши.

        #746
        theriodont
        Участник
          @theriodont

          Новую версию попробую потестить на этой неделе.

          #751
          admin
          Хранитель
            @admin

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

            #753
            theriodont
            Участник
              @theriodont

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

              #769
              admin
              Хранитель
                @admin

                Странно, я думал, что он выводит соодщения типа “не поддерживается пока или постоянно”.
                Я послал Вам по почте проект для тетирования. Если нетрудно и будет время потестируйте, пожалуйста его с IS. Ну, и результаты мне пришлите.

                #772
                theriodont
                Участник
                  @theriodont

                  Отправил. Писать пишет, как видно в листингах, но не всегда.

                  #782
                  admin
                  Хранитель
                    @admin

                    Спасибо, посмотрел. Действительно, когда есть много отложенных (нереализованных пока) возможностей, он падает на втором проходе.
                    Из непонятных мне ошибок:
                    1. Оператор free
                    allocate a;
                    allocate a, b;
                    free a;
                    принимает, а вот
                    free a, b;
                    не принимает:
                    635 FREE YK0RC, PYK0RC, JK0RC, PJK0RC;
                    636 (ERR222)Invalid syntax in FREE statement at “YK0RC,PYK0RC,JK0RC,PJK0RC”.
                    636 (INF249)-input flushed to next “;”.
                    а вот это место непонятно вообще тут принимает?
                    808 IF N2^=0B THEN
                    809 FREE JJ1A, YY1A, JJD, YYD, PJ1A, PY1A, DJ1A, PDJ1A, DY1A, PDY1A,
                    810 PJD, PYD;
                    811 (ERR222)Invalid syntax in FREE statement at “JJ1A,YY1A,JJD,YYD”.
                    811 (INF249)-input flushed to next “;”.
                    811 IF KEYW THEN FREE JJA, YYA, PJA, PYA, DJA, PDJA, DYA, PDYA;
                    812
                    813 (ERR222)Invalid syntax in FREE statement at “JJA,YYA,PJA,PYA”.
                    813 (INF249)-input flushed to next “;”.
                    Или это все следствие комплексности некоторых массивов?
                    2. PUT DATA
                    оператор put data; не принимает, хорошо бы проверить, примет ли put data();
                    3. Непонятно, почему не нравится:
                    479 (ERR208)Unrecognized keyword GMS.
                    479 LOCATE GMS FILE(F1) SET(PR);
                    и сообщение тоже противоречивое
                    4. Не поддерживается встроенная функция secs
                    5. Не нравится некрасивое, но нормальное объявление:
                    62 DCL(M INIT(1d10),M1 INIT(1e-10),X00 INIT(1e-20),X0I INIT(18.0e0),
                    63 X0K1 INIT(1.5e0),X0K2 INIT(17.5e0),E1 INIT(1.0e-17),
                    64 PI INIT(3.14159265358979324e0),D(5),A,B,C,T,H,A1,AX,Z,GM,S,X1,X2,
                    65 QN,QC,I1,I0,K1,K0,BX,DX,B0,B1,B2,B3,B4,C0,$,#,#0,#2,#3,#4,#8,
                    62 (ERR222)Invalid syntax in INITIAL list at “1 D10”.
                    6. То же странно:
                    10 DCL S(0:59) CHAR(80) VAR CONNECTED;
                    10 (ERR254)Invalid attribute CONNECTED.
                    11 S( 0)=’P E З У Л Ь T A T Ы P A C Ч E T A’;
                    12 S( 1)=’PACЧET ПAPAMETPOB ЦИЛИHДPИЧECKOЙ AHTEHHOЙ PEШETKИ’;
                    13 S( 2)=’ЧИCЛO ЭЛEMEHTOB (CEKTOPИAЛЬHЫX BOЛHOBOДOB) B ПEPEДAЮЩEЙ’;
                    и потом:
                    11 (INF684)Array argument for S assumed to be CONNECTED.
                    12 (INF684)Array argument for S assumed to be CONNECTED.
                    13 (INF684)Array argument for S assumed to be CONNECTED.
                    Надо будет собрать и послать. Если у Вас что-нибудь есть – шлите – я отработаю.

                    #787
                    theriodont
                    Участник
                      @theriodont

                      Ок, вечером посмотрю.
                      По п. 5 – там d осталось в порядке, видимо поэтому.

                      #795
                      theriodont
                      Участник
                        @theriodont

                        В общем put data() принимается, но ничего не выводит:

                        theriodont@lm2:~/old$ cat pdtest.lst
                        Jul 3, 2019 10:10 pdtest:proc options (main);
                        0.9.10b Source Listing Page 1
                        1 pdtest:proc options (main);
                        2 dcl (a,b,c)float, i fixed, sysprint file output print;
                        3 a=1;b=2;c=3;i=4;
                        4 put skip data();
                        5 put skip data(a,i);
                        6 end pdtest;
                        theriodont@lm2:~/old$ ./pdtest.module

                        A= 1.00000E+0000 I= 4;
                        theriodont@lm2:~/old$

                        Свои баг-репорты вышлю чуть позже.

                        #798
                        admin
                        Хранитель
                          @admin

                          Давайте тогда набирать баг-репорты. Вот чуть отредактированный по put data.
                          Можете скомпилировать его с максимальных числом отладочных опций?
                          Результаты вышлю Питеру.

                          testputdata: proc options (main);
                          /* Iron Spring does not like put data; but it accept IBM compiler, and
                          IBM compiler does not accept put data(); and Iron Spring accept it,
                          but outputs nothing.
                          */
                          dcl (a,b,c)float, i fixed, sysprint file output print;
                          a=1;
                          b=2;
                          c=3;
                          i=4;
                          put skip edit(‘put data()————————‘)(a);
                          put skip data();
                          /*
                          put skip data;
                          */
                          put skip edit(‘put data(a, b, c, i)————–‘)(a);
                          put skip data(a,i);
                          end testputdata;

                          #805
                          admin
                          Хранитель
                            @admin

                            Аналогично, для проверки FREE

                            testfree: proc options (main);
                            /* Iron Spring does not accept free with more than one variable */
                            dcl (a(n,n), b(n)) float ctl, n fixed;
                            n=2;

                            allocate a, b;
                            free a, b;

                            end testfree;

                            #808
                            admin
                            Хранитель
                              @admin

                              Для проверки secs:

                              testsecs: proc options (main);
                              /* Iron Spring does not support builtin function sces */
                              dcl (secs, sin) builtin, sysprint file output print, i fixed, x float,
                              start float bin(53);

                              start = secs();
                              x = 5.0e0;

                              do i = 1, 10000;
                              x = sin(i*x);
                              end;

                              put list (‘time: ‘, decimal(secs()-start), ‘ seconds’);

                              end testsecs;

                              #855
                              theriodont
                              Участник
                                @theriodont

                                Ошибка, не туда запостил. Как сделать, чтобы можно было копировать текст хотя бы в форуме?

                                #869
                                admin
                                Хранитель
                                  @admin

                                  Оно копируется, мы просто из-за цветовой гаммы не видим этого.

                                Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
                                • Для ответа в этой теме необходимо авторизоваться.
                                Авторизация
                                *
                                *

                                пятнадцать + три =

                                Регистрация
                                *
                                *
                                *

                                2 × два =

                                Генерация пароля

                                9 − три =

                                Перевести »
                                Прокрутить наверх