<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://pascalabc.net/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0</id>
	<title>Модельный язык программирования Polly — грамматика - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://pascalabc.net/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;action=history"/>
	<updated>2026-04-19T01:10:59Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=2064&amp;oldid=prev</id>
		<title>Juliet в 11:57, 24 апреля 2011</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=2064&amp;oldid=prev"/>
		<updated>2011-04-24T11:57:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;amp;diff=2064&amp;amp;oldid=2063&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Juliet</name></author>
	</entry>
	<entry>
		<id>https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=2063&amp;oldid=prev</id>
		<title>Juliet: Новая: &lt;pre&gt; /* ****************************************** Основные блоки ****************************************** */  codefile  	                		// Кодовый файл 	: ...</title>
		<link rel="alternate" type="text/html" href="https://pascalabc.net/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Polly_%E2%80%94_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=2063&amp;oldid=prev"/>
		<updated>2011-04-24T11:55:14Z</updated>

		<summary type="html">&lt;p&gt;Новая: &amp;lt;pre&amp;gt; &lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;****************************************** Основные блоки ******************************************: &lt;/span&gt;  codefile  	                		// Кодовый файл 	: ...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/* ****************************************** Основные блоки ****************************************** */&lt;br /&gt;
&lt;br /&gt;
codefile  	                		// Кодовый файл&lt;br /&gt;
	: mainProgramBlock&lt;br /&gt;
&lt;br /&gt;
mainProgramBlock            		// Программный блок&lt;br /&gt;
    : Declarations mainProgramFunc&lt;br /&gt;
	&lt;br /&gt;
mainProgramFunc            	 		// Основной исполняемый раздел&lt;br /&gt;
    : MAIN Statements END&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
/* ****************************************** Секция описаний ***************************************** */&lt;br /&gt;
    &lt;br /&gt;
Declarations						// Секция описаний&lt;br /&gt;
    : DeclarationsList &lt;br /&gt;
    | /* empty */&lt;br /&gt;
	&lt;br /&gt;
DeclarationsList					// Список секций описаний&lt;br /&gt;
	: DeclarationsList DeclarationSection&lt;br /&gt;
	| DeclarationSection&lt;br /&gt;
    &lt;br /&gt;
DeclarationSection					// Секция описания&lt;br /&gt;
    : FunctionDeclarationSection&lt;br /&gt;
	| ConstantDeclarationSection&lt;br /&gt;
	&lt;br /&gt;
VariableDeclarationSection			// Объявление (описание) переменных&lt;br /&gt;
	: VAR ident ASSIGN expr SEMICOLUMN &lt;br /&gt;
	| TypeDescription VariableDefinitionsList SEMICOLUMN &lt;br /&gt;
	&lt;br /&gt;
VariableDefinitionsList				// Список объявлений/описаний переменных	&lt;br /&gt;
	: VariableDefinitionsList COLUMN VariableDefinition&lt;br /&gt;
	| VariableDefinition&lt;br /&gt;
&lt;br /&gt;
VariableDefinition					// Описание / объявление переменной&lt;br /&gt;
	: ident&lt;br /&gt;
	| ident ASSIGN expr&lt;br /&gt;
	&lt;br /&gt;
ConstantDeclarationSection			// Описание константы&lt;br /&gt;
	: CONST StadardType ident ASSIGN ConstExpr SEMICOLUMN&lt;br /&gt;
    &lt;br /&gt;
FunctionDeclarationSection  		// Описание функции&lt;br /&gt;
    : ReturnType FUN ident TemplateParams LPAREN FunctionFormalParameters RPAREN Statements END&lt;br /&gt;
	| ReturnType FUN ident LPAREN FunctionFormalParameters RPAREN Statements END &lt;br /&gt;
	&lt;br /&gt;
ReturnType							// Возвращаемое значение функции&lt;br /&gt;
	: TypeDescription &lt;br /&gt;
	| /* empty */&lt;br /&gt;
	&lt;br /&gt;
FunctionFormalParameters			// Формальные параметры функции&lt;br /&gt;
	: FormalParametersList&lt;br /&gt;
	| /* empty */&lt;br /&gt;
	&lt;br /&gt;
TemplateParams						// Шаблонные параметры функции&lt;br /&gt;
	: OPEN_GENERIC IdentList RBRACKET &lt;br /&gt;
	&lt;br /&gt;
TypeWithIdentParameter				// Некоторый параметр вида &amp;lt;тип идентификатор&amp;gt;&lt;br /&gt;
	: TypeDescription ident&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
/* ************************************************ Типы ********************************************** */	&lt;br /&gt;
&lt;br /&gt;
TypeDescription						// Описание типа&lt;br /&gt;
	: StadardType&lt;br /&gt;
	| ArrowType&lt;br /&gt;
	&lt;br /&gt;
StadardType							// Обычный тип&lt;br /&gt;
	: FullIndetifier&lt;br /&gt;
	&lt;br /&gt;
ArrowType							// Функциональный тип (со стрелочкой)&lt;br /&gt;
	: InArrowType ARROW ArrowType&lt;br /&gt;
	| InArrowType ARROW InArrowType&lt;br /&gt;
	&lt;br /&gt;
InArrowType							// Часть функционального типа&lt;br /&gt;
	: StadardType&lt;br /&gt;
	| LPAREN ArrowType RPAREN&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
/* ********************************************* Выражения ******************************************** */	&lt;br /&gt;
    &lt;br /&gt;
ident                       		// Идентификатор&lt;br /&gt;
    : ID&lt;br /&gt;
	&lt;br /&gt;
FullIndetifier						// Полный идентификатор (вместе с точками, например, будет) TODO&lt;br /&gt;
	: ident&lt;br /&gt;
	&lt;br /&gt;
expr								// Выражение TODO&lt;br /&gt;
	: expr Relation SimpleExpr&lt;br /&gt;
	| SimpleExpr&lt;br /&gt;
	&lt;br /&gt;
Relation							// Отношение&lt;br /&gt;
	: EQ&lt;br /&gt;
	| NE&lt;br /&gt;
	| GE&lt;br /&gt;
	| LE&lt;br /&gt;
	| GT&lt;br /&gt;
	| LT&lt;br /&gt;
	&lt;br /&gt;
SimpleExpr							// Простое выражение&lt;br /&gt;
	: SimpleExpr PlusOperator SignedTerm&lt;br /&gt;
	| SignedTerm&lt;br /&gt;
	&lt;br /&gt;
PlusOperator						// Оператор &amp;quot;сложения&amp;quot;&lt;br /&gt;
	: PLUS&lt;br /&gt;
	| MINUS&lt;br /&gt;
	| OR&lt;br /&gt;
	&lt;br /&gt;
SignedTerm							// Слагаемое со знаком&lt;br /&gt;
	: term&lt;br /&gt;
	| PLUS term %prec UPLUS&lt;br /&gt;
	| MINUS term %prec UMINUS&lt;br /&gt;
&lt;br /&gt;
term								// Слагаемое&lt;br /&gt;
	: term MultOperator factor&lt;br /&gt;
	| factor&lt;br /&gt;
	&lt;br /&gt;
MultOperator						// Оператор &amp;quot;умножения&amp;quot;&lt;br /&gt;
	: MULT&lt;br /&gt;
	| DIVIDE&lt;br /&gt;
	| AND&lt;br /&gt;
	| DIV&lt;br /&gt;
	| MOD&lt;br /&gt;
	&lt;br /&gt;
factor								// Множитель&lt;br /&gt;
	: FullIndetifier&lt;br /&gt;
	| NOT factor&lt;br /&gt;
	| BoolValue&lt;br /&gt;
	| NumericValue&lt;br /&gt;
	| CallFunction &lt;br /&gt;
	| ExplicitTemplateCallFunction&lt;br /&gt;
	| LambdaExpr &lt;br /&gt;
	| LPAREN expr RPAREN&lt;br /&gt;
	&lt;br /&gt;
BoolValue							// Булево значение&lt;br /&gt;
	: TRUE&lt;br /&gt;
	| FALSE&lt;br /&gt;
	&lt;br /&gt;
NumericValue						// Числовое выражение&lt;br /&gt;
	: INTNUM&lt;br /&gt;
	| DOUBLENUM&lt;br /&gt;
	&lt;br /&gt;
ConstExpr							// Константное выражение&lt;br /&gt;
	: expr&lt;br /&gt;
	&lt;br /&gt;
LambdaExpr 							// Лямбда-выражение&lt;br /&gt;
	: LBRACE LambdaParameters LAMBDA_ARROW LambdaBody RBRACE&lt;br /&gt;
&lt;br /&gt;
LambdaParameters					// Параметы лямбда-выражения&lt;br /&gt;
	: ParameterDeclaration &lt;br /&gt;
	| LPAREN FormalParametersList RPAREN &lt;br /&gt;
	&lt;br /&gt;
ParameterDeclaration				// Объявление (описание) параметра&lt;br /&gt;
	: TypeWithIdentParameter &lt;br /&gt;
	| ident &lt;br /&gt;
	&lt;br /&gt;
LambdaBody							// Тело лямбда-выражения&lt;br /&gt;
	: expr &lt;br /&gt;
	| StatementsList &lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
/* *********************************************** Списки ******************************************** */&lt;br /&gt;
&lt;br /&gt;
ExprList							// Список выражений&lt;br /&gt;
	: ExprList COLUMN expr&lt;br /&gt;
	| expr &lt;br /&gt;
	&lt;br /&gt;
FormalParametersList				// Список формальных параметров&lt;br /&gt;
	: FormalParametersList COLUMN ParameterDeclaration &lt;br /&gt;
	| ParameterDeclaration &lt;br /&gt;
	&lt;br /&gt;
IdentList							// Список идентификаторв&lt;br /&gt;
	: IdentList COLUMN ident&lt;br /&gt;
	| ident &lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
/* ***************************************** Секция предложений *************************************** */&lt;br /&gt;
&lt;br /&gt;
Statements							// Секция операторов&lt;br /&gt;
    : StatementsList &lt;br /&gt;
    | /* empty */&lt;br /&gt;
	&lt;br /&gt;
StatementsList						// Последовательность операторов&lt;br /&gt;
	: StatementsList Statement&lt;br /&gt;
	| Statement&lt;br /&gt;
	&lt;br /&gt;
Statement							// Оператор TODO&lt;br /&gt;
	: InternalDeclarations &lt;br /&gt;
	| Assignment &lt;br /&gt;
	| IfStatement &lt;br /&gt;
	| WhileStatement &lt;br /&gt;
	| EmptyStatement &lt;br /&gt;
	| CallFunction SEMICOLUMN &lt;br /&gt;
	| ExplicitTemplateCallFunction SEMICOLUMN &lt;br /&gt;
	| ReturnOperator &lt;br /&gt;
	;&lt;br /&gt;
	&lt;br /&gt;
EmptyStatement						// Пустой оператор&lt;br /&gt;
	: SEMICOLUMN &lt;br /&gt;
	&lt;br /&gt;
InternalDeclarations				// Описания, возможные внутри программы&lt;br /&gt;
	: VariableDeclarationSection &lt;br /&gt;
	&lt;br /&gt;
Assignment							// Присваивание&lt;br /&gt;
	: FullIndetifier ASSIGN expr SEMICOLUMN &lt;br /&gt;
	&lt;br /&gt;
IfStatement 						// Оператор If	&lt;br /&gt;
	: IF expr THEN StatementsList ElifIfStatementPart FI &lt;br /&gt;
	| IF expr THEN StatementsList ElifIfStatementPart ELSE StatementsList FI &lt;br /&gt;
    &lt;br /&gt;
ElifIfStatementPart         		// Набор Elif-операторов, может быть пустым&lt;br /&gt;
    : ElifStatementsList &lt;br /&gt;
    | /* empty */&lt;br /&gt;
    &lt;br /&gt;
ElifStatementsList          		// Список Elif-операторов&lt;br /&gt;
    : ElifStatementsList ElifStatement &lt;br /&gt;
    | ElifStatement &lt;br /&gt;
    &lt;br /&gt;
ElifStatement               		// Elif-выражение&lt;br /&gt;
    : ELIF expr THEN StatementsList &lt;br /&gt;
    &lt;br /&gt;
WhileStatement              		// Оператор while&lt;br /&gt;
    : WHILE expr DO StatementsList ENDW &lt;br /&gt;
	&lt;br /&gt;
ReturnOperator						// Возвращение значения&lt;br /&gt;
	: RETURN SEMICOLUMN &lt;br /&gt;
	| RETURN expr SEMICOLUMN &lt;br /&gt;
	&lt;br /&gt;
CallFunction						// Вызов функции&lt;br /&gt;
	: FullIndetifier LPAREN FunctionFactParameters RPAREN &lt;br /&gt;
	&lt;br /&gt;
FunctionFactParameters				// Фактические параметры функции&lt;br /&gt;
	: ExprList&lt;br /&gt;
	| /* empty */&lt;br /&gt;
	&lt;br /&gt;
ExplicitTemplateCallFunction		// Вызов шаблона функции с явным указанием типов параметров шаблона&lt;br /&gt;
	: FullIndetifier OPEN_GENERIC TemplateTypesList RBRACKET LPAREN FunctionFactParameters RPAREN &lt;br /&gt;
	&lt;br /&gt;
TemplateTypesList					// Список указаний типов параметров шаблона&lt;br /&gt;
	: TemplateTypesList COLUMN TemplateTypeDeclaration &lt;br /&gt;
	| TemplateTypeDeclaration &lt;br /&gt;
	&lt;br /&gt;
TemplateTypeDeclaration				// Указание типа шаблона&lt;br /&gt;
	: TypeDescription &lt;br /&gt;
	| ident ASSIGN TypeDescription &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Juliet</name></author>
	</entry>
</feed>