Category: it

Category was added automatically. Read all entries about "it".

Почему парсить C++ трудно

Известно, что компилятору языка C++ работать существенно сложнее, чем, скажем, компилятору Java, потому что его парсеру часто приходится „заглядывать вперед“. Давайте разберемся, как это.
Вот фрагмент из Михаила Щербакова:

«[Балаган] летит и в холод, и в жару, и в гром, и в тишину.»

Разбираем. Глагол «летит». Дальше: винительный падеж, винительный падеж, винительный падеж, винительный падеж. Стоп, стоп. «В тишину» – не подходит ведь по семантике. Должно было быть «летит в тишине». А если «летит в тишину», то это ответ на вопрос «куда?». Значит все до этого – это было перечисление того, куда летит Балаган? Ему предстоят холод, жара, гром и тишина? Вот облом, теперь, значит, придется забывать все накопленные впечатления от строки и начинать разбор с начала.

Примерно так. Человеку эта игра слов может показаться забавной, ну а компилятору – нет.