История изменений
Исправление den73, (текущая версия) :
Например, переменная входит в список всех переменных и одновременно в список всех именованных сущностей.
здесь определён базовый класс:
ОбъявлениеИменованнойСущности*= окласс
перем
следщОИС-: ОбъявлениеИменованнойСущности;
... (* другие какие-то поля *)
А чуть ниже определён потомок:
ОбъявлениеТипаˉнаименования*= окласс(ОбъявлениеИменованнойСущности)
перем
следщОТН-: ОбъявлениеТипаˉнаименования;
выражениеˉтип-: Выражениеˉтип;
... (* другие какие-то поля *)
В данном случае список односвязный, а не двусвязный, но это мелочи. В экземпляре ОбъявлениеТипаˉнаименования
есть два разных поля для участия в двух разных списках. Соответственно, имеем неограниченное число курсоров и неограниченное разделение.
Код не мой, его в Цюрихе написали, я его только на русский перевёл, но это неважно.
Исправление den73, :
Например, переменная входит в список всех переменных и одновременно в список всех именованных сущностей.
здесь определён базовый класс:
ОбъявлениеИменованнойСущности*= окласс
перем
следщОИС-: ОбъявлениеИменованнойСущности;
... (* другие какие-то поля *)
А чуть ниже определён потомок:
ОбъявлениеТипаˉнаименования*= окласс(ОбъявлениеИменованнойСущности)
перем
следщОТН-: ОбъявлениеТипаˉнаименования;
выражениеˉтип-: Выражениеˉтип;
... (* другие какие-то поля *)
В данном случае список односвязный, а не двусвязный, но это мелочи. В экземпляре ОбъявлениеТипаˉнаименования
есть два разных поля для участия в двух разных списках. Соответственно, имеем неограниченное число курсоров и неограниченное разделение.
Код не мой, его в Цюрихе написали, я его только на русский перевёл, но это неважно.
Исправление den73, :
Например, переменная входит в список всех переменных и одновременно в список всех именованных сущностей.
здесь определён базовый класс:
ОбъявлениеИменованнойСущности*= окласс
перем
следщОИС-: ОбъявлениеИменованнойСущности;
... (* другие какие-то поля *)
А чуть ниже определён потомок:
ОбъявлениеТипаˉнаименования*= окласс(ОбъявлениеИменованнойСущности)
перем
следщОТН-: ОбъявлениеТипаˉнаименования;
выражениеˉтип-: Выражениеˉтип;
... (* другие какие-то поля *)
В данном случае список односвязный, а не двусвязный, но это мелочи. В экземпляре ОбъявлениеТипаˉнаименования
есть два разных поля для участия в двух разных списках. Соответственно, имеем неограниченное число курсоров и неограниченное разделение.
Исходная версия den73, :
Например, переменная входит в список всех переменных и одновременно в список всех именованных сущностей.
https://tvoygit.ru/budden/ja-o-s/src/branch/главная/source/LisSyntaxTree.Mod#L2876 определён базовый класс:
ОбъявлениеИменованнойСущности*= окласс
перем
следщОИС-: ОбъявлениеИменованнойСущности;
... (* другие какие-то поля *)
А чуть ниже https://tvoygit.ru/budden/ja-o-s/src/branch/главная/source/LisSyntaxTree.Mod#L3035 потомок:
ОбъявлениеТипаˉнаименования*= окласс(ОбъявлениеИменованнойСущности)
перем
следщОТН-: ОбъявлениеТипаˉнаименования;
выражениеˉтип-: Выражениеˉтип;
... (* другие какие-то поля *)
В данном случае список односвязный, а не двусвязный, но это мелочи. В экземпляре ОбъявлениеТипаˉнаименования
есть два разных поля для участия в двух разных списках. Соответственно, имеем неограниченное число курсоров и неограниченное разделение.