melt-umn / silver

An attribute grammar-based programming language for composable language extensions
http://melt.cs.umn.edu/silver/
GNU Lesser General Public License v3.0
58 stars 7 forks source link

Avoid reading and deserializing interface files twice #811

Closed krame505 closed 10 months ago

krame505 commented 10 months ago

Changes

I discovered that we are loading interface files twice, and still loading them when doing a clean build, which adds unneded overhead. This change refactors compileGrammar and compileInterface slightly to avoid these issues and shave a few seconds off of builds.

Documentation

Internal change, added a couple comments.

Testing

I verified this works by touching various files and manually rebuilding Silver a few times.