OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 10 Август, 2020 21:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Воскресенье, 19 Июль, 2020 01:01 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 275
Положим VAR p: POINTER TO RECORD f: INTEGER END, p^.f = 1 и рассмотрим
Код:
p^ := p^


В правой части - выражение, значение которого - запись с полем f Равным 1.
В левой части - составное имя (designator), которое обозначает переменную, на которую указывает p. У левой части, строго говоря, нет значения, потому что она левая, а в левой части присваивания - не выражение, а составное имя. У составного имени нет "текущего значения" (current value в СЯ); текущее значение есть только у переменных. Но составное имя обозначает переменную, а у нее есть значение.

Но в правой части присваивания находится выражение; составное имя является частным случаем выражения; поэтому в правой части у p^ есть значение.

Вот тебе и контекстно-свободная грамматика :o

Для ясности: я полагаю, что добавив слово variables, как показано ниже, можно внести бОльшую ясность в СЯ и подразумевать под переменными собсно переменные, элементы массивов и поля записей - но уже не на основе "обычаев", а на строгой формальной основе.

Цитата:
6.2
An array is a structure consisting of a number of elements which are all variables of the same type, called the element type.

6.3
A record type is a structure consisting of a fixed number of elements (variables), called fields, with possibly different types.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 19 Июль, 2020 09:53 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2810
Цитата:
В правой части - выражение...

Почему выражение? Это операнд, который обозначает переменную... Или вы имеете в виду вырожденное выражение из одного операнда в виде "слагаемого" (Term)?

У Свердлова http://www.uni-vologda.ac.ru/oberon/o2rus.htm для destignator используется "обозначение" для destignator
и я это перенял в переводе последнего Оберона https://visual.sfu-kras.ru/oberon#sec81
Цитата:
Если p обозначает переменную-указатель, p^ обозначает переменную, на которую ссылается p.


Вот интересно, что в словаре по радиоэлектронике есть для вычислительной техники точное значение "именующее выражение"
Цитата:
<--- RadioElectronics (En-Ru) --->
designator
1) указатель
2) вчт. именующее выражение
3) рлк. целеуказатель


И тут мы подходим к проблеме, что есть "синтаксические выражения", а есть "математические выражения". И это разные выражения. В объявлении о языке выражениями expressions называются конструкции из операндов и операторов. А "составное имя" или "обозначение" для переменной, константы или процедуры — это уже лексическое выражение, а не выражение программы. Обозначение (destignator) может включать какие-то процедуры, и вычисления. Однако обозначает переменную, константу или процедуру ведь по-определению, а не выражение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 19 Июль, 2020 10:06 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2810
adimetrius писал(а):
Для ясности: я полагаю, что добавив слово variables, как показано ниже, можно внести бОльшую ясность в СЯ и подразумевать под переменными собсно переменные, элементы массивов и поля записей - но уже не на основе "обычаев", а на строгой формальной основе.

Цитата:
6.2
An array is a structure consisting of a number of elements which are all variables of the same type, called the element type.

6.3
A record type is a structure consisting of a fixed number of elements (variables), called fields, with possibly different types.


Лучше ничего не трогать... :)

Такое ощущение, что авторы сознательно очень аккуратно отделяют понятие типа данных и переменных. Вот посмотрите раздел 6.

Цитата:
A data type determines the set of values which variables of that type may assume, and the operators that are applicable.


Таким образом до размещения указателя, мы вообще-то не можем говорить о каких-то переменных. Это всего навсего тип данных. Он пока не отображен на память, а значит не может называться переменной... ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 19 Июль, 2020 10:59 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8351
Откуда: Троицк, Москва
Интересно, "именующее выражение" я тогда не нашел.
Впрочем, и хорошо: оно слишком громоздко.

Designator = "обозначатель", даже где-то "очерчиватель/ограничиватель" -- слишком специальное слово, чтобы передавать его чрезвычайно широким "обозначение".

Но сказать что-то вроде "Составное имя -- это обозначение для ..." вполне уместно.

Свердлов (и не только он) -- неопытный переводчик на левом пике кривой Даннинга-Крюгера.

Точно также, как и "вьюшка" как рабочий вариант остаётся без достойных конкурентов ))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 20 Июль, 2020 20:41 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 427
Info21 писал(а):
...
Designator = "обозначатель", даже где-то "очерчиватель/ограничиватель" -- слишком специальное слово, чтобы передавать его чрезвычайно широким "обозначение".
...

Вот тут "феня" и пригодится ;-) , типа "смотрящий" ==> "Обозначающий" - существительное, не причастие


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2020, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB