mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-06 06:48:48 +00:00
1.6 KiB
1.6 KiB
Утилиты работы с программами на LaMa
Утилита tools/tool.exe принимает следующие параметры командной строки
-pos L,Cдля указания позиции в исходном тексте, по которой необходимо найди идентификатор и его место определения (resolve)-useопциональный параметр, который кроме resolve проих-водит поиск использований этого идентификатора
Пример входного файла:
1 public fun foldl (f, acc, l) {
2 -- ^-- (1,19)
3 case l of
4 {} -> acc
5 | x : xs -> foldl (f, f (acc, x), xs)
6 -- (5,22)--^ ^-- (5,25)
7 esac
8 }
9
10 public fun filter (f, l) {
11 case l of
12 {} -> {}
13 | h : t -> if f (h) then h : filter (f, t) else filter (f, t) fi
14 esac
15 }
Пример запуска: LAMA=./runtime tools/tool.exe tools/demo1.lama -pos 5,22 -use
В выводе утилита находит определение символа f на позиции (1,19) и два его использования на позициях (5,25) и (5,22)
found definition for `f` at (1,19)
Total 2 usages found
(5,25) (5,22)
Поддерживаемые синтаксические конструкции
Утилита работает для определний функций, их аргументов и локальных определений переменных.