Например, если я имел следующий кодКакая фаза компиляции отвечает за обнаружение незаявленных структур?
int f()
{
/*set struct value*/
struct test_2 t;
t.j = 0;
}
Если я получаю сообщение об ошибке, таких как struct test_2
не объявил мне было интересно, на каком этапе компиляции определяет конкретную ошибку? Также мне было интересно, какая фазовая компиляция удалит комментарий из кода? Мне жаль, если это глупый вопрос, я просто немного разбираюсь в компиляторах и мне было любопытно.
Насколько я знаю фаза компиляции включает следующее
Lexical Analysis
Parsing
Semantic Analysis
Intermediate Code Generation
Code Optimization
Final Code Generation
Этот вопрос, вероятно, будет закрыт для того, чтобы быть слишком широким (здесь есть два вопроса, и ответ хотя бы на один из них «зависит от этого»). Если вы можете сфокусировать вопрос, пожалуйста, сделайте это. –
@RogerLipscombe Я согласен, что это может измениться, но я просто хотел получить общий ответ, чтобы получить представление. Я думаю, что ответ Скотта имеет смысл для меня. – user1010101