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.