Передо мной стояла задача разобрать (parse) файл VRML V1.0 ascii. Спросив в нашей рассылке, получил ответ от fuxx, на проект на sf.net. Скачав и поглядев на это чудо размером 21мб в распакованном виде, я подумал что нафиг оно мне надо :) И сел писать свой парсер на Ruby. И вот что из этого получилось. Прошу не комментировать стиль написания как умею, так и пишу. Для моей задачи это вполне подходит.
Пример файла wrl
Текст скрипта на Ruby
Результат выполнения скрипта
получился вполне читабельный вывод, который уже не составит труда прочесь из C++ проги и считать данные. Я так же проверял работоспособность этого скрипта для файла с несколькими объектами. Работает.
Может кого-нибудь заинтересует вопрос, почему я не парсерю окончание файла после # Visible Objects? Ответ прост оно мне нафиг не нужно :)