From d5f77542ecc4291f9207288890914c8233d4314c Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Sat, 29 Aug 2020 15:45:01 +0300 Subject: [PATCH] Merge 29/08 --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 +- Localization/DefaultLang.resources | Bin 95392 -> 95585 bytes .../PascalABCParserNewSaushkin/ABCPascal.cs | 2 +- .../PascalABCParserNewSaushkin/ABCPascal.y | 2 +- .../ABCPascalYacc.cs | 2182 ++++++++--------- Parsers/PascalABCParserNewSaushkin/PABC.ymc | 1 + Release/pabcversion.txt | 2 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- TestSuite/CompilationSamples/PABCSystem.pas | 4 +- .../TreeConversion/syntax_tree_visitor.cs | 7 +- bin/Lib/PABCSystem.pas | 4 +- bin/RunUnitTests.exe | Bin 38912 -> 43008 bytes bin/RunUnitTests.pas | 5 +- 14 files changed, 1111 insertions(+), 1106 deletions(-) diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 145d81dd8..3ab17836c 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "7"; public const string Build = "0"; - public const string Revision = "2670"; + public const string Revision = "2671"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 78c64c3e2..159a11642 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=0 -%REVISION%=2670 %MINOR%=7 +%REVISION%=2671 +%COREVERSION%=0 %MAJOR%=3 diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index dac6069f553a16f1e731437f6216836760457836..ff2e09529ba95564c1a4b3d3282b343e08147427 100644 GIT binary patch delta 89 zcmZ4RlJ(&$)(H=oYD+dgy7-8Tmn$I1KfpC8Byuv#V`rX=kKVof`03F*g=(YP$$pQ; txSu{%_y`r7oby;p{ynXud(}PbhzCZo=>cyMQvmUce1OTjMHuC@g delta 20 ecmV+v0PFwZ>II // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index 184892c18..046413e29 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -897,7 +897,7 @@ const_factor ; const_set - : tkSquareOpen const_elem_list tkSquareClose + : tkSquareOpen elem_list tkSquareClose { $$ = new pascal_set_constant($2 as expression_list, @$); } diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index 92ad31f96..17e17f739 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,9 +2,9 @@ // GPPG version 1.3.6 // Machine: DESKTOP-G8V08V4 -// DateTime: 26.08.2020 0:44:47 +// DateTime: 27.08.2020 0:13:56 // UserName: ????????? -// Input file +// Input file // options: no-lines gplex @@ -59,7 +59,7 @@ public abstract class ScanBase : AbstractScanner { - // Verbatim content from ABCPascal.y + // Verbatim content from D:\PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y // ��� ���������� ����������� � ����� GPPGParser, �������������� ����� ������, ������������ �������� gppg public syntax_tree_node root; // �������� ���� ��������������� ������ @@ -71,7 +71,7 @@ public partial class GPPGParser: ShiftReduceParser scanner) : base(scanner) { } - // End verbatim content from ABCPascal.y + // End verbatim content from D:\PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y #pragma warning disable 649 private static Dictionary aliasses; @@ -167,7 +167,7 @@ public partial class GPPGParser: ShiftReduceParser new_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 154: // const_set -> tkSquareOpen, const_elem_list, tkSquareClose + case 154: // const_set -> tkSquareOpen, elem_list, tkSquareClose { CurrentSemanticValue.ex = new pascal_set_constant(ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); } diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 8cc0534dc..8c6ce1091 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -283,5 +283,6 @@ script= + diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 20bd31262..a49483d09 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.7.0.2670 +3.7.0.2671 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 0345a8406..20aad5e2b 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.7.0.2670' +!define VERSION '3.7.0.2671' diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index 66c639f61..d391fc3d6 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -2355,9 +2355,9 @@ function HSet(a: CharRange): HashSet; function SSet(params a: array of T): SortedSet; /// Возвращает множество на базе бинарного дерева поиска, заполненное значениями из последовательности function SSet(a: sequence of T): SortedSet; -/// Возвращает множество на базе на базе бинарного дерева поиска, заполненное диапазоном значений +/// Возвращает множество на базе бинарного дерева поиска, заполненное диапазоном значений function SSet(a: IntRange): SortedSet; -/// Возвращает множество на базе на базе бинарного дерева поиска, заполненное заполненный диапазоном значений +/// Возвращает множество на базе бинарного дерева поиска, заполненное диапазоном значений function SSet(a: CharRange): SortedSet; diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 2d864c11f..6cc9c9e8a 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -1352,7 +1352,10 @@ namespace PascalABCCompiler.TreeConverter convertion_data_and_alghoritms.explicit_convert_type(oti.lower_value,SystemLibrary.SystemLibrary.int64_type),convertion_data_and_alghoritms.explicit_convert_type(oti.upper_value,SystemLibrary.SystemLibrary.int64_type)),right.type); } else if (oti.lower_value is char_const_node) - right = convertion_data_and_alghoritms.create_simple_function_call(SystemLibrary.SystemLibInitializer.CheckCharRangeFunction.sym_info as common_namespace_function_node, null, right, oti.lower_value,oti.upper_value); + right = convertion_data_and_alghoritms.create_simple_function_call( + SystemLibrary.SystemLibInitializer.CheckCharRangeFunction.sym_info as common_namespace_function_node, + null, right, oti.lower_value,oti.upper_value + ); } expression_node exp_node = convertion_data_and_alghoritms.create_simple_function_call(fnsel, loc, left, right); return exp_node; @@ -14006,7 +14009,7 @@ namespace PascalABCCompiler.TreeConverter if (context.top_function.IsOperator && (context.top_function.name == compiler_string_consts.implicit_operator_name || context.top_function.name == compiler_string_consts.explicit_operator_name) && context.top_function.parameters.Count == 1 && context.top_function.return_value_type != null) { if (!(context.top_function.return_value_type is compiled_type_node) && !(context.top_function.return_value_type is compiled_generic_instance_type_node) || !(context.top_function.parameters[0].type is compiled_type_node) && !(context.top_function.parameters[0].type is compiled_generic_instance_type_node)) - AddError(get_location(_procedure_attributes_list), "IMPLICIT_EXPLICIT_OPERATOR_EXTENSION_ONLY_FOR_COMPILED_CLASSES_ALLOWED"); + ;//AddError(get_location(_procedure_attributes_list), "IMPLICIT_EXPLICIT_OPERATOR_EXTENSION_ONLY_FOR_COMPILED_CLASSES_ALLOWED"); } break; } diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas index 66c639f61..d391fc3d6 100644 --- a/bin/Lib/PABCSystem.pas +++ b/bin/Lib/PABCSystem.pas @@ -2355,9 +2355,9 @@ function HSet(a: CharRange): HashSet; function SSet(params a: array of T): SortedSet; /// Возвращает множество на базе бинарного дерева поиска, заполненное значениями из последовательности function SSet(a: sequence of T): SortedSet; -/// Возвращает множество на базе на базе бинарного дерева поиска, заполненное диапазоном значений +/// Возвращает множество на базе бинарного дерева поиска, заполненное диапазоном значений function SSet(a: IntRange): SortedSet; -/// Возвращает множество на базе на базе бинарного дерева поиска, заполненное заполненный диапазоном значений +/// Возвращает множество на базе бинарного дерева поиска, заполненное диапазоном значений function SSet(a: CharRange): SortedSet; diff --git a/bin/RunUnitTests.exe b/bin/RunUnitTests.exe index edb25f28da14502b1e72c755b23a4c44f48d8c5d..9f0d47dff043ae9f0a2761fd447ec51176a4443c 100644 GIT binary patch literal 43008 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 literal 38912 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 - (TestStatus.Failed,'Тесты провалены'), + (TestStatus.Failed,'Тесты не прошли'), (TestStatus.Inconclusive,'Тесты не завершены'), (TestStatus.Passed,'Тесты прошли'), (TestStatus.Skipped,'Тесты пропущены'), @@ -198,7 +198,8 @@ begin Println; if summary.FailedCount > 0 then begin - Print(' Проваленные тесты - Провалено:', summary.FailureCount); Print(', Ошибки:', summary.ErrorCount); + Print(' Неудачные тесты - Не прошло:', summary.FailureCount); + Print(', Ошибки:', summary.ErrorCount); Print(', Неверные:', summary.InvalidCount); Println; end;