|
|
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Допустим у нас есть список, в котором разделителем является запятая Код: plaintext 1. Но вдруг у нас один из айтемов содержит запятую и как мы понимаем она может нам поломать десерию (анпак) Код: plaintext 1. Итого поломка Код: plaintext 1. Такие поломки обычно решаются эскипированием. Код: plaintext 1. и перед разбором мы заменяем разночтение на безопасную комбинацию Код: plaintext 1. Пока все ок. Идем дальше Код: plaintext 1. Итого поломка Код: plaintext 1. Как в этом случае провести эскипацию для n-вложенности чтобы 1) потом можно было разобрать рекурсивно 2) не использовать спец.символов 3) критерий рекурсивности (признак, флаг) был бы в самом формате и тоже был бы без спец.символов Под спец.символами понимаются символы, которых невозможно набрать с клавиатуры простым нажатием, а можно задать только через хекс-код например. Что-то типа 0x05 Такие символы по условию задачи использовать нельзя. В итоге последний пример должен распарситься в Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2013, 12:43 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Lumix, a, b, c, ... (b = 1,2 -> 1,,2 (1 = у,ф -> у,,ф) = у,,ф,,2 ) = a, у,,ф,,2, c, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 14:20 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
ALKIR= a, у,,ф,,2, c, ... Это после парсинга превращается в такое Код: plaintext 1. 2. 3. 4. 5. 6. 7. А по условию задачи должно в такое Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 15:31 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
= a, у,,,,ф,,2, c, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 17:08 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
?= a, у,,,,ф,,2, c, ... А как такие штучки разбирать алгоритмически. Ладно мы тут видим, что два уровня вложенности, а ведь в буфер, который мы получаем мы там не видим. Я пока не могу придумать как произвести разбор "с низов", а как такое распарсить идя "сверху" пока придумать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 17:21 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Lumix, Может я конечно суть вопроса не понял, но... Разве такой вариант не подойдёт? - определяемся с символом для эскэйпирования (например обратный слэш). Определяемся с критерием вложенности (например повышепие уровня символ "<", а понижение - ">"). При сериализации массива эскэйпируем данные символы и получаем однозначный результат простой для обратного преобразования (например "а, б, <<1, 2>, \<input\>>, д"). Может не в тему, но если я правильно понял, то я бы делал именно так. Кстати, разумеется символ \ тоже эскэйпируем так \\. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 23:04 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
?= a, у,,,,ф,,2, c, ... Опять же, если верно понял задачу, то такой вариант не подходит. Представим, что у нас есть 2 списка (многомерных): Код: php 1. 2. 3. 4. 5. 6. 7. и Код: php 1. 2. 3. 4. 5. оба списка будут преобразованы в ту же строку "a, у,,,,ф,,2, c", а это уже не верно (так как мы не будем знать какой вариант верный). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 23:50 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
ну и сам парсер к моему варианту (хотя думаю и лучше можно написать... на быструю руку набросал. на php): Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Кстати, тут экранирующий символ "/". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 00:58 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Lumix, есть общие правила к примеру по работе с Comma-Separated Values Вот фрагмент примера CSV из Википедии. Код: html 1. 2. 3. 4. Алгоритм сохранения CSV такой. Каждый field (item) перед тем как положить в СSV проверяется на наличе внутри сплиттера (это запятая в данном примере). Если сплиттер есть то айтем закрывается в кавычки. Если внутри айтема есть кавычки то они удваиваются. При парсинге - Наобророт. Убираем дубликаты кавычек. И берём филды атомами там где есть левая и правая кавычка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 02:17 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Недостаток такого способа таков что если мы внутри одного айтема СSV кладём другой CSV-файл (я видел и такие извращения) то объём текста многократно растёт. А если эту операцию повторить рекурсивно то мы раздуем текст до терабайтов. Впрочем той-же болезнью болеет и XML. Если внутрть Value-of тега пихать другой XML то происходит враппинг с еще большими потерями free-space на диске. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 02:19 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
maytonто происходит враппинг с еще большими потерями free-space на диске. Да, это и есть суть задачи, которая лежит в основе этой темы. Насколько корректно утверждать, что единственным спасителем фриспейса в условиях сильнейшей рекурсивной вложенности вместо маркера-разделителя порций является только хедер с маркером длины порции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 14:52 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Насколько корректно утверждать, что не существует методов эскипации, устойчивой к рекурсивной вложенности формата без увеличения объема по методу сложных процентов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 14:54 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Lumix, HDLC битстаффинг рассматривал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 15:27 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
ИзопропилLumix, HDLC битстаффинг рассматривал? Не могу сообразить как битстаффинг замутить на буквах, чтобы руками было удобно печатать. Код: plaintext 1. Или бутстафферы предлагают использовать в качестве нуля точку, а в качестве единицы запятую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 16:06 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Програмёрхотя думаю и лучше можно написать... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 1) можно ли такой формат распарсить попилом или регулярником или он разбирается только рекурсивно (с помощью стека)? 2) что делать с наличием @zpt, @obr, @cbr в исходных реальных данных? Запрещать, вырезать или тоже эскипировать? Ведь так можно эскипироваться до бесконечности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 16:19 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixИзопропилLumix, HDLC битстаффинг рассматривал? Не могу сообразить как битстаффинг замутить на буквах, чтобы руками было удобно печатать. Код: plaintext 1. Или бутстафферы предлагают использовать в качестве нуля точку, а в качестве единицы запятую? Неправильно. Как тебе уже сказали выше разделители удваиваются на каждый уровнь вложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 16:27 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixПрограмёрхотя думаю и лучше можно написать... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 1) можно ли такой формат распарсить попилом или регулярником или он разбирается только рекурсивно (с помощью стека)? 2) что делать с наличием @zpt, @obr, @cbr в исходных реальных данных? Запрещать, вырезать или тоже эскипировать? Ведь так можно эскипироваться до бесконечности... по поводу исходника (примера), я не понял что это :). То есть, я понял, что это что-то основанное на моём сообщении, но вот для чего эта таблица замен была введена и эти замены использованы - не понял. по пунктам: 1. Я пробовал что-то подобное без рекурсии сделать, но не получилось 2. Как уже написал, просто не понял сути. Поясните пожалуйста. в моём случае это смотрелось бы так (если использовать ваш синтаксис, но вместо замен использовать экранирование): 1\, \(1\),((1\, \(1\),2\, \(2\)),2\, \(2\)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 16:38 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Програмёр(если использовать ваш синтаксис, но вместо замен использовать экранирование): 1\, \(1\),((1\, \(1\),2\, \(2\)),2\, \(2\)) Вы просто работаете вот на такой таблице замен Код: plaintext 1. 2. 3. 4. Подобный стиль эскипирования плох тем, что нахер убивает глаза того, кто будет читать такой формат глазами. Я например очень сильно с трудом замечаю, где у вас запятая эскипирована, а где нет. При обработке вашего формата вручную очень и очень легко ошибиться просто поставив бекслеш не перед той скобкой. ПрограмёрЯ пробовал что-то подобное без рекурсии сделать, но не получилось Понятно. Я жду, что может быть кто-нибудь посоветует какой-то ленточный формат, допускающий распарсивания в дерево без рекурсии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 17:03 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixПрограмёр(если использовать ваш синтаксис, но вместо замен использовать экранирование): 1\, \(1\),((1\, \(1\),2\, \(2\)),2\, \(2\)) Вы просто работаете вот на такой таблице замен Код: plaintext 1. 2. 3. 4. Подобный стиль эскипирования плох тем, что нахер убивает глаза того, кто будет читать такой формат глазами. Я например очень сильно с трудом замечаю, где у вас запятая эскипирована, а где нет. При обработке вашего формата вручную очень и очень легко ошибиться просто поставив бекслеш не перед той скобкой. Теперь понял. То что для чтения человеком неудобно - это да. Но исключает описанную Вами проблему. Просто таблица замен немного больше, чем Вы описали: Код: plaintext 1. 2. 3. 4. 5. то есть достаточно экранировать 4 символа и всё. LumixПрограмёрЯ пробовал что-то подобное без рекурсии сделать, но не получилось Понятно. Я жду, что может быть кто-нибудь посоветует какой-то ленточный формат, допускающий распарсивания в дерево без рекурсии. Не думаю что вообще распарсивание в дерево возможно без рекурсии. Хотя авось кто придумает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 17:12 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Есть ^^-последовательности, есть триграфы языка це. Задача-то какая? Что во что надо завернуть, если слегка перефразировать профессора Преображенского? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 18:11 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЗадача-то какая? Ленточная сериализация сетей только с помощью гуманоидных символов и безрекурсионный алгоритм распарсивания этой ленты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 21:48 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Програмёр Код: plaintext 1. 2. 3. 4. 5. то есть достаточно экранировать 4 символа и всё. Подскажите как по вашей модели экранировать Код: plaintext 1. если Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 21:51 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixПрограмёр Код: plaintext 1. 2. 3. 4. 5. то есть достаточно экранировать 4 символа и всё. Подскажите как по вашей модели экранировать Код: plaintext 1. если Код: plaintext 1. Извините, не понял что требуется. просто экранировать данную строку для записи её как элемента (или части элемента) списка? Если да, тогда давайте определимся всё же, что символ экранирования лучше использовать "/", что бы не дублировать его в строках (ведь \ уже является символом экранирования в строках). Тогда: Код: php 1. 2. 3. 4. 5. на выходе получим: Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 23:18 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Lumix, у тебя дефект постановки. У тебя вообще не список с разделителями. У тебя должно быть 100% дерево. Тогда твои детские болезни сразу пройдут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 23:44 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
maytonLumix, у тебя дефект постановки. Странный термин "дефект постановки". Я не пойму о чем речь. Это какое-то личное оскорбление что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 11:09 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Програмёрна выходе получим: Код: php 1. Вот я прошел пять шагов рекурсии вручную. При этом месиво получилось такое, что вручную не то, что написать такое, а даже "вручную прочитать" такое по-моему нереально. Просто если получаемый формат становится непригодным для ручной обработки, тогда и нет смысла заморачиваться с эскипированием, потому что для машинной обработки можно мутить любую херь, все равно никто из людей читать не будет. И ещё я попытался её разобрать вашим же алгоритмом. Он рекурсивно не стал ничего разбирать, а обработал только один шаг рекурсии. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Вывод работы (разрывы в строчках для форума я поставил сам) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. PS. Кстати, в HTML используется экипирование с операторами Код: html 1. Будет заменено на Код: html 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 11:17 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixПрограмёрна выходе получим: Код: php 1. Вот я прошел пять шагов рекурсии вручную. При этом месиво получилось такое, что вручную не то, что написать такое, а даже "вручную прочитать" такое по-моему нереально. Просто если получаемый формат становится непригодным для ручной обработки, тогда и нет смысла заморачиваться с эскипированием, потому что для машинной обработки можно мутить любую херь, все равно никто из людей читать не будет. И ещё я попытался её разобрать вашим же алгоритмом. Он рекурсивно не стал ничего разбирать, а обработал только один шаг рекурсии. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Вывод работы (разрывы в строчках для форума я поставил сам) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Ну так всё правильно вывел. Что написали, то и вывело :). Мы для того и экранировали символы, что бы то, что является строковым элементом не воспринималось как новый уровень или как несколько элементов (при наличии запятой). Вы что хотите сделать? Если покажите в виде массива, что хотите загнать в строку (и хотите получить обратно), а на реальном примере Вам покажу как работает данный алгоритм. Тут просто кто-то кого-то не понял (или Вы меня, или как говорил, я задачу, хотя по Вашим рассуждениям думаю что понял правильно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 11:33 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixЛенточная сериализация сетей только с помощью гуманоидных символов и безрекурсионный алгоритм распарсивания этой ленты.Нифига не понял, чем не устроили четыре спецсимвола: начало группы, разделитель, конец группы и экранирующий символ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 18:59 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Вернусь в начало. Дан список Код: sql 1. Представим его как S-выражение с небольшими изменениями. Без конструктора list и квоты. Код: sql 1. Пришло b которое по сути тоже список (1,2) Вставляем его так Код: sql 1. Если пришло b которое является не списком а строковым литералом то так уж и быть оставим его строкой. Код: sql 1. Ситуацию когда внутри СТРОКИ b должна сидеть другая СТРОКА с - выкинем нахер. Таких постановок не бывает. Строка - это суть - атом в контексте задачи разработки. И в нее НЕ предусмотрено впихивать или инкапсулировать другие такие-же строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 19:15 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLumixЛенточная сериализация сетей только с помощью гуманоидных символов и безрекурсионный алгоритм распарсивания этой ленты.Нифига не понял, чем не устроили четыре спецсимвола: начало группы, разделитель, конец группы и экранирующий символ? Не устроило тем, что вот этот результат плохо поддается ручной обработке, а это всего 5 уровней вложенности, а что будет если из будет 100. Код: plaintext 1. 2. 3. 4. 5. Если использовать ручной текстовый набор, то предполагается, что с этим будет работать человек. А если у нас получается формат, который человека убивает, то какой смысл тогда работать с эскипированием. На данный момент мы прорабатываем вариант создания инструмента, который будет удобно помогать человеку проставлять размер пакета. Тогда и вручную можно будет работать и понятно будет читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 20:46 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
maytonЕсли пришло b которое является не списком а строковым литералом то так уж и быть оставим его строкой. Код: sql 1. Ситуацию когда внутри СТРОКИ b должна сидеть другая СТРОКА с - выкинем нахер. Таких постановок не бывает. Строка - это суть - атом в контексте задачи разработки. И в нее НЕ предусмотрено впихивать или инкапсулировать другие такие-же строки. В строку можно вставлять другую строку, более, того ваше же решение его и позволяет делать, достаточно просто эскипировать символ (флаг) контектста! То есть я только сейчас понял суперсуть вашей идеи: открывающая кавычка - это начало нового контекста, которая отключает значение символов (флагов запятая и скобки), в новом "строковом контексте" они являются просто литералами. Закрывающая кавычка выключает строковый контекст и символы запятая и скобки опять начинают работать как флаги. Чтобы кавычка строки случайно не отключила "строковый контекст" мы её эскипируем. В принципе вы это и предлагали на примере CSV, но мне что-то мозгов не хватило сразу прикрутить это решение к сеткам. Я думал это канает только для таблиц. А как только у меня голове осенило по поводу кавычки включают и отключают новый семантический контекст, то до меня все сразу дошло как эту схему перенести на сетки. Сейчас голова уже не варит, завтра попробую эту схему на ленточную основу положить и прикрутить алгоритм разбора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 20:59 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
на уставшую голову пока ложится только двухпроходный алгоритм 1 проход) вырезаем все строки и складываем их в таблицу, оставляя вместо строк номера строк в таблице [номер строки, строка, адрес вставки строки] 2 проход) пилим оставшуюся материю в цикле и складываем в таблицу, беря строку по адресу из таблицы первого прохода [номер узла, строка, номера родителей, номера детей] Код: plaintext 1. В принципе должно получиться очень круто. Завтра опробуем. mayton, пока предварительно огромное спасибо за разжевывание своей суперской идеи. И сорри, что с первого раза не дошло. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 21:06 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
Да незачто. Я собственно идею только щас изложил. Мой первый пост - то просто цитата с википедии. С пояснением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2013, 21:32 |
|
||
|
Обратный эскипированный разбор без спец.символов
|
|||
|---|---|---|---|
|
#18+
LumixНе устроило тем, что вот этот результат плохо поддается ручной обработке, а это всего 5 уровней вложенности, а что будет если из будет 100Тоже мне, попугай Кеша: "А если дождь во время усушки?!" В качестве специальных используются относительно редкоиспользуемые символы. Автор TeX-а выбрал { и } для ограничителей группы. Что вам мешает сделать тоже самое? Есть вариант с двойной и одинарной кавычкой, которые выбираются так, чтобы внутри не было окаймляющего символа. Есть "Объединение"'БезПробела' (или 'Объединение' || "БезПробела"), есть 'объединение' "с пробелом" ( REXX ) - прекрасно читается после минимальной практики и легко пишется хоть руками, хоть автоматом. Есть классический сишный вариант: "Строка с \" кавычкой внутри". Точно так же легко читается и пишется. Есть SMTP-экранирование - данные начинаются с новой строки после команды DATA. Заканчиваются строкой из одной точки. Если в тексте есть строка из одной точки - она удваивается. Если при чтении данных мы видим строку, которая начинается с точки и содержит более одного символа - эта точка убирается. Есть, в конце-концов MIME (пять RFC c 2045 по 2049 ). Полезно изучить text/plain Format=Flowed - позволяет, например, складывать длинные строки сохраняя цитирование. P.S. Прям как в анекдоте: "Нет вы посмотрите на этого поца - всю Одессу удовлетворяет, а его, видите-ли, нет!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2013, 19:21 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341730]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
393ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 684ms |

| 0 / 0 |
