OberonCore
https://forum.oberoncore.ru/

Детерминированность лексики Оберона
https://forum.oberoncore.ru/viewtopic.php?f=61&t=2279
Страница 9 из 9

Автор:  igor [ Среда, 10 Февраль, 2010 11:06 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
Ну а что следует-то? В "самом исходном тексте, а не в тексте продукции"?
Не доктрина же следует?
В правиле №3 речь идёт о символах в исходном тексте, которые могут следовать за конструкцией K. Они могут относиться как к текущей лексеме, так и к следующей, а могут вообще быть пробельными (находиться между текущей и следующей лексемой). В контрпримере, который Вы привели, символ "=" следует за альтернативой ">" ["="] в тесте самой продукции, а не в исходном тесте.

Автор:  Peter Almazov [ Среда, 10 Февраль, 2010 13:25 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

igor писал(а):
Peter Almazov писал(а):
Ну а что следует-то? В "самом исходном тексте, а не в тексте продукции"?
Не доктрина же следует?
В правиле №3 речь идёт о символах в исходном тексте, которые могут следовать за конструкцией K. Они могут относиться как к текущей лексеме, так и к следующей, а могут вообще быть пробельными (находиться между текущей и следующей лексемой). В контрпримере, который Вы привели, символ "=" следует за альтернативой ">" ["="] в тесте самой продукции, а не в исходном тесте.
Вы на вопрос-то можете ответить? Без моих "контрпримеров". Что по Вашему следует для использования в правиле № 3?

Автор:  Galkov [ Среда, 10 Февраль, 2010 13:56 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

igor писал(а):
Они могут относиться как к текущей лексеме, так и к следующей

А следующая может начинаться того красного равенства, которое Вам совершенно справедливо отметил коллега Peter Almazov
Вот Вам и все Ваше "доказательство" :D
igor, не надо такие вещи называть доказательствами. Не заслуживают они этого.

Автор:  igor [ Среда, 10 Февраль, 2010 14:10 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Galkov писал(а):
А следующая может начинаться того красного равенства, которое Вам совершенно справедливо отметил коллега Peter Almazov

igor писал(а):
лексический анализатор выполняет разбор исходя из предположения, что синтаксис является детерминированным.
То есть если символ "=" следует за символом ">", то лексический анализатор присоединит его к текущей лексеме в соответствии с правилом | ">" ["="]. Если же символ "=" следует за символом "=", то это начало новой лексемы. Выводы, которые здесь следуют после слова "то" однозначны. Других вариантов толкования у сканера здесь просто нет. Это и означает детерминированность.

Автор:  igor [ Среда, 10 Февраль, 2010 14:17 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
Вы на вопрос-то можете ответить?
То есть Вы считаете, что я ещё не ответил на Ваш вопрос (после всех моих разжовываний)? :shock:
Тогда я вынужден признать, что да, я действительно не могу ответить Вам на Ваш вопрос. :(

Автор:  Евгений Темиргалеев [ Среда, 10 Февраль, 2010 14:26 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

9-я пошла... хотя практически значимых вопросов ни у кого нет :)

ИМХО, эта тема сейчас больше всего подходит к
Цитата:
Отвлеченные темы
Незначащие обсуждения любых тем, болтовня и т.п.
Что скажут остальные участники?

Автор:  Peter Almazov [ Среда, 10 Февраль, 2010 14:28 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Ну ладно, проехали, я уже писал, что разочарован.
igor писал(а):
Кстати, код, приведённый на странице 170, в точности соответствует тому фрагменту продукции, который я только что привёл.
Но почему мы с Вами так по разному видим один и тот же код?
С тем, что приведенный код
Код:
| ">": R.ReadChar(ch);
  IF ch = "=" THEN R.ReadChar(ch); sym := geq ELSE sym := gtr END
в точности соответствует продукции
">"["="]
я согласен.

У меня предложение к igor, а также к другим заинтересованным лицам: привести код, который в точности соответствует продукции
">="|">"

Автор:  Galkov [ Среда, 10 Февраль, 2010 14:31 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

igor писал(а):
Так вот оно в чём дело! Профессиональный Разработчик с 30-летнем стажем и с предвзятым отношением к ИТ-девелоперам
Ну надо же, обиделся :lol:
Что в 101-й раз подтвердило наблюдение: сколько людям не говори, а доходит только "через руки".
Двадцать раз будут строить шанхай, он столько же раз разрушится. И только на тридцатый задумаются: "а вдруг и правда, грамотная постановка задачи - половина ее решения"

Ведь именно в этом Вас и пытаются убедить, igor - давайте сформулируем грамотную постановку.
Честное слово, это не больно :D
А Вы чего ??? Для себя у меня написано это, для других - вон то, а делать я буду - как записано на листочке, который у меня на работе.

Вот Вы обижаетесь что не воспринимают Ваши "доказательства"
Воспринимают. И сообщают Вам, что в качестве аксиоматики для доказательств Вы выбираете неверные посылы. Потому-что автомат, изоморфный регулярному выражению работает не так, как Вы думаете.
Этот автомат должен не только распознавать лексемы, но и порождать их.
Из того, что рассуждения Легалова аналогичны Вашим, следует вовсе не то, что они правильны, а то, что ему за это ноги надо повыдергивать.
Разве я не говорил Вам, что Автомат обязан рассматривать все альтернативы ???
А что Вы в ответ ???
"Что-то в этом есть" - и продолжаете формировать "доказательства" и тех же ошибочных посылов.
Ну да, такие "доказательства" разбирать по косточкам - бесполезная трата времени.
И это не из-за предвзятости, в который Вы меня обвиняете, а из-за того, что аксиомы напильником рихтовать надо.

Ну хорошо, Мы не можем помочь Вам в "рихтовке напильником", потому-что Вы нам просто не показываете эту деталь.
Альтернатива - посчитайте сами.
Разве Вы считаете ???
Нет. Зото делаете выводы о предвзятости.

Вас шокирует 30 лет ??? Так я больше скажу: в нас вбивали опыт предыдущих поколений Разработчиков.
Причем более жестко, чем моя фраза к Вам про велосипед. Например, приносит вьюноша схему завсектору на подпись:
    - Какое пиковое напряжение на этом резисторе?
    - Какая у него мощность?
    - Как, ты не смотрел ТУ на него?
    - Пошел вон отсюда!
И вьюноша умнел на глазах (если хотел остаться на работе), а не рвал рубаху на груди по причине предвзятого отношения :D

Автор:  Евгений Темиргалеев [ Среда, 10 Февраль, 2010 14:39 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
У меня предложение к igor, а также к другим заинтересованным лицам: привести код, который в точности соответствует продукции
">="|">"
Чорт :) (это касательно заинтересованности, несмотря на бессмысленность)
Код:
 IF sym = ge THEN ...
ELSIF sym = gt THEN ...
Что я не так понимаю? viewtopic.php?p=41728#p41728

Автор:  Peter Almazov [ Среда, 10 Февраль, 2010 14:46 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Евгений, я привел реальный кусок из сканера. И Вы приводите полностью корректный кусок, который можно вставить в нужное место и оттранслировать. Чтобы не надо было ничего домысливать.

Автор:  Galkov [ Среда, 10 Февраль, 2010 15:20 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
У меня предложение к igor, а также к другим заинтересованным лицам: привести код, который в точности соответствует продукции
">="|">"
Тот же код. Но этот код получен не по правилам Вирта, а по другим. Которые от этого не становятся не правильными.
Чисто из спортивного интереса... я Вам могу нарисовать картинки, с помощью которых можно совершенно формально, из определения комментария здесь, получить код Евгения
Как бы эдакое конструктивное доказательство соответствия Реализации требованиям ТЗ...
Ну или: сказал, что недерминированность, это не есть проблема для сканера - так могу за слова и ответить :)

Автор:  igor [ Среда, 10 Февраль, 2010 15:21 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
У меня предложение к igor, а также к другим заинтересованным лицам: привести код, который в точности соответствует продукции
">="|">"
Мой вариант в точности такой же, как предложил Евгений Темиргалеев. От себя добавлю, что этот код должен быть в парсере, а не в сканере. GE и GT это РАЗНЫЕ буквы в алфавите парсера. Парсер НЕ ВИДИТ то, что внутри эти лексемы начинаются с одного и того же элементарного символа. Парсер видит только абстрактные символы GE и GT. Для него они не делимы.

Автор:  Galkov [ Среда, 10 Февраль, 2010 15:28 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

2igor, в догонку :)
Мне понравились слова Федора Васильевича (за которые я голосую обеими лапами):
Цитата:
Любая дисциплина -- геморрой.
Но отказ от нее -- отложенное потенциальное самоубийство.
Дальше каждый выбирает

Грамотная постановка задачи (которая уже и есть половина ее решения) - это Дисциплина
А дальше - дело выбора :D

Автор:  Peter Almazov [ Среда, 10 Февраль, 2010 15:45 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Galkov писал(а):
Чисто из спортивного интереса... я Вам могу нарисовать картинки, с помощью которых можно совершенно формально, из определения комментария здесь, получить код Евгения
Нарисуйте, если не сложно. Я люблю картинки.

Автор:  Евгений Темиргалеев [ Среда, 10 Февраль, 2010 16:14 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Peter Almazov писал(а):
Евгений, я привел реальный кусок из сканера. И Вы приводите полностью корректный кусок, который можно вставить в нужное место и оттранслировать. Чтобы не надо было ничего домысливать.
Вы таки про сканер... Приведённый Вами кусок я видел в грамматике для парсера, и для него указал код.

Полной грамматики сканера пока не видно. Те, кто хочет получить код сканера исключительно по указанным Виртом правилам (мне кажется, что вокруг этого момента тема крутится), должны её привести полностью. Про куски говорить смысла не вижу... Мысли по полному определению

Лично я пока ограничюсь полуформальным способом определения сканера, описанным у Вирта (как я понимаю) иммено так с методич. т.зрения (не забываем про "This book has emerged from my lecture notes for an introductory course in compiler design at ETH Zürich") по принципу "Make everything as simple as possible, but not simpler".

Автор:  Peter Almazov [ Среда, 10 Февраль, 2010 16:40 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Евгений Темиргалеев писал(а):
Вы таки про сканер... Приведённый Вами кусок я видел в грамматике для парсера, и для него указал код.

Полной грамматики сканера пока не видно. Те, кто хочет получить код сканера исключительно по указанным Виртом правилам (мне кажется, что вокруг этого момента тема крутится), должны её привести полностью. Про куски говорить смысла не вижу...
Да тут вся тема только про сканер.
А я вижу смысл говорить про куски. Почему бы для ясности не выделить нужное подмножество языка. До парсера это все равно не доходит.
Конечно, если жевать одно и тоже по 10 раз, то смысла нет.

Автор:  Galkov [ Четверг, 11 Февраль, 2010 02:02 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Хммм...
Мне придется дико извиниться, но код Евгения у меня не получается :(
Вложение:
Comment.png
Comment.png [ 26.61 КБ | Просмотров: 14429 ]

Получается такое:
Код:
.....
   CASE state OF
   | 0:   IF ch = "(" THEN state := 1 ELSIF ch = "*" THEN state := 2 (* ELSE state := 0 *) END
   | 1:   IF ch = "*" THEN INC(level) END; IF ch#"(" THEN state := 0  END
   | 2:   IF ch = ")" THEN DEC(level) END; IF ch="(" THEN state := 1 ELSIF ch#"*" THEN state := 0 END
   END
.....

Никакого злого умысла, пытался просто быть честным :)
А ранее, лишь поймал общий смысл, не щупая все детали...


ЗЫ: красные стрелочки, это типа эпсилон-переходов, они не кушают символ, поручая это тому состоянию, в которое направляются...

Автор:  Peter Almazov [ Четверг, 11 Февраль, 2010 11:07 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Здорово! А я ведь в свое время набросал автомат, и проверял код. Но повторные скобки и звездочки прощёлкал ... :(

Автор:  Евгений Темиргалеев [ Четверг, 11 Февраль, 2010 11:39 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

Galkov писал(а):
Получается такое...
Вы правы.

Автор:  Galkov [ Пятница, 12 Февраль, 2010 07:29 ]
Заголовок сообщения:  Re: Детерминированность лексики Оберона

А ведь я тоже ошибся. Вот же ж блин :(
Забыл про переход из <3,5> в <1,5> по "(". Скобки-то у нас, оказывается - разные бывают :wink:
В ДКА это было "замаскировано" двумя красными стрелочками в Comment, а от туда уже по черной...
((поправил выше))

Страница 9 из 9 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/