6759fcc52d65f4003de93781a5dcf3ddc8993471
4 redef class AnalysisManager
5 fun build_ast_from_file
( filename
: String ) : nullable AListing
7 var file
= new IFStream.open
( filename
)
8 return build_ast
(filename
, file
)
11 fun build_ast
(filename
: String, stream
: IStream): nullable AListing
13 var source
= new SourceFile(filename
, stream
)
14 var lexer
= new Lexer(source
)
15 var parser
= new Parser(lexer
)
16 var node_tree
= parser
.parse
18 var ast
= node_tree
.n_base
20 var err
= node_tree
.n_eof
22 print
"error at {err.location}: {err.message}"