Вопросы по созданию лексеров

All questions regarding lexer highlighting schemes are discussed here...
lehanidze
Posts: 11
Joined: 05.06.2013 16:14

Вопросы по созданию лексеров

Post by lehanidze »

добрый день,

хочу создать свой лексер, и... уже неделю совершенно не получается это сделать--не хватает обучающей информации. могли бы вы предоставить руководство по "создание своего лексера от а до я"?
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

Нет руководства. но есть Readme\LexerConfig.chm с кое-какой инфой
lehanidze
Posts: 11
Joined: 05.06.2013 16:14

Post by lehanidze »

все верно, его я обнаружил--реально не помогло...может быть возможно сделать иначе: я буду создавать лексер, а непонятные или узкие моменты буду спрашивать здесь?

по-порядку, на данный момент меня вводит в заблуждение Syntax Lexer -> Common -> Token type names, могли бы вы развернуто объяснить: что это, почему, зачем?
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

спрашивайте. отвечу. Tokentype names это строки которые покажутсся в combobox, в других вкладках,когда выбран такойто токен.
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

на табе Parser есть поле Token type- вот оно показывает строку из списка token type names. а реально нужен только token type index (индекс токена в списке token type names)
lehanidze
Posts: 11
Joined: 05.06.2013 16:14

Post by lehanidze »

да-да, я заметил, что на протяжении всего конфига этот токен используется. поэтому и необходимо разобраться... итак, все-таки: что это такое?
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

есть токен String. ему дается свой парсер с рег-выражением ".*?" . это понятно? далее в табе где настраиваются блоки, можно указать правило поиска

[x] String
http://shot.qip.ru/00cT7J-4k9ZG4ud3/

тогда будет ловиться только такой токен.
lehanidze
Posts: 11
Joined: 05.06.2013 16:14

Post by lehanidze »

Другими словами Token type names это список всех элементов, которые я хочу парсить в тексте?
Т.е. для примера: у меня есть конфигурационный файл промышленного робота, там меня интересуют: Поза, Строка, Коммент, Число, Оператор, Кейворд. Следовательно, чтобы правильно искать все это в тексте -- эти элементы должны быть в Token type names?

ПС: к блокам мы доберемся по-порядку:)
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

все или почти все. Может "Имя" и "Keyword" не надо делать разными токенами. у них же один regex.
"строка" и "строка другая" -разные regex- стоит делать ОДНИМ токеном
Alexey
Posts: 1633
Joined: 05.10.2012 22:10

Post by Alexey »

Если кто напишет такой док, готов дать ключ к какой либо программе
Locked