1 module pep8analysis_web
11 redef class AnalysisManager
15 var stream
= new StringIStream(src
)
16 var ast
= build_ast
("web", stream
)
22 var model
= build_model
(ast
)
25 if model
.lines
.is_empty
then
26 fatal_error
( ast
, "This programs appears empty" )
31 var cfg
= build_cfg
(model
)
37 do_reaching_defs_analysis
(cfg
)
40 do_range_analysis
(ast
, cfg
)
43 do_types_analysis
(ast
, cfg
)
46 if notes
.is_empty
then print
"Success: Nothing wrong detected"
48 var of
= new StringOStream
49 cfg
.print_dot
(of
, true)
58 fun show_graph
(content
: String) do "show_graph('{content.escape_to_c}');".run_js
64 init(str
: String) do _buffer
= new FlatBuffer.from
(str
)
66 redef fun fill_buffer
do end_reached
= true
67 redef var end_reached
: Bool = false
71 redef fun manager
do return once
new AnalysisManager
74 manager
.run args
.first