Analiza statyczna z niestandardowymi regułami dla JavaScript?

Czy narzędzie JSLint, JSHint lub inne narzędzie do analizy kodu statycznego o otwartym kodzie źródłowym obsługuje dodawanie niestandardowych reguł zgodności z kodem, czy też istnieją parsery zgodne ze standardem ECMAScript, których mogę użyć, aby uzyskać wyniki jak najbliżej wyników widocznych w poniższym fragmencie ?

Na przykład chciałbym zajrzeć do kodu JavaScript i wyświetlić listę wywoływanych funkcji, jeśli wywoła bibliotekę (lub interfejsy API dostarczane przez smartfony dla widżetów HTML5), aby zarejestrować wszystko, co należy do przestrzeni nazw tego interfejsu API, aby utworzyć drzewo obiektów i ich właściwości, aby sprawdzić, czy funkcja jest wywoływana z tego obiektu, do którego można prześledzić wstecz, może z wyjściem w XML, JSON lub innym formacie strukturalnym.

Powiedz na przykład, że mam ten kod JavaScript (nic nie robi i jest tylko dla argumentu):

jobs = mylibrary.getJobs();
found = jobs.find("Python");
list = found.convert("html");

Chcę, aby moje narzędzie analizatora otrzymało to:

{
    "mylibrary": {
        "jobs": {"maker":"getJobs", "parent": "mylibrary"},
        "found": {"maker": "find", "parent": "jobs", "parameters": "Python"},
        "list": {"maker": "convert", "parent": "found"}
    }
}

questionAnswers(3)

yourAnswerToTheQuestion