diff --git a/PABCNetHelp/LangGuide/Types/tuples.html b/PABCNetHelp/LangGuide/Types/tuples.html
index 857e21a6d..bb3beccf9 100644
--- a/PABCNetHelp/LangGuide/Types/tuples.html
+++ b/PABCNetHelp/LangGuide/Types/tuples.html
@@ -15,22 +15,24 @@
Кортежи
Кортеж - это тип данных, являющийся аналогом
-записи. Как и запись, кортеж представляет собой набор элементов разных
-типов. В отличие от записей, тип кортежей описывается очень просто. Кроме того,
+записи или класса. Как запись
+или класс, кортеж представляет собой набор элементов разных
+типов, но описывается существенно проще. Кроме того,
поля кортежа имеют предопределенные имена и являются неизменными: поменять поля кортежа
после его создания невозможно.
Тип кортежа
+Для типа кортежа используется следующая запись:
+
+ var t: (string,integer);
+
+Данная запись похожа на объявление перечислимого типа. Если в круглых
+скобках - новые имена, то это перечислимый тип, а если имена типов, то это - тип кортежа.
Кортежи представляются типом System.Tuple платформы .NET:
var t: System.Tuple<string,integer>;
-Для типа кортежа может быть использована сокращенная запись:
-
- var t: (string,integer);
-
-Данная запись похожа на объявление перечислимого типа. Если в круглых
-скобках - новые имена, то это перечислимый тип, а если имена типов, то это - тип кортежа.
+Однако данное представление может поменяться в будущем.
Конструирование значений типа кортеж
Значения типа кортеж могут быть сконструированы в виде заключенного в круглые
diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
index 962fdcc58..e38b37299 100644
--- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
+++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
@@ -1,9 +1,9 @@
//
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
-// Machine: IVAN-PC
-// DateTime: 23.09.2018 13:03:23
-// UserName: Ivan
+// Machine: DESKTOP-A6LT9RI
+// DateTime: 23.09.2018 22:34:25
+// UserName: ?????????
// GPLEX input file
// GPLEX frame file
//
diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y
index 5f1e2389b..953b29d1e 100644
--- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y
+++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y
@@ -2125,7 +2125,7 @@ property_specifiers
}
else // расширенные свойства
{
- var id = NewId("#GetGen");
+ var id = NewId("#GetGen", @2);
procedure_definition pr = null;
if (!parsertools.build_tree_for_formatter)
pr = CreateAndAddToClassReadFunc($2, id, @2);
@@ -2146,7 +2146,7 @@ property_specifiers
}
else // расширенные свойства
{
- var id = NewId("#SetGen");
+ var id = NewId("#SetGen", @2);
procedure_definition pr = null;
if (!parsertools.build_tree_for_formatter)
pr = CreateAndAddToClassWriteProc($2 as statement,id,@2);
@@ -2169,7 +2169,7 @@ write_property_specifiers
}
else
{
- var id = NewId("#SetGen");
+ var id = NewId("#SetGen", @2);
procedure_definition pr = null;
if (!parsertools.build_tree_for_formatter)
pr = CreateAndAddToClassWriteProc($2 as statement,id,@2);
@@ -2188,7 +2188,7 @@ read_property_specifiers
}
else
{
- var id = NewId("#GetGen");
+ var id = NewId("#GetGen", @2);
procedure_definition pr = null;
if (!parsertools.build_tree_for_formatter)
pr = CreateAndAddToClassReadFunc($2,id,@2);
diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
index 15484c060..e35530dc6 100644
--- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
+++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
@@ -1,9 +1,9 @@
// (see accompanying GPPGcopyright.rtf)
// GPPG version 1.3.6
-// Machine: IVAN-PC
-// DateTime: 23.09.2018 13:03:25
-// UserName: Ivan
+// Machine: DESKTOP-A6LT9RI
+// DateTime: 23.09.2018 22:34:26
+// UserName: ?????????
// Input file
// options: no-lines gplex
@@ -4324,7 +4324,7 @@ public partial class GPPGParser: ShiftReduceParserx.name).ToList();
var strnames = names.Select(id=>id.name).ToList(); // преобразование idents в строки
- var tt1 = l.name_expr[0].expr;
- var tse = convert_strong(tt1);
+ /*var tt1 = l.name_expr[0].expr;
+ var tse = convert_strong(tt1);*/
var semantic_types = l.name_expr.Select(x => convert_strong(x.expr).type).ToList();
var types = semantic_types.Select(x => SyntaxTreeBuilder.BuildSemanticType(x)).ToList();
diff --git a/bin/PascalABCNET.chm b/bin/PascalABCNET.chm
index cc197950b..2d13d9bbf 100644
Binary files a/bin/PascalABCNET.chm and b/bin/PascalABCNET.chm differ