|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.05.2011, 19:58 | #1 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Boost::Regex, лексический анализатор.
в общем переписываю компилятор для поддержки юникода.
остановился на Boost::Regex. но не понимаю одно, обьясню на примере на FLEX было так: Код:
перебирать их по очереди чтоли? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
31.05.2011, 20:11 | #2 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Если я правильно понял вопрос, то сделал бы так: отсортировал шаблоны (один раз, когда создавал данные), а потом бинпоиском работал за логарифм. Также можно через хеши за единицу.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
31.05.2011, 20:21 | #3 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
сделай ассоциативный массив string => regex
хотя в первых трех никаких регэкспов не надо, достаточно обычного сравнения вообще, делать парсер на голом C++ и не важно, с регэкспами или без оных, неразумно. (E)BNF рулит, специализированные инструменты (типа Antlr) - тоже
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
31.05.2011, 20:38 | #4 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 31.05.2011 в 20:42. |
|||
31.05.2011, 20:43 | #5 | ||
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Цитата:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
||
01.06.2011, 09:58 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
в общем выходит куча ошибок в шаблонах: приведу пару из них: Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
01.06.2011, 10:26 | #7 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Пепел Феникса
в чем дело то?(компиль mingw gcc) в неумении, очевидно, делать RTFM, а ты думал, что-то другое? boost::wsmatch r;
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
01.06.2011, 10:33 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
обидно, что ошибка такая маленькая
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лексический анализатор азбуки Морзе в виде конечного автомата | MrBrain | Помощь студентам | 1 | 08.11.2010 10:23 |
C# и regex | Vigo_Alex | Помощь студентам | 0 | 12.10.2010 02:26 |
Лексический анализатор С++ | EniOk | Помощь студентам | 1 | 06.12.2009 15:43 |
Лексический анализатор | serguna005 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 06.12.2008 00:00 |