Source code for lyra.main

"""
Lyra Static Program Analyzer
============================
"""

import argparse
from lyra.engine.liveness.liveness_analysis import StrongLivenessAnalysis
from lyra.engine.numerical.interval_analysis import ForwardIntervalAnalysis
from lyra.engine.usage.usage_analysis import SimpleUsageAnalysis


[docs]def main(): """Static analyzer entry point.""" parser = argparse.ArgumentParser() parser.add_argument( 'python_file', help='Python file to analyze') parser.add_argument( '--analysis', help='analysis to be used (interval, liveness, or usage)', default='usage') args = parser.parse_args() if args.analysis == 'intervals': ForwardIntervalAnalysis().main(args.python_file) if args.analysis == 'liveness': StrongLivenessAnalysis().main(args.python_file) if args.analysis == 'usage': SimpleUsageAnalysis().main(args.python_file)
if __name__ == '__main__': main()