Как мне разобрать источник на Haskell в AST на Haskell?
Я пытаюсь разобрать исходный файл на Haskell в AST. Я новичок в парсерах, поэтому я не уверен, как сделать свой собственный. Мне просто интересно, есть ли функция, которая принимает файл и возвращает AST. Я также думал, что это может сработать, чтобы превратить файл в строку, используя readFile
и затем анализирую строку, но я до сих пор не знаю, куда идти дальше. Есть какой-то известный способ сделать это? Если нет, то как я могу сделать это сам?
1 ответ
Решение
Попробуйте Language.Haskell.Meta.Parse. Особенно, parseHsModule
проанализируем весь модуль для вас. Есть также функции для разбора небольших кусков, такие как parseExp
который разбирает выражение.