![]() |
Модераторы: Vitalik |
![]() ![]() ![]() |
|
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:00 |
|||
|
||||
Fantasist |
|
||||||||||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Ну по-видимому, разные словори бывают, потому как перевод лексемы как lexeme я видел в "Словарь по вычислительной технике и программированию" и "Научно-технический словарь". ![]()
Ну, тут я имел в виду, что именно разные понятия, а не только значения. То есть например в сетевой топологии "ring" используется токен для обозначаения текущего места нахождения пакетов. И в Highlighter'e, как я уже говорил, используется как другое понятие.
Это да, но если говорить о парсерах, то граммотно говоря, для текущего набора правил определен язык. Этот язык имеет некоторые слова(последовательность допустимых символов) которые имеют смысл. Это и есть лексемы. То есть, если парсер встречает что-нибудь типа "sdfssdfserw" - это будет для него токеном, но для языка определяющего правила подсветки это слова смысла не имеет (думаю вряд ли в каком-то языке такое слово будет определенно), следовательно не является лексемой. С другой стороны, конечно, для highlighter'а все слова не являются ошибочными, потому как для каждого из них есть информация о подсветке (по умолчанию).
Не думаю, что мало. Как уже выше сказал - лексема - это слово определенное в языке (правилах) подсветки, тогда как токен - это любое слово рассматриваемое парсером (то есть как бы к правилам отношения вообще не имеет). С другой стороны, я согласен, что для открывающих и закрывающих слов токен хорошо подходит - как раз "маркер открывающий/закрывающий range". Согласен и вот с этим:
![]() ![]() Так что я спорить не буду - если действительно больше нравится токен, так его и надо оставлять. ![]() ![]() -------------------- Волны гасят ветер... |
||||||||||
|
|||||||||||
Vitalik |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
А... Вон оно что... Теперь я понял, что ты имел ввиду! ![]() Теперь я понимаю, что в твоих словах действительно было больше логики ![]()
Та да! Это ты верно подметил ![]()
Значит, на том и порешили ![]() P.S. Спасибо за столь подробное изложение своей мысли! ![]() |
||||||
|
|||||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
||||
|
||||
jasny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 30.11.2004 Репутация: нет Всего: нет |
гы....
впрочем, как всегда мое мнение по фигу. не в тему, но мне очень понравились доводы типа, где-то слово тэг означает то, а где-то лексема означает другое ![]() понятно что если где-то что-то чего-то означает, то это не есть основание для перенятия названия. я считал и считаю, что слово тэг - очень удачное название и означает они именно то, что надо (управляющая последовательность символов) ну да по большому счету хозяин барин, понравилось - вперед и с песней |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
jasny, token просто действительно очень стыкуется с внутренней реализацией компонента...
![]() [1] А теперь вот возник вопрос как бы лучше у этого Token'а и MultiToken'а обозвать свойства содержащие собственно строковое(ые) значение этих токенов?.. Сейчас это называется Symbol, что больше походит на "символ"... ![]() Есть другие варианты?.. [2] Нужно каким-то одним образом обозвать символы-разделители (Delimiters, TermSymbols) и везде придерживаться такого названия. Символы-разделители используются для: • Определение на какие символы закрывается диапазон, если выбрано его свойство CloseOnTerm • Если свойство диапазона PartOfTerm = False, то определяет символы, рядом с которыми может распологаться токен. С остальными символами (не разделителями) он стоять рядом не может. • Функция GetIdentChars: TSynIdentChars возвращает в качестве символов идентификаторов все символы, кроме наших разделителей. Итак, какое слово более красивое и более отражает вкладываемый в него смысл?.. ![]() Это сообщение отредактировал(а) Vitalik - 9.8.2005, 23:04 |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
[1] Честно, не понял, о чем речь.
[2] Вообще, термин Term я выбрал как сокращение от terminal symbol - терминальный символ. То есть символ, который заканчивает слово (терминирует последовательность нетерминальных символов). Но тут я пока не могу с уверенностью сказать о правильности такого употребления. ![]() -------------------- Волны гасят ветер... |
|||
|
||||
Vitalik |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Токен - это текст (строка, соответствующая токену) плюс свойства и атрибуты. Так вот это строковое свойство и нужно обозвать ![]()
Угу, я так и понял ![]()
Та да... Я тоже. Может delimiters тогда более подходит? Ведь теперь эти разделители разделяют не только в конце слова, но и в начале ![]() Кстати, в файл TermSymbols писались как Delimiters ![]() |
||||||
|
|||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |