я хочу парсить исходный код на js. Думаю, я могу просто сам набросать разных функций на Хаскеле, чтобы преобразовать прочитанные файлы (список строк) в список функций (свой тип данных, в котором будет строка-адрес исходного файла и, допустим, строка с исходным кодом функции). Но есть ли какие-то best practices или готовые либы для такого парсинга?
Как я это вижу: читаем первый символ. Если это не "f", идем дальше. И так далее скипаем все до function. Если это function, то записываем исходный код до тех пор, пока все встреченные "{" не закроются "}". Повторяем до конца файла. На самом деле там посложнее логика будет с выделением аргументов, тела функции и т. д., но не важно. Для начала так.
Так вот, это просто самому запиливать или уже есть что-то типа parse criteriaToStart criteriaToEnd, где эти аргументы являются функциями, получающими на вход уже прочитанную до сих пор строку (с начала либо с окончания прошлой итерации) и возвращающими Bool (т. е. начинать ли парсинг, заканчивать ли парсинг). А сама parse возвращала бы список из таких кусков
https://www.npmjs.com/package/esprima ?
страшно как-то выглядит
Обсуждают сегодня