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