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 =

или используйте социальную сеть:
Регистрация
*
*
*

16 − 4 =

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

2 × 3 =

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