May. 10th, 2019

vak: (Default)
[personal profile] vak
Сегодня мы со [personal profile] spamsink совершили рывок и совместными усилиями довели паскалевский тест до состояния компилируемости без ошибок. Список обнаруженных проблем:

1. Не поддерживается тип "set of char", и даже "set of 'a'..'z'".

2. Не работает тип "set of 1..100". Максимальный размер для множества целых чисел - "set of 0..47".

3. Не поддерживается массив файлов, то есть тип 'array of text'.

4. Примитивы succ() и pred() не работают с целыми аргументами.

5. Экспонента плавающих чисел ограничена диапазоном -18..18.

6. Процедура dispose() не принимает выражение в качестве аргумента, только переменную.

7. Примитивы pack() и unpack() не работают с массивами с отличающимися типами индексов, например "array [integer] of ..." и "array [char] of ...".

8. Тест целиком не помещается в таблицы компилятора, пришлось разбить его на три части.
vak: (Default)
[personal profile] vak
Запускаю вторую часть паскалевского теста посредством скрипта pas-run.py. Тест успешно компилируется и работает. Единственное - внутренняя кодировка на юниксе у нас КОИ8, а в Диспаке КОИ-7, поэтому получается смешно.

$ cd mesm6/toolchain/pascompl/test/accept
$ ../pas-run.py besm6pat2.pas
Decompiling file besm6pat2.obj
10.05.19 М1

М О Н И Т О Р-8 0 (3.7) 25.09.84* ( МС " Д У Б Н А " ИАЭ ) ШИФР 419999000000







ЖЖЖЖ ЖЖЖЖ ЖЖЖ Ж Ж ЖЖЖ ЖЖЖЖ ЖЖЖ ЖЖЖЖЖ ЖЖЖ
Ж Ж Ж Ж ЖЖ ЖЖ Ж Ж Ж Ж Ж Ж Ж Ж
ЖЖЖ ЖЖЖ ЖЖЖ Ж Ж Ж ЖЖЖЖ Ж Ж Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж ЖЖЖЖ Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж ЖЖЖЖЖ Ж Ж
ЖЖЖЖ ЖЖЖЖЖ ЖЖЖ Ж Ж ЖЖЖ Ж Ж Ж Ж ЖЖЖЖЖ








*NАМЕ ВЕSМ6РАТ2
*NО LISТ
*АSSЕМ
*РЕRSО:670440,СОNТ
LIВRАRУ ОТ 26.02.82 М3
*NО LОАD LISТ
*МАIN ВЕSМ6РАТ2
*ЕХЕСUТЕ

******************* ВООЛЕАНС *******************
Дальше )

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 16th, 2026 01:25 pm
Powered by Dreamwidth Studios