LINUX.ORG.RU

История изменений

Исправление 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 потомок:

	ОбъявлениеТипаˉнаименования*= окласс(ОбъявлениеИменованнойСущности)
	перем
		следщОТН-: ОбъявлениеТипаˉнаименования;
		выражениеˉтип-: Выражениеˉтип;
    ... (* другие какие-то поля *)

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