zilch-lang / nstar

The compiler for N⋆, a statically typed assembly language used as a compiler backend for Zilch
BSD 3-Clause "New" or "Revised" License
28 stars 2 forks source link

Create a branch-checking stage #35

Closed Mesabloo closed 3 years ago

Mesabloo commented 3 years ago

In addition to the type-checking stage which can already report some invalid jumps (when types do not match), branch-checking is used to determine that the control flow graph does not have any irregularities like "fall-through labels" (this was discussed in #12 and was one of the main problems of the current type-checker).

This PR can be merged once everything in this list has been implemented:

Issues to be closed: #12, #33