Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.61.246] |
|
Сообщ.
#1
,
|
|
|
Кто-нибудь писал сабж? Сейчас этим занимаюсь, иногда вопросы появляются, мож кто сможет посоветовать?
|
Сообщ.
#2
,
|
|
|
Вывешивай.
|
Сообщ.
#3
,
|
|
|
Во-первых, зачем отделять парсер от сканера? Я сейчас пытаюсь сделать разбор только на одном уровне.
Есть, например, такая проблема: когда есть тэг типа {fname pname="value"} внутри value можно использовать все, кроме кавычки ". Если нужна кавычка, делаем ей эскейп бэкслешем \. Я предполагаю сканить символы регэкспами, чтобы можно было написать для value что-то типа \"([^\\\"]|\\[\\\"ntr])*\" т.е. (пробелы игнорировать ) <ldelim>( [^<escaper><rdelim>] | <escaper>[<escapedchars>+] )* <rdelim> Потом хочу записать в словарь (или как это правильно называется) последовательность [^<escaper><rdelim>], но поскольку она тогда будет являться одним из элементов множества входных данных для функции автомата, то проверяться будет каждый раз, что неправильно, т.к. под этот регэксп подойдет, например символ @ в имени параметра (pname) или функции (fname)... проверять-то я собираюсь на одном уровне... т.е. нужно переключать словари в каждом состоянии , так получается, или вводить для "слов" списки допустимых/запрещенных для проверки состояний? |
Сообщ.
#4
,
|
|
|
Спроси "подсветка синтаксиса на форуме". Это недавно проходили.
У меня есть свой готовый вариант, но нужно ли вывешивать? Еслит нужно - скажи. Мне кажется, это сначала не прикладные исследования, но для тренировки. Ближе к теме "алгоритмы". |
Сообщ.
#5
,
|
|
|
У кого спросить?
Цитата Tishaishii, 30.08.04, 14:11 Мне кажется, это сначала не прикладные исследования, но для тренировки. Что ты имел ввиду? |