Использование Ragel с потоковым вводом для определения URL?

Мне нужно эффективно определять URL-адреса во входном потоке во время набора текста.

Детектор URL будет частью процесса набора. Он должен принимать по одному символу за раз в качестве входных данных и выводить по одному символу за раз вместе с URL, к которому принадлежит этот символ. Это может буферизовать текст для просмотра, чтобы сделать это.

Например, если входной поток "Hello http://foo.com World", вывод должен быть:

"H": "" 
"e": "" 
"l": "" 
"l": "" 
"o": "" 
" ": "" 
"h": "http://foo.com" 
"t": "http://foo.com" 
"t": "http://foo.com" 
"p": "http://foo.com" 
":": "http://foo.com" 
"/": "http://foo.com" 
"/": "http://foo.com" 
"f": "http://foo.com" 
"o": "http://foo.com" 
"o": "http://foo.com" 
".": "http://foo.com" 
"c": "http://foo.com" 
"o": "http://foo.com" 
"m": "http://foo.com" 
" ": "" 
"W": "" 
"o": "" 
"r": "" 
"l": "" 
"d": ""

Можно ли заставить Ragel передавать поток ввода и вывода по мере необходимости?

Кстати, здесь есть (Java) ragel URL-парсер, который я думаю использовать в качестве отправной точки.

0 ответов

Другие вопросы по тегам