From 4c56298bfb0de9c7863a07c1bc287ca0530c086b Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Thu, 8 May 2025 22:53:34 +0300 Subject: [PATCH] exit(param) --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 2 +- .../WhatsNew/3_10_4/exit_param1.pas | 8 ++ .../WhatsNew/3_10_4/exit_param2.pas | 11 +++ .../WhatsNew/3_10_4/exit_param3.pas | 10 +++ .../WhatsNew/3_10_4/exit_param4.pas | 15 ++++ Parsers/PascalABCParserNewSaushkin/PABC.ymc | 1 + Release/pabcversion.txt | 2 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- .../StandardSyntaxConverter.cs | 2 + .../SugarVisitors/ExitParamVisitor.cs | 79 ++++++++++++++++++ bin/Lng/Eng/SyntaxTreeVisitorsErrors.dat | 29 ++++--- bin/Lng/Rus/SyntaxTreeVisitorsErrors.dat | 5 +- bin/PascalABCNET.chw | Bin 143330 -> 143356 bytes 14 files changed, 150 insertions(+), 18 deletions(-) create mode 100644 InstallerSamples/WhatsNew/3_10_4/exit_param1.pas create mode 100644 InstallerSamples/WhatsNew/3_10_4/exit_param2.pas create mode 100644 InstallerSamples/WhatsNew/3_10_4/exit_param3.pas create mode 100644 InstallerSamples/WhatsNew/3_10_4/exit_param4.pas create mode 100644 SyntaxVisitors/SugarVisitors/ExitParamVisitor.cs diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 6556ebdba..71e39b03f 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 = "10"; public const string Build = "3"; - public const string Revision = "3617"; + public const string Revision = "3619"; 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 7ef5be40e..ebfc697ba 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %MINOR%=10 -%REVISION%=3617 +%REVISION%=3619 %COREVERSION%=3 %MAJOR%=3 diff --git a/InstallerSamples/WhatsNew/3_10_4/exit_param1.pas b/InstallerSamples/WhatsNew/3_10_4/exit_param1.pas new file mode 100644 index 000000000..b80388847 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_10_4/exit_param1.pas @@ -0,0 +1,8 @@ +function fff: integer; +begin + exit(3) +end; + +begin + Print(fff()); +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_10_4/exit_param2.pas b/InstallerSamples/WhatsNew/3_10_4/exit_param2.pas new file mode 100644 index 000000000..704fa67a1 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_10_4/exit_param2.pas @@ -0,0 +1,11 @@ +function IsPrime(n: integer): boolean; +begin + for var i:=2 to n.Sqrt.Round do + if n.Divs(i) then + exit(False); + exit(True); +end; + +begin + IsPrime(17).Print; +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_10_4/exit_param3.pas b/InstallerSamples/WhatsNew/3_10_4/exit_param3.pas new file mode 100644 index 000000000..57424d566 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_10_4/exit_param3.pas @@ -0,0 +1,10 @@ +begin + var IsPrime: integer → boolean := n → begin + for var i:=2 to n.Sqrt.Round do + if n.Divs(i) then + exit(False); + exit(True); + end; + + IsPrime(17).Print; +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_10_4/exit_param4.pas b/InstallerSamples/WhatsNew/3_10_4/exit_param4.pas new file mode 100644 index 000000000..ba17ecf39 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_10_4/exit_param4.pas @@ -0,0 +1,15 @@ +function FastPower(a: real; n: integer): real; +begin + if n = 0 then exit(1); // a^0 = 1 + if n = 1 then exit(a); // a^1 = a + if n < 0 then exit(1 / FastPower(a, -n)); // отрицательная степень + + var half := FastPower(a, n div 2); + if n mod 2 = 0 then exit(half * half); // чётная степень + exit(half * half * a); // нечётная +end; + +begin + Writeln('2^10 = ', FastPower(2, 10)); // 1024 + Writeln('3^-2 = ', FastPower(3, -2)); // 0.111... +end. \ No newline at end of file diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 9bd834b18..3158dc2fd 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -391,5 +391,6 @@ script= + diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 586e51da3..2a87c7034 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.10.3.3617 +3.10.3.3619 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 89897b84e..c63aa6c09 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.10.3.3617' +!define VERSION '3.10.3.3619' diff --git a/SyntaxTreeConverters/StandardSyntaxConverter.cs b/SyntaxTreeConverters/StandardSyntaxConverter.cs index b099e77bc..53845a0b8 100644 --- a/SyntaxTreeConverters/StandardSyntaxConverter.cs +++ b/SyntaxTreeConverters/StandardSyntaxConverter.cs @@ -17,6 +17,8 @@ namespace Languages.Pascal.Frontend.Converters { root.FillParentsInAllChilds(); + ExitParamVisitor.New.ProcessNode(root); + var binder = new BindCollectLightSymInfo(root as compilation_unit); #if DEBUG // var stat = new ABCStatisticsVisitor(); diff --git a/SyntaxVisitors/SugarVisitors/ExitParamVisitor.cs b/SyntaxVisitors/SugarVisitors/ExitParamVisitor.cs new file mode 100644 index 000000000..adb2d7051 --- /dev/null +++ b/SyntaxVisitors/SugarVisitors/ExitParamVisitor.cs @@ -0,0 +1,79 @@ +// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using PascalABCCompiler.SyntaxTree; + +namespace SyntaxVisitors.SugarVisitors +{ + public class ExitParamVisitor : BaseChangeVisitor + { + public static ExitParamVisitor New + { + get { return new ExitParamVisitor(); } + } + + public override void visit(procedure_call pc) + { + var fname = pc.func_name as method_call; + var id = fname?.dereferencing_value as ident; + if (id != null && id.name.ToLower() == "exit") + { + if (fname.parameters == null || fname.parameters.Count == 0) + { + return; + } + if (fname.parameters.Count > 1) + { + throw new SyntaxVisitorError("EXIT_PROC_CAN_HAVE_ONLY_ONE_OR_ZERO_PARAMS", pc.source_context); + } + // Поднимаемся по Parent до procedure_definition или nil + var parent = pc.Parent; + while (parent != null && !(parent is procedure_definition) + && !(parent is function_lambda_definition)) + parent = parent.Parent; + if (parent == null) + { + throw new SyntaxVisitorError("EXIT_WITH_PARAM_MUST_BE_ONLY_IN_FUNC", pc.source_context); + } + if (parent is procedure_definition pd && !(pd.proc_header is function_header)) + { + throw new SyntaxVisitorError("EXIT_WITH_PARAM_MUST_BE_ONLY_IN_FUNC", pc.source_context); + } + if (parent is function_lambda_definition fld /*&& fld.return_type == null*/) + { + fld.usedkeyword = 1; + fld.return_type = new lambda_inferred_type(); + //throw new SyntaxVisitorError("EXIT_WITH_PARAM_CANNOT_BE_IN_LAMBDA_PROCEDURE", pc.source_context); + } + + var arg = fname.parameters[0] as expression; + // Теперь сформировать 2 узла как statement_list: Result := arg; exit + + var sl = new List(); + var exitproc = new procedure_call(new ident("exit", pc.source_context)); + var ass_Res = new assign(new ident("Result", pc.source_context), arg, + Operators.Assignment, pc.source_context); + sl.Add(ass_Res); + sl.Add(exitproc); + + ReplaceStatementUsingParent(pc, sl); + + } + + //mc = new method_call( + // new dot_node(indexCreation, new ident("Reverse", ind.source_context)), + // reverseIndexMethodParams, + // ind.source_context); + + //ReplaceUsingParent(ind, mc); + //visit(mc); + } + + } + +} diff --git a/bin/Lng/Eng/SyntaxTreeVisitorsErrors.dat b/bin/Lng/Eng/SyntaxTreeVisitorsErrors.dat index f99d828a1..721b2eb1f 100644 --- a/bin/Lng/Eng/SyntaxTreeVisitorsErrors.dat +++ b/bin/Lng/Eng/SyntaxTreeVisitorsErrors.dat @@ -9,7 +9,7 @@ FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_DEFAULT_PARAMETERS=Functions with yield can FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_RESULT=Functions with yield cannot contain Result variable FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_LOCK=Functions with yield cannot contain lock statement FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_TRY_EXCEPT_FINALLY=Functions with yield cannot contain try..except or try..finally statements -FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_NESTED_SUBROUTINES=Functions with yield cannot contain nested subrotines or be nested +FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_NESTED_SUBROUTINES=Functions with yield cannot contain nested subroutines or be nested FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_LOCAL_TYPE_DEFINITIONS=Functions with yield cannot contain local type definitions FUNCTIONS_WITH_YIELDS_CANNOT_CONTAIN_INHERITED_CALLS=Functions with yield cannot contain calls of inherited methods FUNCTION_WITH_YIELD_CANNOT_CONTAIN_OLDSTYLE_ARRAY_INITIALIZERS=Functions with yield cannot contain Delphi-style array initializers @@ -23,18 +23,18 @@ ONLY_ONE_DECONSTRUCT_ALLOWED=Only one user deconstructor is allowed Var_{0}_is_already_defined=Variable {0} is already defined -?._CANNOT_BE_IN_THIS_CONTEXT=Operator ?. cannot be in this context +?._CANNOT_BE_IN_THIS_CONTEXT=?. operator cannot be used in this context INVALID_INTERFACE_MEMBER=Interfaces cannot contain fields and method implementation INDEXED_AUTO_PROPERTY=Autoproperties cannot be indexed properties -NESTED_RECORD_CANNOT_IMPLEMENT_INTERFACE=Nested records can not implement interfaces -NESTED_RECORD_CANNOT_CONTAIN_METHODS=Nested records can not contain methods -NESTED_RECORD_CANNOT_CONTAIN_PROPERTIES=Nested records can not contain properties -NESTED_RECORD_CANNOT_CONTAIN_CONSTRUCTORS=Nested records can not contain constructors +NESTED_RECORD_CANNOT_IMPLEMENT_INTERFACE=Nested records cannot implement interfaces +NESTED_RECORD_CANNOT_CONTAIN_METHODS=Nested records cannot contain methods +NESTED_RECORD_CANNOT_CONTAIN_PROPERTIES=Nested records cannot contain properties +NESTED_RECORD_CANNOT_CONTAIN_CONSTRUCTORS=Nested records cannot contain constructors NESTED_RECORD_CAN_CONTAIN_ONLY_ONE_PUBLIC_VISIBILITY_SECTION=Nested records can contain only one section with public visibility -NESTED_RECORD_CANNOT_CONTAIN_SEVERAL_VISIBILITY_SECTIONS=Nested records can not contain several visibility section -UNNAMED_RECORD_CANNOT_CATCH_NAMES_FROM_NONGLOBAL_CONTEXT=Nested records cannot catch names from nonglobal context +NESTED_RECORD_CANNOT_CONTAIN_SEVERAL_VISIBILITY_SECTIONS=Nested records cannot contain multiple visibility sections +UNNAMED_RECORD_CANNOT_CATCH_NAMES_FROM_NONGLOBAL_CONTEXT=Nested records cannot catch names from non-global context TOO_MANY_ELEMENTS_ON_LEFT_SIDE_OF_TUPLE_ASSIGNMENT=Too many elements on the left side of tuple assignment NESTED_LAMBDAS_MAXIMUM_10=Maximum number of nested lambdas = 10 EMBEDDED_STATEMENT_CANNOT_BE_A_DECLARATION=Embedded statement cannot be a declaration or labeled statement @@ -42,11 +42,14 @@ EMBEDDED_STATEMENT_CANNOT_BE_A_DECLARATION=Embedded statement cannot be a declar ONLY_FUNCTION_SHOULD_HAVE_CACHE_ATTRIBUTE=Only functions must have [Cache] attribute EXTENSION_FUNCTIONS_SHOULD_NOT_HAVE_CACHE_ATTRIBUTE=Extension methods shouldn't have [Cache] attribute FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_HAVE_PARAMETERS=Functions with [Cache] attribute must have at least 1 parameter -FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_HAVE_LESSTHEN8_PARAMETERS=Functions with [Cache] attribute must have less then 8 parameters -FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_HAVE_EXPLICIT_RETURN_TYPE=Functions with [Cache] attribute must have explicitely specified return type -FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_NOT_HAVE_COMPOUND_NAME=Functions with [Cache] should not have compound name -FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_NOT_HAVE_VAR_CONST_PARAMS_MODIFIERS=Functions with [Cache] should not have var, const or params modifier +FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_HAVE_LESSTHEN8_PARAMETERS=Functions with [Cache] attribute must have fewer than 8 parameters +FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_HAVE_EXPLICIT_RETURN_TYPE=Functions with [Cache] attribute must have explicitly specified return type +FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_NOT_HAVE_COMPOUND_NAME=Functions with [Cache] attribute should not have compound names +FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_NOT_HAVE_VAR_CONST_PARAMS_MODIFIERS=Functions with [Cache] attribute should not have var, const or params modifiers FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_BE_DEFINED_GLOBALLY=Functions with [Cache] attribute must be defined globally FUNCTIONS_WITH_CACHE_ATTRIBUTE_CANNOT_HAVE_YIELD=Functions with [Cache] attribute must not contain yield statements FOR_LOOP_WITH_STEP_CANNOT_USE_DOWNTO=For loop with step cannot use downto -STEP_CANNOT_BE_0=Step cannot be 0 \ No newline at end of file +STEP_CANNOT_BE_0=Step cannot be 0 +EXIT_PROC_CAN_HAVE_ONLY_ONE_OR_ZERO_PARAMS = exit(param) cannot have two or more arguments +EXIT_WITH_PARAM_MUST_BE_ONLY_IN_FUNC=exit(param) is invalid in procedures +EXIT_WITH_PARAM_CANNOT_BE_IN_LAMBDA_PROCEDURE=exit(param)' is invalid in lambda procedures \ No newline at end of file diff --git a/bin/Lng/Rus/SyntaxTreeVisitorsErrors.dat b/bin/Lng/Rus/SyntaxTreeVisitorsErrors.dat index f52bfdce0..fcdad1bd4 100644 --- a/bin/Lng/Rus/SyntaxTreeVisitorsErrors.dat +++ b/bin/Lng/Rus/SyntaxTreeVisitorsErrors.dat @@ -53,4 +53,7 @@ FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_NOT_HAVE_VAR_CONST_PARAMS_MODIFIERS=Фун FUNCTIONS_WITH_CACHE_ATTRIBUTE_SHOULD_BE_DEFINED_GLOBALLY=Функции с атрибутом [Cache] должны быть определены глобально FUNCTIONS_WITH_CACHE_ATTRIBUTE_CANNOT_HAVE_YIELD=Функции с атрибутом [Cache] не должны содержать оператор yield FOR_LOOP_WITH_STEP_CANNOT_USE_DOWNTO=В цикле for с шагом нельзя использовать направление downto -STEP_CANNOT_BE_0=Шаг в цикле for не может быть равным 0 \ No newline at end of file +STEP_CANNOT_BE_0=Шаг в цикле for не может быть равным 0 +EXIT_PROC_CAN_HAVE_ONLY_ONE_OR_ZERO_PARAMS=exit не может иметь 2 и более параметров +EXIT_WITH_PARAM_MUST_BE_ONLY_IN_FUNC=exit с параметром может вызываться только в функции +EXIT_WITH_PARAM_CANNOT_BE_IN_LAMBDA_PROCEDURE=exit с параметром не может вызываться в лямбда-процедуре \ No newline at end of file diff --git a/bin/PascalABCNET.chw b/bin/PascalABCNET.chw index e6bc8c8d55171f0c91c6ca85a1491c24e8cfb81f..e2bf489e310f48d85dcc57cf8983eb11469cf301 100644 GIT binary patch literal 143356 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 literal 143330 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