AZJIO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Skif_off Цитата: и медленнее всего регэкспы | Всё конечно в сравнении. Например секция слов содержит к примеру имена всех функций, а их 3000, что в PureBasic, что в AutoIt3 если брать UDF (дополнительные). Здесь есть несколько способов:1) прямой поиск каждого слова, 2) анализировать как регвыр, то есть сортировать список слов и проверять каждое слово по первой букве, потом по второй, если прошла первая, 3) сгенерировать базу-дерево, то есть создаётся структура где в первом уровне только одна копия, если при сортировке несколько слов на букву "а", то в дереве только один раз буква "а", вот с картинками. Итак, алгоритм проверки побуквенный в котором надо пройти все буквы, а иногда и для каждого слова, а регвыр тут идёт заведомо проще, например задав правило "\w+\(" мы идём по буквам, проверяя что код буквы больше "а" но меньше "z", если на конце не скобка, то сбрасываем счётчик, в итоге этот алгоритм будет работать быстрее чем проверять 3000 слов. Для больших файлов на мой взгляд можно было бы добавить условие - если больше 100 Мб то отключить подсветку. А уж размер в ini-файле мог бы каждый сам проставить у себя. Или даже для каждого типа файла, например секция расширений и размеров (в Мб) html=30 txt=100 и т.д. Это даже можно было бы в самом кодер-файле указывать. | Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 01:52 17-11-2024 | Исправлено: AZJIO, 01:56 17-11-2024 |
|