В C-подобных языках мы используем выражения if, похожие на следующие:
if(x == 5) {
//do something
}
else if(x == 7) {
//do something else
}
else if(x == 9) {
//do something else
} else {
//do something else
}
Мой вопрос заключается в том, видит ли компилятор этот оператор if, или в конечном итоге его интерпретируют следующим образом:
if(x == 5) {
//do something
}
else {
if(x == 7) {
//do something
}
else {
if(x == 9) {
//do something
}
else {
//do something else
}
}
}
EDIT: Я понял, что, хотя вопрос имеет смысл в моей голове, он, вероятно, казался довольно глупым для остального населения. Я больше имел в виду, как выглядит АСТ, и были ли какие-либо особые случаи АСТ для операторов "else-if" или если он был скомпилирован как каскадный блок if/else.