spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Так как запускать программы из Паскаля-Автокода неудобно, я решил попробовать перенести программу печати в две колонки в Паскаль-Монитор. Одна известная разница - отсутствие в П-М конструкции "var _IN type" (например, "ch _IN letters", где тип letters определён как 'A'..'Z'), но это легко решается введением функций.

А дальше случилось забавное: я впервые увидел ошибку компилятора. Тестовый пример выглядит так:
 PASCAL COMPILER 15.0 (15.02.82)
 00001    1  0 PROGRAM MAIN(OUTPUT);
 00001    2  1 VAR S: SET OF 0..47;
 00007    3  2 BEGIN
 ******200 SYSTEM=200
 00010    4  2 S := [ORD(’ ’)..ORD(’/’)];
        *****                           0
 00023    5  0 END.


В перенесенном на С++ компиляторе падает с тем же успехом.

Pascal-Monitor in C++ (17.05.2019)
 00001    1  0 program main(output);
 00001    2  1 var s: set of 0..47;
 00007    3  2 begin
Error 200: Internal error 200
 00010    4  2 s := [ord(' ')..ord('/')];
       ^^^^^                            0
 00023    5  0 end.


Если вместо диапазона просто перечисление [ord(' '), ord('/')] - работает. Надо разбираться :)
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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. 14th, 2026 06:30 pm
Powered by Dreamwidth Studios