Объявления

Program:
	DeclarationList

DeclarationList:
	eof
	Declaration DeclarationList

Declaration:
	extern Name Type
	global Name Definition
	local Name Definition

Definition:
	Definition2
	const Definition2
	SubProgramType { StatementList

Definition2:
	DataType { ExpressionBracesClose

Type:
	DataType
	const DataType
	SubProgramType

SubProgramType:
	( ArgumentList ReturnType

ArgumentList:
	)
	Argument ArgumentList2

ArgumentList2:
	)
	, ArgumentList

Argument:
	Argument2
	Name Argument2

Argument2:
	DataType
	const DataType

ReturnType:
	void
	DataType

DataType:
	log8
	char8
	nat8
	nat16
	nat32
	nat64
	int8
	int16
	int32
	int64
	real32
	real64

Программная единица (файл) состоит из последовательности объявлений, возможно пустой. Объявление может быть глобальным, локальным и внешним. В первых двух случаях объявление также является определением и в этом месте создаётся объект. Глобальность означает, что видимость распространяется на все файлы, а локальность - только на текущий файл. Внешнее объявление означает, что объект создаётся в другом месте. Объявлять можно данные и подпрограммы.
Объявление данных состоит из имени объекта, возможного служебного слова const, типа данных и возможного блока инициализации. Служебное слово const относится к имени объекта, а не к типу. Т.е. существуют постоянные и переменные данные, а не типы. Если объявление является определением, то у него должен быть блок инициализации данных.
Объявление подпрограммы состоит из имени, типа и, в случае определения, программного блока.
Тип подпрограммы начинается с круглой скобки, возможного списка параметров, закрывающей скобки и возвращаемого типа данных.

Наверх

Hosted by uCoz