public List <ProcedureCompilation>?Compile(S.NamespaceDeclaration declaration, out IEnumerable <DiagnosticInfo> diagnostics) { var binder = new NamespaceBinder(declaration); binder.Explore(); var bound = binder.Bind(); binder.CollectDiagnostics(); diagnostics = binder.Diagnostics; if (binder.HasErrors) { return(null); } var procedures = CompileDeclaration(bound).ToList(); foreach (var constant in Transformer.ConstantTable) { RegisterConstant(constant); } return(procedures.ToList()); }
public NamespaceBinder(S.NamespaceDeclaration declaration) { Declaration = declaration; Declarations = new Dictionary <S.Declaration, IDeclaration>(); Namespaces = new List <NamespaceBinder>(); }