Показать сообщение отдельно
  #3 (permalink)  
Старый 06.09.2010, 13:04
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Мне нужно на js написать парсер находящий в коде все комментарии, строки и регулярки (inline).
Со строками я уже все придумал, можно считать, что в коде их уже нет. Комментарии регулярки и деление содержат слеш, нужно их разделить. С комментариями все просто: смотрим следующий после слеша символ, если это еще один "/" или "*", то комментарий.
С отделением деления от регулярки у меня выходит примерно такой план: смотрим теперь уже предыдущий перед слешем символ, игнорируя пробельные символы, если это "(", то либо регулярка стала первым аргументом при вызове функции, либо:
Сообщение от ecma
Чтобы обойти это ограничение, литерал регулярного выражения можно заключить в скобки
т. е. просто регулярка в скобках. Еще может быть "," , т. е. регулярка стала вторым аргументом при вызове (аргументом массива и т. п.), использование деления в этом случае не допускается. Еще символы "=" и ":", теперь регулярка присваивается переменной/свойству, опять же деление в такой конструкции недопустимо.

Пока, получается, нужно искать любой из символов "(,=:" , игнорируя пробельные символы. Если найден - регулярка, нет - деление.

Вопрос: что я забыл? Или может вообще неправильный план?
Ответить с цитированием