Contrary to most C compilers and assemblers, all labels generated to pascal variables and routines have mangled names4. This is done so that the compiler can do stronger type checking when parsing the pascal code. It also permits function and procedure overloading.