29.01.2012, 18:01
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Одногруппник диплом такой делал http://code.google.com/p/extcss/ может быть будет полезен код, хоть и на пхп. Эту штуку он использовал, пока работал верстальщиком.
|
|
29.01.2012, 18:27
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Ага, то что надо.
Сообщение от Octane
|
хоть и на пхп
|
Не особо важно, главное алгоритм. Мне все равно на С++ писать)
Последний раз редактировалось monolithed, 29.01.2012 в 18:34.
|
|
29.01.2012, 21:23
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
monolithed, ну, в принципе, сами регэкспы работают посимвольно. Поэтому можно считать, что вы просто сэкономили себе время)
|
|
29.01.2012, 21:58
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от trikadin
|
ну, в принципе, сами регэкспы работают посимвольно.
|
Минус регексов в том, что для такой грамматики очень сложно предусмотреть все варианты, нужно сперва почистить код от табуляции и пробелов и молится чтобы не вылез где-нибудь стоп-символ. К тому же эффективным регексов очень низкая из-за повышенной асимптотической сложности.
Сообщение от trikadin
|
Поэтому можно считать, что вы просто сэкономили себе время)
|
В С++ нет аналогов решению с регексами, по этому придется все-таки копать по ссылке Octane, там как раз без них.
Последний раз редактировалось monolithed, 29.01.2012 в 22:02.
|
|
29.01.2012, 22:14
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от monolithed
|
В С++ нет аналогов решению с регексами, по этому придется все-таки копать по ссылке Octane, там как раз без них.
|
Да, уже понял, что у вас C++ (хотя наверняка есть либы под него).
|
|
29.01.2012, 22:19
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от trikadin
|
хотя наверняка есть либы под него
|
В новом стандарте С++11 есть регексы, просто сама идеология очень сильно отличается
|
|
29.01.2012, 22:23
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,588
|
|
По ссылке Octane, всё тоже на регэкспах, только сложнее.)
__________________
29375, 35
|
|
29.01.2012, 22:26
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Aetae
|
По ссылке Octane, всё тоже на регэкспах
|
Не совсем, фактически что мне нужно там выполняет этот кусок:
while($j>$j_begin) {
if(preg_match('/}/', $text[$j])) {
$j_temp_end = $j;
while(1) {
$j--;
if(preg_match('/}/', $text[$j]))
$z++;
if(preg_match_all('/(.*){/U', $text[$j], $temp_vars, PREG_SET_ORDER)) {
if(! $z) {
$names[1] = $temp_vars[0][1];
$recompile = 1;
$j_temp_begin = $j;
break;
}
else {
$z--;
}
}
}
break;
}
$j--;
}
А preg_match выполняет роль split'a
Правда я пока не понял как там имя селекторов получается
Последний раз редактировалось monolithed, 29.01.2012 в 22:32.
|
|
|
|