Для того чтобы лучше понять действия интерпретатора Mini С++, необходимо узнать, как структурирован язык С++. Если вы когда-нибудь видели формализованное описание языка С++ (например, то, которое можно найти в стандарте С++, разработанном ANSI/ISO (Американская и международная организации стандартизации)), то знаете, что оно очень длинное и напол- }' } нено довольно загадочными операторами. Не беспокойтесь, для понимания интерпретатора Mini С++ вам не придется иметь дело с таким уровнем формализации С++. Те части языка, которые интерпретирует Mini С++, легко понять. Как уже отмечалось, все же необходимо базовое представление о том, как определен язык С++. Для этой цели достаточно неформального обсуждения, приведенного далее. Тем не менее, помните, что в нем некоторые концепции намеренно упрощаются. Программа на языке С++ состоит из одной или нескольких функций и глобальных переменных (если таковые есть). Функция состоит из имени функции, списка ее параметров и тела функции, представляющего собой блок кода. Блок начинается знаком {, далее следуют один или несколько операторов, и завершается он знаком }. Блок кода (также называемый составным оператором) создает область видимости. По существу оператор (statement) — это либо выражение или вложенный блок, либо конструкция, начинающаяся с ключевых слов if, for или int. Вложенный блок создает вложенную область видимости. ^ Примечание ^ Несмотря на то, что перечисленных категорий операторов (ключевое слово, блок и выражение) достаточно для понимания функционирования интерпретатора Mini С++, интересно отметить, что стандарт С++, разработанный ANSI/ISO, использует более детальное определение. В стандарте перечислены следующие виды операторов: помеченный, выражение, составной, выбора, повтора, перехода, объявления и блок try. Программа на языке С++ начинает выполнение с вызова функции maino. И завершается, когда обнаружена последняя закрывающая фигурная скобка } или последний оператор return при условии, что нигде в программе не было вызовов функций exit о или abort о. Все остальные функции, содержащиеся в программе, должны прямо или косвенно вызываться функцией maino. Таким образом, интерпретатор Mini С++ просто стартует в функции main о и завершается, когда она заканчивает свое выполнение.
|