##### Утилиты работы с программами на 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) ``` ###### Поддерживаемые синтаксические конструкции Утилита работает для определний функций, их аргументов и локальных определений переменных.