Labels are a convenient way of managing relative jump calculations. Backward labels are easy. It is only a matter or recording "HERE" and do subtractions. Forward labels record the place where we should write the offset, and then when we get to that point later on, the label records the offset there. To avoid using dict memory in compilation targets, we pre-declare label variables here, which means we have a limited number of it. For now, 4 ought to be enough. (cont.)