MeteoSwiss-APN / dawn

Compiler toolchain to enable generation of high-level DSLs for geophysical fluid dynamics models
MIT License
28 stars 30 forks source link

Refactor SIR <-> AST interdependencies #1090

Closed muellch closed 3 years ago

muellch commented 3 years ago

Technical Description

Gets rid of the SIR<-> AST circular dependencies resolving https://github.com/MeteoSwiss-APN/dawn/issues/319 and partially resolving https://github.com/MeteoSwiss-APN/dawn/issues/320.

The most important change is the separation of anything related to class sir::VerticalRegion, including class ast::VerticalRegionDeclStmt, into separate files VerticalRegion.h and VerticalRegion.cpp. In these files class sir::VerticalRegion remains defined as part of the sri namespace, while ast::VerticalRegionDeclStmt remains defined as part of the namespace ast.

Other noteworthy changes:

Future discussions and TODOs:

muellch commented 3 years ago

launch jenkins

muellch commented 3 years ago

launch jenkins

Stagno commented 3 years ago

@muellch about the two points you mention in the description, I'd say yes, they could be done as followups to this PR if you still think AST refactorings are still worth your time.

muellch commented 3 years ago

launch jenkins

Stagno commented 3 years ago

@muellch Squash and merge at your will, as PR is approved and build is green