From a8ee8008409a71e571c3fa1c79c3b70e3f572fdb Mon Sep 17 00:00:00 2001 From: miks1965 Date: Wed, 8 Mar 2017 00:30:47 +0300 Subject: [PATCH] work --- Configuration/GlobalAssemblyInfo.cs | 4 +- Configuration/Version.defs | 2 +- .../PascalABCParserNewSaushkin/ABCPascal.cs | 2 +- .../PascalABCParserNewSaushkin/ABCPascal.y | 8 + .../ABCPascalYacc.cs | 2898 +++++++++-------- Parsers/PascalABCParserNewSaushkin/PABC.ymc | 1 + ReleaseGenerators/PascalABCNET_version.nsh | 2 +- TestSuite/CompilationSamples/ABCObjects.pas | 2 + TestSuite/CompilationSamples/PABCSystem.pas | 46 +- TestSuite/CompilationSamples/PT4.pas | 409 +-- TestSuite/CompilationSamples/PT4Exam.pas | 136 +- .../CompilationSamples/ShortFunLambdaProc.pas | 8 + bin/Lib/ABCObjects.pas | 2 + bin/Lib/PABCRtl.dll | Bin 552448 -> 554496 bytes bin/Lib/PABCSystem.pas | 46 +- bin/Lib/PT4.pas | 409 +-- bin/Lib/PT4Exam.pas | 136 +- 17 files changed, 2183 insertions(+), 1928 deletions(-) create mode 100644 TestSuite/CompilationSamples/ShortFunLambdaProc.pas diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 01a6b0d43..436e150d8 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -5,7 +5,7 @@ using System.Runtime.CompilerServices; [assembly: AssemblyDelaySign(false)] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("PascalABC.NET Compiler")] -[assembly: AssemblyCopyright("Copyright © 2005-2017 by Ivan Bondarev, Stanislav Mihalkovich")] +[assembly: AssemblyCopyright("Copyright © 2005-2016 by Ivan Bondarev, Stanislav Mihalkovich")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: AssemblyVersion(RevisionClass.FullVersion)] @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "2"; public const string Build = "0"; - public const string Revision = "1386"; + public const string Revision = "1398"; 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 b61063e31..0ba18fedf 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %MINOR%=2 -%REVISION%=1386 +%REVISION%=1398 %COREVERSION%=0 %MAJOR%=3 diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 37603de07..5bf76b021 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -2,7 +2,7 @@ // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 // Machine: DESKTOP-8EAQPI9 -// DateTime: 11.02.2017 17:44:25 +// DateTime: 26.02.2017 19:20:17 // UserName: ????????? // GPLEX input file // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index fc42c4845..d682e2294 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -1938,6 +1938,14 @@ proc_func_decl_noclass { $$ = SyntaxTreeBuilder.BuildShortFuncDefinition($3 as formal_parameters, $4 as procedure_attributes_list, $2 as method_name, null, $6, @1.Merge(@3)); } + | tkFunction func_name fp_list tkColon fptype optional_method_modificators1 tkAssign func_decl_lambda tkSemiColon + { + $$ = SyntaxTreeBuilder.BuildShortFuncDefinition($3 as formal_parameters, $6 as procedure_attributes_list, $2 as method_name, $5 as type_definition, $8, @1.Merge(@5)); + } + | tkFunction func_name fp_list optional_method_modificators1 tkAssign func_decl_lambda tkSemiColon + { + $$ = SyntaxTreeBuilder.BuildShortFuncDefinition($3 as formal_parameters, $4 as procedure_attributes_list, $2 as method_name, null, $6, @1.Merge(@3)); + } | tkProcedure proc_name fp_list optional_method_modificators1 tkAssign unlabelled_stmt tkSemiColon { if ($6 is empty_statement) diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index f729e4f89..a6a52e703 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,7 +2,7 @@ // GPPG version 1.3.6 // Machine: DESKTOP-8EAQPI9 -// DateTime: 11.02.2017 17:44:25 +// DateTime: 26.02.2017 19:20:17 // UserName: ????????? // Input file @@ -73,8 +73,8 @@ public partial class GPPGParser: ShiftReduceParser aliasses; #pragma warning restore 649 - private static Rule[] rules = new Rule[815]; - private static State[] states = new State[1306]; + private static Rule[] rules = new Rule[817]; + private static State[] states = new State[1310]; private static string[] nonTerms = new string[] { "parse_goal", "unit_key_word", "assignment", "optional_array_initializer", "attribute_declarations", "ot_visibility_specifier", "one_attribute", "attribute_variable", @@ -152,11 +152,11 @@ public partial class GPPGParser: ShiftReduceParser tkProcedure, proc_name, fp_list, + case 390: // proc_func_decl_noclass -> tkFunction, func_name, fp_list, tkColon, fptype, + // optional_method_modificators1, tkAssign, + // func_decl_lambda, tkSemiColon +{ + CurrentSemanticValue.stn = SyntaxTreeBuilder.BuildShortFuncDefinition(ValueStack[ValueStack.Depth-7].stn as formal_parameters, ValueStack[ValueStack.Depth-4].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-8].stn as method_name, ValueStack[ValueStack.Depth-5].td as type_definition, ValueStack[ValueStack.Depth-2].ex, LocationStack[LocationStack.Depth-9].Merge(LocationStack[LocationStack.Depth-5])); + } + break; + case 391: // proc_func_decl_noclass -> tkFunction, func_name, fp_list, + // optional_method_modificators1, tkAssign, + // func_decl_lambda, tkSemiColon +{ + CurrentSemanticValue.stn = SyntaxTreeBuilder.BuildShortFuncDefinition(ValueStack[ValueStack.Depth-5].stn as formal_parameters, ValueStack[ValueStack.Depth-4].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-6].stn as method_name, null, ValueStack[ValueStack.Depth-2].ex, LocationStack[LocationStack.Depth-7].Merge(LocationStack[LocationStack.Depth-5])); + } + break; + case 392: // proc_func_decl_noclass -> tkProcedure, proc_name, fp_list, // optional_method_modificators1, tkAssign, // unlabelled_stmt, tkSemiColon { @@ -3951,28 +3971,28 @@ public partial class GPPGParser: ShiftReduceParser proc_func_header, tkForward, tkSemiColon + case 393: // proc_func_decl_noclass -> proc_func_header, tkForward, tkSemiColon { CurrentSemanticValue.stn = new procedure_definition(ValueStack[ValueStack.Depth-3].td as procedure_header, null, CurrentLocationSpan); (CurrentSemanticValue.stn as procedure_definition).proc_header.proc_attributes.Add((procedure_attribute)ValueStack[ValueStack.Depth-2].id, ValueStack[ValueStack.Depth-2].id.source_context); } break; - case 392: // inclass_proc_func_decl -> inclass_proc_func_decl_noclass + case 394: // inclass_proc_func_decl -> inclass_proc_func_decl_noclass { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 393: // inclass_proc_func_decl -> tkClass, inclass_proc_func_decl_noclass + case 395: // inclass_proc_func_decl -> tkClass, inclass_proc_func_decl_noclass { if ((ValueStack[ValueStack.Depth-1].stn as procedure_definition).proc_header != null) (ValueStack[ValueStack.Depth-1].stn as procedure_definition).proc_header.class_keyword = true; CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 394: // inclass_proc_func_decl_noclass -> proc_func_header, inclass_block + case 396: // inclass_proc_func_decl_noclass -> proc_func_header, inclass_block { CurrentSemanticValue.stn = new procedure_definition(ValueStack[ValueStack.Depth-2].td as procedure_header, ValueStack[ValueStack.Depth-1].stn as proc_block, CurrentLocationSpan); } break; - case 395: // inclass_proc_func_decl_noclass -> tkFunction, func_name, fp_list, tkColon, + case 397: // inclass_proc_func_decl_noclass -> tkFunction, func_name, fp_list, tkColon, // fptype, optional_method_modificators1, // tkAssign, expr_l1, tkSemiColon { @@ -3981,7 +4001,7 @@ public partial class GPPGParser: ShiftReduceParser tkFunction, func_name, fp_list, + case 398: // inclass_proc_func_decl_noclass -> tkFunction, func_name, fp_list, // optional_method_modificators1, tkAssign, // expr_l1, tkSemiColon { @@ -3990,7 +4010,7 @@ public partial class GPPGParser: ShiftReduceParser tkProcedure, proc_name, fp_list, + case 399: // inclass_proc_func_decl_noclass -> tkProcedure, proc_name, fp_list, // optional_method_modificators1, tkAssign, // unlabelled_stmt, tkSemiColon { @@ -3999,21 +4019,21 @@ public partial class GPPGParser: ShiftReduceParser block + case 400: // proc_func_external_block -> block { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 399: // proc_func_external_block -> external_block + case 401: // proc_func_external_block -> external_block { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 400: // proc_name -> func_name + case 402: // proc_name -> func_name { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 401: // func_name -> func_meth_name_ident + case 403: // func_name -> func_meth_name_ident { CurrentSemanticValue.stn = new method_name(null,null, ValueStack[ValueStack.Depth-1].id, null, CurrentLocationSpan); } break; - case 402: // func_name -> func_class_name_ident_list, tkPoint, func_meth_name_ident + case 404: // func_name -> func_class_name_ident_list, tkPoint, func_meth_name_ident { var ln = ValueStack[ValueStack.Depth-3].ob as List; var cnt = (ValueStack[ValueStack.Depth-3].ob as List).Count; @@ -4023,282 +4043,282 @@ public partial class GPPGParser: ShiftReduceParser func_name_with_template_args + case 405: // func_class_name_ident -> func_name_with_template_args { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 404: // func_class_name_ident_list -> func_class_name_ident + case 406: // func_class_name_ident_list -> func_class_name_ident { CurrentSemanticValue.ob = new List(); (CurrentSemanticValue.ob as List).Add(ValueStack[ValueStack.Depth-1].id); } break; - case 405: // func_class_name_ident_list -> func_class_name_ident_list, tkPoint, + case 407: // func_class_name_ident_list -> func_class_name_ident_list, tkPoint, // func_class_name_ident { (ValueStack[ValueStack.Depth-3].ob as List).Add(ValueStack[ValueStack.Depth-1].id); CurrentSemanticValue.ob = ValueStack[ValueStack.Depth-3].ob; } break; - case 406: // func_meth_name_ident -> func_name_with_template_args + case 408: // func_meth_name_ident -> func_name_with_template_args { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 407: // func_meth_name_ident -> operator_name_ident + case 409: // func_meth_name_ident -> operator_name_ident { CurrentSemanticValue.id = (ident)ValueStack[ValueStack.Depth-1].ex; } break; - case 408: // func_meth_name_ident -> operator_name_ident, template_arguments + case 410: // func_meth_name_ident -> operator_name_ident, template_arguments { CurrentSemanticValue.id = new template_operator_name(null, ValueStack[ValueStack.Depth-1].stn as ident_list, ValueStack[ValueStack.Depth-2].ex as operator_name_ident, CurrentLocationSpan); } break; - case 409: // func_name_with_template_args -> func_name_ident + case 411: // func_name_with_template_args -> func_name_ident { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 410: // func_name_with_template_args -> func_name_ident, template_arguments + case 412: // func_name_with_template_args -> func_name_ident, template_arguments { CurrentSemanticValue.id = new template_type_name(ValueStack[ValueStack.Depth-2].id.name, ValueStack[ValueStack.Depth-1].stn as ident_list, CurrentLocationSpan); } break; - case 411: // func_name_ident -> identifier + case 413: // func_name_ident -> identifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 412: // proc_header -> tkProcedure, proc_name, fp_list, optional_method_modificators, + case 414: // proc_header -> tkProcedure, proc_name, fp_list, optional_method_modificators, // optional_where_section { CurrentSemanticValue.td = new procedure_header(ValueStack[ValueStack.Depth-3].stn as formal_parameters, ValueStack[ValueStack.Depth-2].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-4].stn as method_name, ValueStack[ValueStack.Depth-1].stn as where_definition_list, CurrentLocationSpan); } break; - case 413: // func_header -> tkFunction, func_name, fp_list, optional_method_modificators, + case 415: // func_header -> tkFunction, func_name, fp_list, optional_method_modificators, // optional_where_section { CurrentSemanticValue.td = new function_header(ValueStack[ValueStack.Depth-3].stn as formal_parameters, ValueStack[ValueStack.Depth-2].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-4].stn as method_name, ValueStack[ValueStack.Depth-1].stn as where_definition_list, null, CurrentLocationSpan); } break; - case 414: // func_header -> tkFunction, func_name, fp_list, tkColon, fptype, + case 416: // func_header -> tkFunction, func_name, fp_list, tkColon, fptype, // optional_method_modificators, optional_where_section { CurrentSemanticValue.td = new function_header(ValueStack[ValueStack.Depth-5].stn as formal_parameters, ValueStack[ValueStack.Depth-2].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-6].stn as method_name, ValueStack[ValueStack.Depth-1].stn as where_definition_list, ValueStack[ValueStack.Depth-3].td as type_definition, CurrentLocationSpan); } break; - case 415: // external_block -> tkExternal, external_directive_ident, tkName, + case 417: // external_block -> tkExternal, external_directive_ident, tkName, // external_directive_ident, tkSemiColon { CurrentSemanticValue.stn = new external_directive(ValueStack[ValueStack.Depth-4].ex, ValueStack[ValueStack.Depth-2].ex, CurrentLocationSpan); } break; - case 416: // external_block -> tkExternal, external_directive_ident, tkSemiColon + case 418: // external_block -> tkExternal, external_directive_ident, tkSemiColon { CurrentSemanticValue.stn = new external_directive(ValueStack[ValueStack.Depth-2].ex, null, CurrentLocationSpan); } break; - case 417: // external_block -> tkExternal, tkSemiColon + case 419: // external_block -> tkExternal, tkSemiColon { CurrentSemanticValue.stn = new external_directive(null, null, CurrentLocationSpan); } break; - case 418: // external_directive_ident -> identifier + case 420: // external_directive_ident -> identifier { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].id; } break; - case 419: // external_directive_ident -> literal + case 421: // external_directive_ident -> literal { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 420: // block -> decl_sect_list, compound_stmt, tkSemiColon + case 422: // block -> decl_sect_list, compound_stmt, tkSemiColon { CurrentSemanticValue.stn = new block(ValueStack[ValueStack.Depth-3].stn as declarations, ValueStack[ValueStack.Depth-2].stn as statement_list, CurrentLocationSpan); } break; - case 421: // inclass_block -> inclass_decl_sect_list, compound_stmt, tkSemiColon + case 423: // inclass_block -> inclass_decl_sect_list, compound_stmt, tkSemiColon { CurrentSemanticValue.stn = new block(ValueStack[ValueStack.Depth-3].stn as declarations, ValueStack[ValueStack.Depth-2].stn as statement_list, CurrentLocationSpan); } break; - case 422: // fp_list -> /* empty */ + case 424: // fp_list -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 423: // fp_list -> tkRoundOpen, tkRoundClose + case 425: // fp_list -> tkRoundOpen, tkRoundClose { CurrentSemanticValue.stn = null; } break; - case 424: // fp_list -> tkRoundOpen, fp_sect_list, tkRoundClose + case 426: // fp_list -> tkRoundOpen, fp_sect_list, tkRoundClose { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-2].stn; if (CurrentSemanticValue.stn != null) CurrentSemanticValue.stn.source_context = CurrentLocationSpan; } break; - case 425: // fp_sect_list -> fp_sect + case 427: // fp_sect_list -> fp_sect { CurrentSemanticValue.stn = new formal_parameters(ValueStack[ValueStack.Depth-1].stn as typed_parameters, CurrentLocationSpan); } break; - case 426: // fp_sect_list -> fp_sect_list, tkSemiColon, fp_sect + case 428: // fp_sect_list -> fp_sect_list, tkSemiColon, fp_sect { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as formal_parameters).Add(ValueStack[ValueStack.Depth-1].stn as typed_parameters, CurrentLocationSpan); } break; - case 427: // fp_sect -> attribute_declarations, simple_fp_sect + case 429: // fp_sect -> attribute_declarations, simple_fp_sect { (ValueStack[ValueStack.Depth-1].stn as declaration).attributes = ValueStack[ValueStack.Depth-2].stn as attribute_list; CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 428: // simple_fp_sect -> param_name_list, tkColon, fptype + case 430: // simple_fp_sect -> param_name_list, tkColon, fptype { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-3].stn as ident_list, ValueStack[ValueStack.Depth-1].td, parametr_kind.none, null, CurrentLocationSpan); } break; - case 429: // simple_fp_sect -> tkVar, param_name_list, tkColon, fptype + case 431: // simple_fp_sect -> tkVar, param_name_list, tkColon, fptype { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-3].stn as ident_list, ValueStack[ValueStack.Depth-1].td, parametr_kind.var_parametr, null, CurrentLocationSpan); } break; - case 430: // simple_fp_sect -> tkConst, param_name_list, tkColon, fptype + case 432: // simple_fp_sect -> tkConst, param_name_list, tkColon, fptype { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-3].stn as ident_list, ValueStack[ValueStack.Depth-1].td, parametr_kind.const_parametr, null, CurrentLocationSpan); } break; - case 431: // simple_fp_sect -> tkParams, param_name_list, tkColon, fptype + case 433: // simple_fp_sect -> tkParams, param_name_list, tkColon, fptype { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-3].stn as ident_list, ValueStack[ValueStack.Depth-1].td,parametr_kind.params_parametr,null, CurrentLocationSpan); } break; - case 432: // simple_fp_sect -> param_name_list, tkColon, fptype, tkAssign, const_expr + case 434: // simple_fp_sect -> param_name_list, tkColon, fptype, tkAssign, const_expr { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-5].stn as ident_list, ValueStack[ValueStack.Depth-3].td, parametr_kind.none, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 433: // simple_fp_sect -> tkVar, param_name_list, tkColon, fptype, tkAssign, const_expr + case 435: // simple_fp_sect -> tkVar, param_name_list, tkColon, fptype, tkAssign, const_expr { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-5].stn as ident_list, ValueStack[ValueStack.Depth-3].td, parametr_kind.var_parametr, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 434: // simple_fp_sect -> tkConst, param_name_list, tkColon, fptype, tkAssign, + case 436: // simple_fp_sect -> tkConst, param_name_list, tkColon, fptype, tkAssign, // const_expr { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-5].stn as ident_list, ValueStack[ValueStack.Depth-3].td, parametr_kind.const_parametr, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 435: // param_name_list -> param_name + case 437: // param_name_list -> param_name { CurrentSemanticValue.stn = new ident_list(ValueStack[ValueStack.Depth-1].id, CurrentLocationSpan); } break; - case 436: // param_name_list -> param_name_list, tkComma, param_name + case 438: // param_name_list -> param_name_list, tkComma, param_name { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as ident_list).Add(ValueStack[ValueStack.Depth-1].id, CurrentLocationSpan); } break; - case 437: // param_name -> identifier + case 439: // param_name -> identifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 438: // fptype -> type_ref + case 440: // fptype -> type_ref { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 439: // fptype_noproctype -> simple_type + case 441: // fptype_noproctype -> simple_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 440: // fptype_noproctype -> string_type + case 442: // fptype_noproctype -> string_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 441: // fptype_noproctype -> pointer_type + case 443: // fptype_noproctype -> pointer_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 442: // fptype_noproctype -> structured_type + case 444: // fptype_noproctype -> structured_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 443: // fptype_noproctype -> template_type + case 445: // fptype_noproctype -> template_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 444: // stmt -> unlabelled_stmt + case 446: // stmt -> unlabelled_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 445: // stmt -> label_name, tkColon, stmt + case 447: // stmt -> label_name, tkColon, stmt { CurrentSemanticValue.stn = new labeled_statement(ValueStack[ValueStack.Depth-3].id, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 446: // unlabelled_stmt -> /* empty */ + case 448: // unlabelled_stmt -> /* empty */ { CurrentSemanticValue.stn = new empty_statement(); CurrentSemanticValue.stn.source_context = null; } break; - case 447: // unlabelled_stmt -> assignment + case 449: // unlabelled_stmt -> assignment { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 448: // unlabelled_stmt -> proc_call + case 450: // unlabelled_stmt -> proc_call { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 449: // unlabelled_stmt -> goto_stmt + case 451: // unlabelled_stmt -> goto_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 450: // unlabelled_stmt -> compound_stmt + case 452: // unlabelled_stmt -> compound_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 451: // unlabelled_stmt -> if_stmt + case 453: // unlabelled_stmt -> if_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 452: // unlabelled_stmt -> case_stmt + case 454: // unlabelled_stmt -> case_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 453: // unlabelled_stmt -> repeat_stmt + case 455: // unlabelled_stmt -> repeat_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 454: // unlabelled_stmt -> while_stmt + case 456: // unlabelled_stmt -> while_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 455: // unlabelled_stmt -> for_stmt + case 457: // unlabelled_stmt -> for_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 456: // unlabelled_stmt -> with_stmt + case 458: // unlabelled_stmt -> with_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 457: // unlabelled_stmt -> inherited_message + case 459: // unlabelled_stmt -> inherited_message { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 458: // unlabelled_stmt -> try_stmt + case 460: // unlabelled_stmt -> try_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 459: // unlabelled_stmt -> raise_stmt + case 461: // unlabelled_stmt -> raise_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 460: // unlabelled_stmt -> foreach_stmt + case 462: // unlabelled_stmt -> foreach_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 461: // unlabelled_stmt -> var_stmt + case 463: // unlabelled_stmt -> var_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 462: // unlabelled_stmt -> expr_as_stmt + case 464: // unlabelled_stmt -> expr_as_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 463: // unlabelled_stmt -> lock_stmt + case 465: // unlabelled_stmt -> lock_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 464: // unlabelled_stmt -> yield_stmt + case 466: // unlabelled_stmt -> yield_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 465: // unlabelled_stmt -> yield_sequence_stmt + case 467: // unlabelled_stmt -> yield_sequence_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 466: // yield_stmt -> tkYield, expr_l1 + case 468: // yield_stmt -> tkYield, expr_l1 { CurrentSemanticValue.stn = new yield_node(ValueStack[ValueStack.Depth-1].ex,CurrentLocationSpan); } break; - case 467: // yield_sequence_stmt -> tkYield, tkSequence, expr_l1 + case 469: // yield_sequence_stmt -> tkYield, tkSequence, expr_l1 { CurrentSemanticValue.stn = new yield_sequence_node(ValueStack[ValueStack.Depth-1].ex,CurrentLocationSpan); } break; - case 468: // var_stmt -> tkVar, var_decl_part + case 470: // var_stmt -> tkVar, var_decl_part { CurrentSemanticValue.stn = new var_statement(ValueStack[ValueStack.Depth-1].stn as var_def_statement, CurrentLocationSpan); } break; - case 469: // assignment -> var_reference, assign_operator, expr_with_func_decl_lambda + case 471: // assignment -> var_reference, assign_operator, expr_with_func_decl_lambda { CurrentSemanticValue.stn = new assign(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].ex, ValueStack[ValueStack.Depth-2].op.type, CurrentLocationSpan); } break; - case 470: // assignment -> tkRoundOpen, variable, tkComma, variable_list, tkRoundClose, + case 472: // assignment -> tkRoundOpen, variable, tkComma, variable_list, tkRoundClose, // assign_operator, expr { if (ValueStack[ValueStack.Depth-2].op.type != Operators.Assignment) @@ -4308,7 +4328,7 @@ public partial class GPPGParser: ShiftReduceParser tkRoundOpen, tkVar, variable, tkComma, var_variable_list, + case 473: // assignment -> tkRoundOpen, tkVar, variable, tkComma, var_variable_list, // tkRoundClose, assign_operator, expr { if (ValueStack[ValueStack.Depth-2].op.type != Operators.Assignment) @@ -4318,41 +4338,41 @@ public partial class GPPGParser: ShiftReduceParser variable + case 474: // variable_list -> variable { CurrentSemanticValue.ob = new addressed_value_list(ValueStack[ValueStack.Depth-1].ex as addressed_value,LocationStack[LocationStack.Depth-1]); } break; - case 473: // variable_list -> variable_list, tkComma, variable + case 475: // variable_list -> variable_list, tkComma, variable { (ValueStack[ValueStack.Depth-3].ob as addressed_value_list).Add(ValueStack[ValueStack.Depth-1].ex as addressed_value); (ValueStack[ValueStack.Depth-3].ob as addressed_value_list).source_context = LexLocation.MergeAll(LocationStack[LocationStack.Depth-3],LocationStack[LocationStack.Depth-2],LocationStack[LocationStack.Depth-1]); CurrentSemanticValue.ob = ValueStack[ValueStack.Depth-3].ob; } break; - case 474: // var_variable_list -> tkVar, variable + case 476: // var_variable_list -> tkVar, variable { CurrentSemanticValue.ob = new addressed_value_list(ValueStack[ValueStack.Depth-1].ex as addressed_value,CurrentLocationSpan); } break; - case 475: // var_variable_list -> var_variable_list, tkComma, tkVar, variable + case 477: // var_variable_list -> var_variable_list, tkComma, tkVar, variable { (ValueStack[ValueStack.Depth-4].ob as addressed_value_list).Add(ValueStack[ValueStack.Depth-1].ex as addressed_value); (ValueStack[ValueStack.Depth-4].ob as addressed_value_list).source_context = LexLocation.MergeAll(LocationStack[LocationStack.Depth-4],LocationStack[LocationStack.Depth-3],LocationStack[LocationStack.Depth-2],LocationStack[LocationStack.Depth-1]); CurrentSemanticValue.ob = ValueStack[ValueStack.Depth-4].ob; } break; - case 476: // proc_call -> var_reference + case 478: // proc_call -> var_reference { CurrentSemanticValue.stn = new procedure_call(ValueStack[ValueStack.Depth-1].ex as addressed_value, CurrentLocationSpan); } break; - case 477: // goto_stmt -> tkGoto, label_name + case 479: // goto_stmt -> tkGoto, label_name { CurrentSemanticValue.stn = new goto_statement(ValueStack[ValueStack.Depth-1].id, CurrentLocationSpan); } break; - case 478: // compound_stmt -> tkBegin, stmt_list, tkEnd + case 480: // compound_stmt -> tkBegin, stmt_list, tkEnd { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-2].stn; (CurrentSemanticValue.stn as statement_list).left_logical_bracket = ValueStack[ValueStack.Depth-3].ti; @@ -4360,73 +4380,73 @@ public partial class GPPGParser: ShiftReduceParser stmt + case 481: // stmt_list -> stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, LocationStack[LocationStack.Depth-1]); } break; - case 480: // stmt_list -> stmt_list, tkSemiColon, stmt + case 482: // stmt_list -> stmt_list, tkSemiColon, stmt { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as statement_list).Add(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 481: // if_stmt -> tkIf, expr_l1, tkThen, unlabelled_stmt + case 483: // if_stmt -> tkIf, expr_l1, tkThen, unlabelled_stmt { CurrentSemanticValue.stn = new if_node(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].stn as statement, null, CurrentLocationSpan); } break; - case 482: // if_stmt -> tkIf, expr_l1, tkThen, unlabelled_stmt, tkElse, unlabelled_stmt + case 484: // if_stmt -> tkIf, expr_l1, tkThen, unlabelled_stmt, tkElse, unlabelled_stmt { CurrentSemanticValue.stn = new if_node(ValueStack[ValueStack.Depth-5].ex, ValueStack[ValueStack.Depth-3].stn as statement, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 483: // case_stmt -> tkCase, expr_l1, tkOf, case_list, else_case, tkEnd + case 485: // case_stmt -> tkCase, expr_l1, tkOf, case_list, else_case, tkEnd { CurrentSemanticValue.stn = new case_node(ValueStack[ValueStack.Depth-5].ex, ValueStack[ValueStack.Depth-3].stn as case_variants, ValueStack[ValueStack.Depth-2].stn as statement, CurrentLocationSpan); } break; - case 484: // case_list -> case_item + case 486: // case_list -> case_item { if (ValueStack[ValueStack.Depth-1].stn is empty_statement) CurrentSemanticValue.stn = NewCaseItem(ValueStack[ValueStack.Depth-1].stn, null); else CurrentSemanticValue.stn = NewCaseItem(ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 485: // case_list -> case_list, tkSemiColon, case_item + case 487: // case_list -> case_list, tkSemiColon, case_item { CurrentSemanticValue.stn = AddCaseItem(ValueStack[ValueStack.Depth-3].stn as case_variants, ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 486: // case_item -> /* empty */ + case 488: // case_item -> /* empty */ { CurrentSemanticValue.stn = new empty_statement(); } break; - case 487: // case_item -> case_label_list, tkColon, unlabelled_stmt + case 489: // case_item -> case_label_list, tkColon, unlabelled_stmt { CurrentSemanticValue.stn = new case_variant(ValueStack[ValueStack.Depth-3].stn as expression_list, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 488: // case_label_list -> case_label + case 490: // case_label_list -> case_label { CurrentSemanticValue.stn = new expression_list(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 489: // case_label_list -> case_label_list, tkComma, case_label + case 491: // case_label_list -> case_label_list, tkComma, case_label { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as expression_list).Add(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 490: // case_label -> const_elem + case 492: // case_label -> const_elem { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 491: // else_case -> /* empty */ + case 493: // else_case -> /* empty */ { CurrentSemanticValue.stn = null;} break; - case 492: // else_case -> tkElse, stmt_list + case 494: // else_case -> tkElse, stmt_list { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 493: // repeat_stmt -> tkRepeat, stmt_list, tkUntil, expr + case 495: // repeat_stmt -> tkRepeat, stmt_list, tkUntil, expr { CurrentSemanticValue.stn = new repeat_node(ValueStack[ValueStack.Depth-3].stn as statement_list, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); (ValueStack[ValueStack.Depth-3].stn as statement_list).left_logical_bracket = ValueStack[ValueStack.Depth-4].ti; @@ -4434,23 +4454,23 @@ public partial class GPPGParser: ShiftReduceParser tkWhile, expr_l1, optional_tk_do, unlabelled_stmt + case 496: // while_stmt -> tkWhile, expr_l1, optional_tk_do, unlabelled_stmt { CurrentSemanticValue.stn = NewWhileStmt(ValueStack[ValueStack.Depth-4].ti, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-2].ti, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 495: // optional_tk_do -> tkDo + case 497: // optional_tk_do -> tkDo { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 496: // optional_tk_do -> /* empty */ + case 498: // optional_tk_do -> /* empty */ { CurrentSemanticValue.ti = null; } break; - case 497: // lock_stmt -> tkLock, expr_l1, tkDo, unlabelled_stmt + case 499: // lock_stmt -> tkLock, expr_l1, tkDo, unlabelled_stmt { CurrentSemanticValue.stn = new lock_stmt(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 498: // foreach_stmt -> tkForeach, identifier, foreach_stmt_ident_dype_opt, tkIn, + case 500: // foreach_stmt -> tkForeach, identifier, foreach_stmt_ident_dype_opt, tkIn, // expr_l1, tkDo, unlabelled_stmt { CurrentSemanticValue.stn = new foreach_stmt(ValueStack[ValueStack.Depth-6].id, ValueStack[ValueStack.Depth-5].td, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); @@ -4458,68 +4478,68 @@ public partial class GPPGParser: ShiftReduceParser tkForeach, tkVar, identifier, tkColon, type_ref, tkIn, expr_l1, + case 501: // foreach_stmt -> tkForeach, tkVar, identifier, tkColon, type_ref, tkIn, expr_l1, // tkDo, unlabelled_stmt { CurrentSemanticValue.stn = new foreach_stmt(ValueStack[ValueStack.Depth-7].id, ValueStack[ValueStack.Depth-5].td, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 500: // foreach_stmt -> tkForeach, tkVar, identifier, tkIn, expr_l1, tkDo, + case 502: // foreach_stmt -> tkForeach, tkVar, identifier, tkIn, expr_l1, tkDo, // unlabelled_stmt { CurrentSemanticValue.stn = new foreach_stmt(ValueStack[ValueStack.Depth-5].id, new no_type_foreach(), ValueStack[ValueStack.Depth-3].ex, (statement)ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 501: // foreach_stmt_ident_dype_opt -> tkColon, type_ref + case 503: // foreach_stmt_ident_dype_opt -> tkColon, type_ref { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 503: // for_stmt -> tkFor, optional_var, identifier, for_stmt_decl_or_assign, expr_l1, + case 505: // for_stmt -> tkFor, optional_var, identifier, for_stmt_decl_or_assign, expr_l1, // for_cycle_type, expr_l1, optional_tk_do, unlabelled_stmt { CurrentSemanticValue.stn = NewForStmt((bool)ValueStack[ValueStack.Depth-8].ob, ValueStack[ValueStack.Depth-7].id, ValueStack[ValueStack.Depth-6].td, ValueStack[ValueStack.Depth-5].ex, (for_cycle_type)ValueStack[ValueStack.Depth-4].ob, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-2].ti, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 504: // optional_var -> tkVar + case 506: // optional_var -> tkVar { CurrentSemanticValue.ob = true; } break; - case 505: // optional_var -> /* empty */ + case 507: // optional_var -> /* empty */ { CurrentSemanticValue.ob = false; } break; - case 507: // for_stmt_decl_or_assign -> tkColon, simple_type_identifier, tkAssign + case 509: // for_stmt_decl_or_assign -> tkColon, simple_type_identifier, tkAssign { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-2].td; } break; - case 508: // for_cycle_type -> tkTo + case 510: // for_cycle_type -> tkTo { CurrentSemanticValue.ob = for_cycle_type.to; } break; - case 509: // for_cycle_type -> tkDownto + case 511: // for_cycle_type -> tkDownto { CurrentSemanticValue.ob = for_cycle_type.downto; } break; - case 510: // with_stmt -> tkWith, expr_list, tkDo, unlabelled_stmt + case 512: // with_stmt -> tkWith, expr_list, tkDo, unlabelled_stmt { CurrentSemanticValue.stn = new with_statement(ValueStack[ValueStack.Depth-1].stn as statement, ValueStack[ValueStack.Depth-3].stn as expression_list, CurrentLocationSpan); } break; - case 511: // inherited_message -> tkInherited + case 513: // inherited_message -> tkInherited { CurrentSemanticValue.stn = new inherited_message(); CurrentSemanticValue.stn.source_context = CurrentLocationSpan; } break; - case 512: // try_stmt -> tkTry, stmt_list, try_handler + case 514: // try_stmt -> tkTry, stmt_list, try_handler { CurrentSemanticValue.stn = new try_stmt(ValueStack[ValueStack.Depth-2].stn as statement_list, ValueStack[ValueStack.Depth-1].stn as try_handler, CurrentLocationSpan); (ValueStack[ValueStack.Depth-2].stn as statement_list).left_logical_bracket = ValueStack[ValueStack.Depth-3].ti; ValueStack[ValueStack.Depth-2].stn.source_context = LocationStack[LocationStack.Depth-3].Merge(LocationStack[LocationStack.Depth-2]); } break; - case 513: // try_handler -> tkFinally, stmt_list, tkEnd + case 515: // try_handler -> tkFinally, stmt_list, tkEnd { CurrentSemanticValue.stn = new try_handler_finally(ValueStack[ValueStack.Depth-2].stn as statement_list, CurrentLocationSpan); (ValueStack[ValueStack.Depth-2].stn as statement_list).left_logical_bracket = ValueStack[ValueStack.Depth-3].ti; (ValueStack[ValueStack.Depth-2].stn as statement_list).right_logical_bracket = ValueStack[ValueStack.Depth-1].ti; } break; - case 514: // try_handler -> tkExcept, exception_block, tkEnd + case 516: // try_handler -> tkExcept, exception_block, tkEnd { CurrentSemanticValue.stn = new try_handler_except((exception_block)ValueStack[ValueStack.Depth-2].stn, CurrentLocationSpan); if ((ValueStack[ValueStack.Depth-2].stn as exception_block).stmt_list != null) @@ -4529,154 +4549,154 @@ public partial class GPPGParser: ShiftReduceParser exception_handler_list, exception_block_else_branch + case 517: // exception_block -> exception_handler_list, exception_block_else_branch { CurrentSemanticValue.stn = new exception_block(null, (exception_handler_list)ValueStack[ValueStack.Depth-2].stn, (statement_list)ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 516: // exception_block -> exception_handler_list, tkSemiColon, + case 518: // exception_block -> exception_handler_list, tkSemiColon, // exception_block_else_branch { CurrentSemanticValue.stn = new exception_block(null, (exception_handler_list)ValueStack[ValueStack.Depth-3].stn, (statement_list)ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 517: // exception_block -> stmt_list + case 519: // exception_block -> stmt_list { CurrentSemanticValue.stn = new exception_block(ValueStack[ValueStack.Depth-1].stn as statement_list, null, null, LocationStack[LocationStack.Depth-1]); } break; - case 518: // exception_handler_list -> exception_handler + case 520: // exception_handler_list -> exception_handler { CurrentSemanticValue.stn = new exception_handler_list(ValueStack[ValueStack.Depth-1].stn as exception_handler, CurrentLocationSpan); } break; - case 519: // exception_handler_list -> exception_handler_list, tkSemiColon, + case 521: // exception_handler_list -> exception_handler_list, tkSemiColon, // exception_handler { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as exception_handler_list).Add(ValueStack[ValueStack.Depth-1].stn as exception_handler, CurrentLocationSpan); } break; - case 520: // exception_block_else_branch -> /* empty */ + case 522: // exception_block_else_branch -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 521: // exception_block_else_branch -> tkElse, stmt_list + case 523: // exception_block_else_branch -> tkElse, stmt_list { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 522: // exception_handler -> tkOn, exception_identifier, tkDo, unlabelled_stmt + case 524: // exception_handler -> tkOn, exception_identifier, tkDo, unlabelled_stmt { CurrentSemanticValue.stn = new exception_handler((ValueStack[ValueStack.Depth-3].stn as exception_ident).variable, (ValueStack[ValueStack.Depth-3].stn as exception_ident).type_name, ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 523: // exception_identifier -> exception_class_type_identifier + case 525: // exception_identifier -> exception_class_type_identifier { CurrentSemanticValue.stn = new exception_ident(null, (named_type_reference)ValueStack[ValueStack.Depth-1].td, CurrentLocationSpan); } break; - case 524: // exception_identifier -> exception_variable, tkColon, + case 526: // exception_identifier -> exception_variable, tkColon, // exception_class_type_identifier { CurrentSemanticValue.stn = new exception_ident(ValueStack[ValueStack.Depth-3].id, (named_type_reference)ValueStack[ValueStack.Depth-1].td, CurrentLocationSpan); } break; - case 525: // exception_class_type_identifier -> simple_type_identifier + case 527: // exception_class_type_identifier -> simple_type_identifier { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 526: // exception_variable -> identifier + case 528: // exception_variable -> identifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 527: // raise_stmt -> tkRaise + case 529: // raise_stmt -> tkRaise { CurrentSemanticValue.stn = new raise_stmt(); CurrentSemanticValue.stn.source_context = CurrentLocationSpan; } break; - case 528: // raise_stmt -> tkRaise, expr + case 530: // raise_stmt -> tkRaise, expr { CurrentSemanticValue.stn = new raise_stmt(ValueStack[ValueStack.Depth-1].ex, null, CurrentLocationSpan); } break; - case 529: // expr_list -> expr_with_func_decl_lambda + case 531: // expr_list -> expr_with_func_decl_lambda { CurrentSemanticValue.stn = new expression_list(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 530: // expr_list -> expr_list, tkComma, expr_with_func_decl_lambda + case 532: // expr_list -> expr_list, tkComma, expr_with_func_decl_lambda { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as expression_list).Add(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 531: // expr_as_stmt -> allowable_expr_as_stmt + case 533: // expr_as_stmt -> allowable_expr_as_stmt { CurrentSemanticValue.stn = new expression_as_statement(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 532: // allowable_expr_as_stmt -> new_expr + case 534: // allowable_expr_as_stmt -> new_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 533: // expr_with_func_decl_lambda -> expr + case 535: // expr_with_func_decl_lambda -> expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 534: // expr_with_func_decl_lambda -> func_decl_lambda + case 536: // expr_with_func_decl_lambda -> func_decl_lambda { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 535: // expr -> expr_l1 + case 537: // expr -> expr_l1 { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 536: // expr -> format_expr + case 538: // expr -> format_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 537: // expr_l1 -> relop_expr + case 539: // expr_l1 -> relop_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 538: // expr_l1 -> question_expr + case 540: // expr_l1 -> question_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 539: // sizeof_expr -> tkSizeOf, tkRoundOpen, simple_or_template_type_reference, + case 541: // sizeof_expr -> tkSizeOf, tkRoundOpen, simple_or_template_type_reference, // tkRoundClose { CurrentSemanticValue.ex = new sizeof_operator((named_type_reference)ValueStack[ValueStack.Depth-2].td, null, CurrentLocationSpan); } break; - case 540: // typeof_expr -> tkTypeOf, tkRoundOpen, simple_or_template_type_reference, + case 542: // typeof_expr -> tkTypeOf, tkRoundOpen, simple_or_template_type_reference, // tkRoundClose { CurrentSemanticValue.ex = new typeof_operator((named_type_reference)ValueStack[ValueStack.Depth-2].td, CurrentLocationSpan); } break; - case 541: // question_expr -> expr_l1, tkQuestion, expr_l1, tkColon, expr_l1 + case 543: // question_expr -> expr_l1, tkQuestion, expr_l1, tkColon, expr_l1 { CurrentSemanticValue.ex = new question_colon_expression(ValueStack[ValueStack.Depth-5].ex, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 542: // simple_or_template_type_reference -> simple_type_identifier + case 544: // simple_or_template_type_reference -> simple_type_identifier { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 543: // simple_or_template_type_reference -> simple_type_identifier, + case 545: // simple_or_template_type_reference -> simple_type_identifier, // template_type_params { CurrentSemanticValue.td = new template_type_reference((named_type_reference)ValueStack[ValueStack.Depth-2].td, (template_param_list)ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 544: // simple_or_template_type_reference -> simple_type_identifier, tkAmpersend, + case 546: // simple_or_template_type_reference -> simple_type_identifier, tkAmpersend, // template_type_params { CurrentSemanticValue.td = new template_type_reference((named_type_reference)ValueStack[ValueStack.Depth-3].td, (template_param_list)ValueStack[ValueStack.Depth-1].stn, CurrentLocationSpan); } break; - case 545: // optional_array_initializer -> tkRoundOpen, typed_const_list, tkRoundClose + case 547: // optional_array_initializer -> tkRoundOpen, typed_const_list, tkRoundClose { CurrentSemanticValue.stn = new array_const((expression_list)ValueStack[ValueStack.Depth-2].stn, CurrentLocationSpan); } break; - case 547: // new_expr -> tkNew, simple_or_template_type_reference, + case 549: // new_expr -> tkNew, simple_or_template_type_reference, // optional_expr_list_with_bracket { CurrentSemanticValue.ex = new new_expr(ValueStack[ValueStack.Depth-2].td, ValueStack[ValueStack.Depth-1].stn as expression_list, false, null, CurrentLocationSpan); } break; - case 548: // new_expr -> tkNew, array_name_for_new_expr, tkSquareOpen, optional_expr_list, + case 550: // new_expr -> tkNew, array_name_for_new_expr, tkSquareOpen, optional_expr_list, // tkSquareClose, optional_array_initializer { var el = ValueStack[ValueStack.Depth-3].stn as expression_list; @@ -4692,7 +4712,7 @@ public partial class GPPGParser: ShiftReduceParser tkNew, tkClass, tkRoundOpen, list_fields_in_unnamed_object, + case 551: // new_expr -> tkNew, tkClass, tkRoundOpen, list_fields_in_unnamed_object, // tkRoundClose { // sugared node @@ -4707,12 +4727,12 @@ public partial class GPPGParser: ShiftReduceParser identifier, tkAssign, relop_expr + case 552: // field_in_unnamed_object -> identifier, tkAssign, relop_expr { CurrentSemanticValue.ob = new name_assign_expr(ValueStack[ValueStack.Depth-3].id,ValueStack[ValueStack.Depth-1].ex,CurrentLocationSpan); } break; - case 551: // field_in_unnamed_object -> relop_expr + case 553: // field_in_unnamed_object -> relop_expr { ident name = null; var id = ValueStack[ValueStack.Depth-1].ex as ident; @@ -4732,13 +4752,13 @@ public partial class GPPGParser: ShiftReduceParser field_in_unnamed_object + case 554: // list_fields_in_unnamed_object -> field_in_unnamed_object { var l = new name_assign_expr_list(); CurrentSemanticValue.ob = l.Add(ValueStack[ValueStack.Depth-1].ob as name_assign_expr); } break; - case 553: // list_fields_in_unnamed_object -> list_fields_in_unnamed_object, tkComma, + case 555: // list_fields_in_unnamed_object -> list_fields_in_unnamed_object, tkComma, // field_in_unnamed_object { var nel = ValueStack[ValueStack.Depth-3].ob as name_assign_expr_list; @@ -4749,157 +4769,157 @@ public partial class GPPGParser: ShiftReduceParser simple_type_identifier + case 556: // array_name_for_new_expr -> simple_type_identifier { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 555: // array_name_for_new_expr -> unsized_array_type + case 557: // array_name_for_new_expr -> unsized_array_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 556: // optional_expr_list_with_bracket -> /* empty */ + case 558: // optional_expr_list_with_bracket -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 557: // optional_expr_list_with_bracket -> tkRoundOpen, optional_expr_list, + case 559: // optional_expr_list_with_bracket -> tkRoundOpen, optional_expr_list, // tkRoundClose { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-2].stn; } break; - case 558: // relop_expr -> simple_expr + case 560: // relop_expr -> simple_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 559: // relop_expr -> relop_expr, relop, simple_expr + case 561: // relop_expr -> relop_expr, relop, simple_expr { CurrentSemanticValue.ex = new bin_expr(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, ValueStack[ValueStack.Depth-2].op.type, CurrentLocationSpan); } break; - case 560: // simple_expr_or_nothing -> simple_expr + case 562: // simple_expr_or_nothing -> simple_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 561: // simple_expr_or_nothing -> /* empty */ + case 563: // simple_expr_or_nothing -> /* empty */ { CurrentSemanticValue.ex = new int32_const(int.MaxValue); } break; - case 562: // format_expr -> simple_expr, tkColon, simple_expr_or_nothing + case 564: // format_expr -> simple_expr, tkColon, simple_expr_or_nothing { CurrentSemanticValue.ex = new format_expr(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, null, CurrentLocationSpan); } break; - case 563: // format_expr -> tkColon, simple_expr_or_nothing + case 565: // format_expr -> tkColon, simple_expr_or_nothing { CurrentSemanticValue.ex = new format_expr(new int32_const(int.MaxValue), ValueStack[ValueStack.Depth-1].ex, null, CurrentLocationSpan); } break; - case 564: // format_expr -> simple_expr, tkColon, simple_expr_or_nothing, tkColon, + case 566: // format_expr -> simple_expr, tkColon, simple_expr_or_nothing, tkColon, // simple_expr { CurrentSemanticValue.ex = new format_expr(ValueStack[ValueStack.Depth-5].ex, ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 565: // format_expr -> tkColon, simple_expr_or_nothing, tkColon, simple_expr + case 567: // format_expr -> tkColon, simple_expr_or_nothing, tkColon, simple_expr { CurrentSemanticValue.ex = new format_expr(new int32_const(int.MaxValue), ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 566: // relop -> tkEqual + case 568: // relop -> tkEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 567: // relop -> tkNotEqual + case 569: // relop -> tkNotEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 568: // relop -> tkLower + case 570: // relop -> tkLower { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 569: // relop -> tkGreater + case 571: // relop -> tkGreater { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 570: // relop -> tkLowerEqual + case 572: // relop -> tkLowerEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 571: // relop -> tkGreaterEqual + case 573: // relop -> tkGreaterEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 572: // relop -> tkIn + case 574: // relop -> tkIn { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 573: // simple_expr -> term + case 575: // simple_expr -> term { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 574: // simple_expr -> simple_expr, addop, term + case 576: // simple_expr -> simple_expr, addop, term { CurrentSemanticValue.ex = new bin_expr(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, ValueStack[ValueStack.Depth-2].op.type, CurrentLocationSpan); } break; - case 575: // addop -> tkPlus + case 577: // addop -> tkPlus { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 576: // addop -> tkMinus + case 578: // addop -> tkMinus { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 577: // addop -> tkOr + case 579: // addop -> tkOr { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 578: // addop -> tkXor + case 580: // addop -> tkXor { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 579: // addop -> tkCSharpStyleOr + case 581: // addop -> tkCSharpStyleOr { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 580: // typecast_op -> tkAs + case 582: // typecast_op -> tkAs { CurrentSemanticValue.ob = op_typecast.as_op; } break; - case 581: // typecast_op -> tkIs + case 583: // typecast_op -> tkIs { CurrentSemanticValue.ob = op_typecast.is_op; } break; - case 582: // as_is_expr -> term, typecast_op, simple_or_template_type_reference + case 584: // as_is_expr -> term, typecast_op, simple_or_template_type_reference { CurrentSemanticValue.ex = NewAsIsExpr(ValueStack[ValueStack.Depth-3].ex, (op_typecast)ValueStack[ValueStack.Depth-2].ob, ValueStack[ValueStack.Depth-1].td, CurrentLocationSpan); } break; - case 583: // term -> factor + case 585: // term -> factor { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 584: // term -> new_expr + case 586: // term -> new_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 585: // term -> term, mulop, factor + case 587: // term -> term, mulop, factor { CurrentSemanticValue.ex = new bin_expr(ValueStack[ValueStack.Depth-3].ex,ValueStack[ValueStack.Depth-1].ex,(ValueStack[ValueStack.Depth-2].op).type, CurrentLocationSpan); } break; - case 586: // term -> as_is_expr + case 588: // term -> as_is_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 587: // mulop -> tkStar + case 589: // mulop -> tkStar { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 588: // mulop -> tkSlash + case 590: // mulop -> tkSlash { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 589: // mulop -> tkDiv + case 591: // mulop -> tkDiv { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 590: // mulop -> tkMod + case 592: // mulop -> tkMod { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 591: // mulop -> tkShl + case 593: // mulop -> tkShl { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 592: // mulop -> tkShr + case 594: // mulop -> tkShr { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 593: // mulop -> tkAnd + case 595: // mulop -> tkAnd { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 594: // default_expr -> tkDefault, tkRoundOpen, simple_or_template_type_reference, + case 596: // default_expr -> tkDefault, tkRoundOpen, simple_or_template_type_reference, // tkRoundClose { CurrentSemanticValue.ex = new default_operator(ValueStack[ValueStack.Depth-2].td as named_type_reference, CurrentLocationSpan); } break; - case 595: // tuple -> tkRoundOpen, expr_l1, tkComma, expr_l1_list, lambda_type_ref, + case 597: // tuple -> tkRoundOpen, expr_l1, tkComma, expr_l1_list, lambda_type_ref, // optional_full_lambda_fp_list, tkRoundClose { /*if ($5 != null) @@ -4913,99 +4933,99 @@ public partial class GPPGParser: ShiftReduceParser tkNil + case 598: // factor -> tkNil { CurrentSemanticValue.ex = new nil_const(); CurrentSemanticValue.ex.source_context = CurrentLocationSpan; } break; - case 597: // factor -> literal_or_number + case 599: // factor -> literal_or_number { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 598: // factor -> default_expr + case 600: // factor -> default_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 599: // factor -> tkSquareOpen, elem_list, tkSquareClose + case 601: // factor -> tkSquareOpen, elem_list, tkSquareClose { CurrentSemanticValue.ex = new pascal_set_constant(ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); } break; - case 600: // factor -> tkNot, factor + case 602: // factor -> tkNot, factor { CurrentSemanticValue.ex = new un_expr(ValueStack[ValueStack.Depth-1].ex, ValueStack[ValueStack.Depth-2].op.type, CurrentLocationSpan); } break; - case 601: // factor -> sign, factor + case 603: // factor -> sign, factor { CurrentSemanticValue.ex = new un_expr(ValueStack[ValueStack.Depth-1].ex, ValueStack[ValueStack.Depth-2].op.type, CurrentLocationSpan); } break; - case 602: // factor -> tkDeref, factor + case 604: // factor -> tkDeref, factor { CurrentSemanticValue.ex = new roof_dereference(ValueStack[ValueStack.Depth-1].ex as addressed_value, CurrentLocationSpan); } break; - case 603: // factor -> var_reference + case 605: // factor -> var_reference { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 604: // factor -> tuple + case 606: // factor -> tuple { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 605: // literal_or_number -> literal + case 607: // literal_or_number -> literal { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 606: // literal_or_number -> unsigned_number + case 608: // literal_or_number -> unsigned_number { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 607: // var_reference -> var_address, variable + case 609: // var_reference -> var_address, variable { CurrentSemanticValue.ex = NewVarReference(ValueStack[ValueStack.Depth-2].stn as get_address, ValueStack[ValueStack.Depth-1].ex as addressed_value, CurrentLocationSpan); } break; - case 608: // var_reference -> variable + case 610: // var_reference -> variable { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 609: // var_address -> tkAddressOf + case 611: // var_address -> tkAddressOf { CurrentSemanticValue.stn = NewVarAddress(CurrentLocationSpan); } break; - case 610: // var_address -> var_address, tkAddressOf + case 612: // var_address -> var_address, tkAddressOf { CurrentSemanticValue.stn = NewVarAddress(ValueStack[ValueStack.Depth-2].stn as get_address, CurrentLocationSpan); } break; - case 611: // attribute_variable -> simple_type_identifier, optional_expr_list_with_bracket + case 613: // attribute_variable -> simple_type_identifier, optional_expr_list_with_bracket { CurrentSemanticValue.stn = new attribute(null, ValueStack[ValueStack.Depth-2].td as named_type_reference, ValueStack[ValueStack.Depth-1].stn as expression_list, CurrentLocationSpan); } break; - case 612: // dotted_identifier -> identifier + case 614: // dotted_identifier -> identifier { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].id; } break; - case 613: // dotted_identifier -> dotted_identifier, tkPoint, identifier_or_keyword + case 615: // dotted_identifier -> dotted_identifier, tkPoint, identifier_or_keyword { CurrentSemanticValue.ex = new dot_node(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); } break; - case 614: // variable_as_type -> dotted_identifier + case 616: // variable_as_type -> dotted_identifier { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex;} break; - case 615: // variable_as_type -> dotted_identifier, template_type_params + case 617: // variable_as_type -> dotted_identifier, template_type_params { CurrentSemanticValue.ex = new ident_with_templateparams(ValueStack[ValueStack.Depth-2].ex as addressed_value, ValueStack[ValueStack.Depth-1].stn as template_param_list, CurrentLocationSpan); } break; - case 616: // variable -> identifier + case 618: // variable -> identifier { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].id; } break; - case 617: // variable -> operator_name_ident + case 619: // variable -> operator_name_ident { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 618: // variable -> tkInherited, identifier + case 620: // variable -> tkInherited, identifier { CurrentSemanticValue.ex = new inherited_ident(ValueStack[ValueStack.Depth-1].id.name, CurrentLocationSpan); } break; - case 619: // variable -> tkRoundOpen, expr, tkRoundClose + case 621: // variable -> tkRoundOpen, expr, tkRoundClose { if (!parsertools.build_tree_for_formatter) { @@ -5015,18 +5035,18 @@ public partial class GPPGParser: ShiftReduceParser sizeof_expr + case 622: // variable -> sizeof_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 621: // variable -> typeof_expr + case 623: // variable -> typeof_expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 622: // variable -> literal_or_number, tkPoint, identifier_or_keyword + case 624: // variable -> literal_or_number, tkPoint, identifier_or_keyword { CurrentSemanticValue.ex = new dot_node(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); } break; - case 623: // variable -> variable, tkSquareOpen, expr_list, tkSquareClose + case 625: // variable -> variable, tkSquareOpen, expr_list, tkSquareClose { var el = ValueStack[ValueStack.Depth-2].stn as expression_list; // SSM 10/03/16 if (el.expressions.Count==1 && el.expressions[0] is format_expr) @@ -5037,497 +5057,497 @@ public partial class GPPGParser: ShiftReduceParser variable, tkQuestionSquareOpen, format_expr, tkSquareClose + case 626: // variable -> variable, tkQuestionSquareOpen, format_expr, tkSquareClose { var fe = ValueStack[ValueStack.Depth-2].ex as format_expr; // SSM 9/01/17 CurrentSemanticValue.ex = new slice_expr_question(ValueStack[ValueStack.Depth-4].ex as addressed_value,fe.expr,fe.format1,fe.format2,CurrentLocationSpan); } break; - case 625: // variable -> variable, tkRoundOpen, optional_expr_list, tkRoundClose + case 627: // variable -> variable, tkRoundOpen, optional_expr_list, tkRoundClose { CurrentSemanticValue.ex = new method_call(ValueStack[ValueStack.Depth-4].ex as addressed_value,ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); } break; - case 626: // variable -> variable, tkPoint, identifier_keyword_operatorname + case 628: // variable -> variable, tkPoint, identifier_keyword_operatorname { CurrentSemanticValue.ex = new dot_node(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); } break; - case 627: // variable -> variable, tkDeref + case 629: // variable -> variable, tkDeref { CurrentSemanticValue.ex = new roof_dereference(ValueStack[ValueStack.Depth-2].ex as addressed_value,CurrentLocationSpan); } break; - case 628: // variable -> variable, tkAmpersend, template_type_params + case 630: // variable -> variable, tkAmpersend, template_type_params { CurrentSemanticValue.ex = new ident_with_templateparams(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].stn as template_param_list, CurrentLocationSpan); } break; - case 629: // optional_expr_list -> expr_list + case 631: // optional_expr_list -> expr_list { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 630: // optional_expr_list -> /* empty */ + case 632: // optional_expr_list -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 631: // elem_list -> elem_list1 + case 633: // elem_list -> elem_list1 { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 632: // elem_list -> /* empty */ + case 634: // elem_list -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 633: // elem_list1 -> elem + case 635: // elem_list1 -> elem { CurrentSemanticValue.stn = new expression_list(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 634: // elem_list1 -> elem_list1, tkComma, elem + case 636: // elem_list1 -> elem_list1, tkComma, elem { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as expression_list).Add(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 635: // elem -> expr + case 637: // elem -> expr { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 636: // elem -> expr, tkDotDot, expr + case 638: // elem -> expr, tkDotDot, expr { CurrentSemanticValue.ex = new diapason_expr(ValueStack[ValueStack.Depth-3].ex, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 637: // one_literal -> tkStringLiteral + case 639: // one_literal -> tkStringLiteral { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].stn as literal; } break; - case 638: // one_literal -> tkAsciiChar + case 640: // one_literal -> tkAsciiChar { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].stn as literal; } break; - case 639: // literal -> literal_list + case 641: // literal -> literal_list { CurrentSemanticValue.ex = NewLiteral(ValueStack[ValueStack.Depth-1].stn as literal_const_line); } break; - case 640: // literal_list -> one_literal + case 642: // literal_list -> one_literal { CurrentSemanticValue.stn = new literal_const_line(ValueStack[ValueStack.Depth-1].ex as literal, CurrentLocationSpan); } break; - case 641: // literal_list -> literal_list, one_literal + case 643: // literal_list -> literal_list, one_literal { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-2].stn as literal_const_line).Add(ValueStack[ValueStack.Depth-1].ex as literal, CurrentLocationSpan); } break; - case 642: // operator_name_ident -> tkOperator, overload_operator + case 644: // operator_name_ident -> tkOperator, overload_operator { CurrentSemanticValue.ex = new operator_name_ident((ValueStack[ValueStack.Depth-1].op as op_type_node).text, (ValueStack[ValueStack.Depth-1].op as op_type_node).type, CurrentLocationSpan); } break; - case 643: // optional_method_modificators -> tkSemiColon + case 645: // optional_method_modificators -> tkSemiColon { CurrentSemanticValue.stn = new procedure_attributes_list(new List(),CurrentLocationSpan); } break; - case 644: // optional_method_modificators -> tkSemiColon, meth_modificators, tkSemiColon + case 646: // optional_method_modificators -> tkSemiColon, meth_modificators, tkSemiColon { //parsertools.AddModifier((procedure_attributes_list)$2, proc_attribute.attr_overload); CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-2].stn; } break; - case 645: // optional_method_modificators1 -> /* empty */ + case 647: // optional_method_modificators1 -> /* empty */ { CurrentSemanticValue.stn = new procedure_attributes_list(new List(),CurrentLocationSpan); } break; - case 646: // optional_method_modificators1 -> tkSemiColon, meth_modificators + case 648: // optional_method_modificators1 -> tkSemiColon, meth_modificators { //parsertools.AddModifier((procedure_attributes_list)$2, proc_attribute.attr_overload); CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 647: // meth_modificators -> meth_modificator + case 649: // meth_modificators -> meth_modificator { CurrentSemanticValue.stn = new procedure_attributes_list(ValueStack[ValueStack.Depth-1].id as procedure_attribute, CurrentLocationSpan); } break; - case 648: // meth_modificators -> meth_modificators, tkSemiColon, meth_modificator + case 650: // meth_modificators -> meth_modificators, tkSemiColon, meth_modificator { CurrentSemanticValue.stn = (ValueStack[ValueStack.Depth-3].stn as procedure_attributes_list).Add(ValueStack[ValueStack.Depth-1].id as procedure_attribute, CurrentLocationSpan); } break; - case 649: // identifier -> tkIdentifier + case 651: // identifier -> tkIdentifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 650: // identifier -> property_specifier_directives + case 652: // identifier -> property_specifier_directives { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 651: // identifier -> non_reserved + case 653: // identifier -> non_reserved { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 652: // identifier_or_keyword -> identifier + case 654: // identifier_or_keyword -> identifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 653: // identifier_or_keyword -> keyword + case 655: // identifier_or_keyword -> keyword { CurrentSemanticValue.id = new ident(ValueStack[ValueStack.Depth-1].ti.text, CurrentLocationSpan); } break; - case 654: // identifier_or_keyword -> reserved_keyword + case 656: // identifier_or_keyword -> reserved_keyword { CurrentSemanticValue.id = new ident(ValueStack[ValueStack.Depth-1].ti.text, CurrentLocationSpan); } break; - case 655: // identifier_keyword_operatorname -> identifier + case 657: // identifier_keyword_operatorname -> identifier { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 656: // identifier_keyword_operatorname -> keyword + case 658: // identifier_keyword_operatorname -> keyword { CurrentSemanticValue.id = new ident(ValueStack[ValueStack.Depth-1].ti.text, CurrentLocationSpan); } break; - case 657: // identifier_keyword_operatorname -> operator_name_ident + case 659: // identifier_keyword_operatorname -> operator_name_ident { CurrentSemanticValue.id = (ident)ValueStack[ValueStack.Depth-1].ex; } break; - case 658: // meth_modificator -> tkAbstract + case 660: // meth_modificator -> tkAbstract { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 659: // meth_modificator -> tkOverload + case 661: // meth_modificator -> tkOverload { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; parsertools.AddWarningFromResource("OVERLOAD_IS_NOT_USED", ValueStack[ValueStack.Depth-1].id.source_context); } break; - case 660: // meth_modificator -> tkReintroduce + case 662: // meth_modificator -> tkReintroduce { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 661: // meth_modificator -> tkOverride + case 663: // meth_modificator -> tkOverride { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 662: // meth_modificator -> tkExtensionMethod + case 664: // meth_modificator -> tkExtensionMethod { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 663: // meth_modificator -> tkVirtual + case 665: // meth_modificator -> tkVirtual { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 664: // property_specifier_directives -> tkRead + case 666: // property_specifier_directives -> tkRead { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 665: // property_specifier_directives -> tkWrite + case 667: // property_specifier_directives -> tkWrite { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 666: // non_reserved -> tkName + case 668: // non_reserved -> tkName { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 667: // non_reserved -> tkNew + case 669: // non_reserved -> tkNew { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 668: // visibility_specifier -> tkInternal + case 670: // visibility_specifier -> tkInternal { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 669: // visibility_specifier -> tkPublic + case 671: // visibility_specifier -> tkPublic { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 670: // visibility_specifier -> tkProtected + case 672: // visibility_specifier -> tkProtected { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 671: // visibility_specifier -> tkPrivate + case 673: // visibility_specifier -> tkPrivate { CurrentSemanticValue.id = ValueStack[ValueStack.Depth-1].id; } break; - case 672: // keyword -> visibility_specifier + case 674: // keyword -> visibility_specifier { CurrentSemanticValue.ti = new token_info(ValueStack[ValueStack.Depth-1].id.name, CurrentLocationSpan); } break; - case 673: // keyword -> tkSealed + case 675: // keyword -> tkSealed { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 674: // keyword -> tkTemplate + case 676: // keyword -> tkTemplate { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 675: // keyword -> tkOr + case 677: // keyword -> tkOr { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 676: // keyword -> tkTypeOf + case 678: // keyword -> tkTypeOf { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 677: // keyword -> tkSizeOf + case 679: // keyword -> tkSizeOf { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 678: // keyword -> tkDefault + case 680: // keyword -> tkDefault { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 679: // keyword -> tkWhere + case 681: // keyword -> tkWhere { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 680: // keyword -> tkXor + case 682: // keyword -> tkXor { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 681: // keyword -> tkAnd + case 683: // keyword -> tkAnd { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 682: // keyword -> tkDiv + case 684: // keyword -> tkDiv { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 683: // keyword -> tkMod + case 685: // keyword -> tkMod { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 684: // keyword -> tkShl + case 686: // keyword -> tkShl { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 685: // keyword -> tkShr + case 687: // keyword -> tkShr { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 686: // keyword -> tkNot + case 688: // keyword -> tkNot { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 687: // keyword -> tkAs + case 689: // keyword -> tkAs { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 688: // keyword -> tkIn + case 690: // keyword -> tkIn { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 689: // keyword -> tkIs + case 691: // keyword -> tkIs { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].op; } break; - case 690: // keyword -> tkArray + case 692: // keyword -> tkArray { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 691: // keyword -> tkSequence + case 693: // keyword -> tkSequence { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 692: // keyword -> tkBegin + case 694: // keyword -> tkBegin { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 693: // keyword -> tkCase + case 695: // keyword -> tkCase { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 694: // keyword -> tkClass + case 696: // keyword -> tkClass { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 695: // keyword -> tkConst + case 697: // keyword -> tkConst { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 696: // keyword -> tkConstructor + case 698: // keyword -> tkConstructor { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 697: // keyword -> tkDestructor + case 699: // keyword -> tkDestructor { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 698: // keyword -> tkDownto + case 700: // keyword -> tkDownto { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 699: // keyword -> tkDo + case 701: // keyword -> tkDo { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 700: // keyword -> tkElse + case 702: // keyword -> tkElse { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 701: // keyword -> tkExcept + case 703: // keyword -> tkExcept { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 702: // keyword -> tkFile + case 704: // keyword -> tkFile { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 703: // keyword -> tkAuto + case 705: // keyword -> tkAuto { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 704: // keyword -> tkFinalization + case 706: // keyword -> tkFinalization { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 705: // keyword -> tkFinally + case 707: // keyword -> tkFinally { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 706: // keyword -> tkFor + case 708: // keyword -> tkFor { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 707: // keyword -> tkForeach + case 709: // keyword -> tkForeach { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 708: // keyword -> tkFunction + case 710: // keyword -> tkFunction { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 709: // keyword -> tkIf + case 711: // keyword -> tkIf { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 710: // keyword -> tkImplementation + case 712: // keyword -> tkImplementation { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 711: // keyword -> tkInherited + case 713: // keyword -> tkInherited { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 712: // keyword -> tkInitialization + case 714: // keyword -> tkInitialization { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 713: // keyword -> tkInterface + case 715: // keyword -> tkInterface { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 714: // keyword -> tkProcedure + case 716: // keyword -> tkProcedure { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 715: // keyword -> tkProperty + case 717: // keyword -> tkProperty { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 716: // keyword -> tkRaise + case 718: // keyword -> tkRaise { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 717: // keyword -> tkRecord + case 719: // keyword -> tkRecord { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 718: // keyword -> tkRepeat + case 720: // keyword -> tkRepeat { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 719: // keyword -> tkSet + case 721: // keyword -> tkSet { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 720: // keyword -> tkTry + case 722: // keyword -> tkTry { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 721: // keyword -> tkType + case 723: // keyword -> tkType { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 722: // keyword -> tkThen + case 724: // keyword -> tkThen { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 723: // keyword -> tkTo + case 725: // keyword -> tkTo { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 724: // keyword -> tkUntil + case 726: // keyword -> tkUntil { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 725: // keyword -> tkUses + case 727: // keyword -> tkUses { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 726: // keyword -> tkVar + case 728: // keyword -> tkVar { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 727: // keyword -> tkWhile + case 729: // keyword -> tkWhile { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 728: // keyword -> tkWith + case 730: // keyword -> tkWith { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 729: // keyword -> tkNil + case 731: // keyword -> tkNil { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 730: // keyword -> tkGoto + case 732: // keyword -> tkGoto { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 731: // keyword -> tkOf + case 733: // keyword -> tkOf { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 732: // keyword -> tkLabel + case 734: // keyword -> tkLabel { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 733: // keyword -> tkProgram + case 735: // keyword -> tkProgram { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 734: // keyword -> tkUnit + case 736: // keyword -> tkUnit { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 735: // keyword -> tkLibrary + case 737: // keyword -> tkLibrary { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 736: // keyword -> tkExternal + case 738: // keyword -> tkExternal { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 737: // keyword -> tkParams + case 739: // keyword -> tkParams { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 738: // keyword -> tkEvent + case 740: // keyword -> tkEvent { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 739: // keyword -> tkYield + case 741: // keyword -> tkYield { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 740: // reserved_keyword -> tkOperator + case 742: // reserved_keyword -> tkOperator { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 741: // reserved_keyword -> tkEnd + case 743: // reserved_keyword -> tkEnd { CurrentSemanticValue.ti = ValueStack[ValueStack.Depth-1].ti; } break; - case 742: // overload_operator -> tkMinus + case 744: // overload_operator -> tkMinus { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 743: // overload_operator -> tkPlus + case 745: // overload_operator -> tkPlus { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 744: // overload_operator -> tkSlash + case 746: // overload_operator -> tkSlash { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 745: // overload_operator -> tkStar + case 747: // overload_operator -> tkStar { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 746: // overload_operator -> tkEqual + case 748: // overload_operator -> tkEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 747: // overload_operator -> tkGreater + case 749: // overload_operator -> tkGreater { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 748: // overload_operator -> tkGreaterEqual + case 750: // overload_operator -> tkGreaterEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 749: // overload_operator -> tkLower + case 751: // overload_operator -> tkLower { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 750: // overload_operator -> tkLowerEqual + case 752: // overload_operator -> tkLowerEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 751: // overload_operator -> tkNotEqual + case 753: // overload_operator -> tkNotEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 752: // overload_operator -> tkOr + case 754: // overload_operator -> tkOr { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 753: // overload_operator -> tkXor + case 755: // overload_operator -> tkXor { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 754: // overload_operator -> tkAnd + case 756: // overload_operator -> tkAnd { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 755: // overload_operator -> tkDiv + case 757: // overload_operator -> tkDiv { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 756: // overload_operator -> tkMod + case 758: // overload_operator -> tkMod { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 757: // overload_operator -> tkShl + case 759: // overload_operator -> tkShl { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 758: // overload_operator -> tkShr + case 760: // overload_operator -> tkShr { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 759: // overload_operator -> tkNot + case 761: // overload_operator -> tkNot { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 760: // overload_operator -> tkIn + case 762: // overload_operator -> tkIn { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 761: // overload_operator -> tkImplicit + case 763: // overload_operator -> tkImplicit { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 762: // overload_operator -> tkExplicit + case 764: // overload_operator -> tkExplicit { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 763: // overload_operator -> assign_operator + case 765: // overload_operator -> assign_operator { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 764: // assign_operator -> tkAssign + case 766: // assign_operator -> tkAssign { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 765: // assign_operator -> tkPlusEqual + case 767: // assign_operator -> tkPlusEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 766: // assign_operator -> tkMinusEqual + case 768: // assign_operator -> tkMinusEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 767: // assign_operator -> tkMultEqual + case 769: // assign_operator -> tkMultEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 768: // assign_operator -> tkDivEqual + case 770: // assign_operator -> tkDivEqual { CurrentSemanticValue.op = ValueStack[ValueStack.Depth-1].op; } break; - case 769: // func_decl_lambda -> identifier, tkArrow, lambda_function_body + case 771: // func_decl_lambda -> identifier, tkArrow, lambda_function_body { var idList = new ident_list(ValueStack[ValueStack.Depth-3].id, LocationStack[LocationStack.Depth-3]); var formalPars = new formal_parameters(new typed_parameters(idList, new lambda_inferred_type(new PascalABCCompiler.TreeRealization.lambda_any_type_node(), null), parametr_kind.none, null, LocationStack[LocationStack.Depth-3]), LocationStack[LocationStack.Depth-3]); CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), formalPars, new lambda_inferred_type(new PascalABCCompiler.TreeRealization.lambda_any_type_node(), null), ValueStack[ValueStack.Depth-1].stn as statement_list, CurrentLocationSpan); } break; - case 770: // func_decl_lambda -> tkRoundOpen, tkRoundClose, lambda_type_ref_noproctype, + case 772: // func_decl_lambda -> tkRoundOpen, tkRoundClose, lambda_type_ref_noproctype, // tkArrow, lambda_function_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), null, ValueStack[ValueStack.Depth-3].td, ValueStack[ValueStack.Depth-1].stn as statement_list, CurrentLocationSpan); } break; - case 771: // func_decl_lambda -> tkRoundOpen, identifier, tkColon, fptype, tkRoundClose, + case 773: // func_decl_lambda -> tkRoundOpen, identifier, tkColon, fptype, tkRoundClose, // lambda_type_ref_noproctype, tkArrow, lambda_function_body { var idList = new ident_list(ValueStack[ValueStack.Depth-7].id, LocationStack[LocationStack.Depth-7]); @@ -5536,7 +5556,7 @@ public partial class GPPGParser: ShiftReduceParser tkRoundOpen, identifier, tkSemiColon, full_lambda_fp_list, + case 774: // func_decl_lambda -> tkRoundOpen, identifier, tkSemiColon, full_lambda_fp_list, // tkRoundClose, lambda_type_ref_noproctype, tkArrow, // lambda_function_body { @@ -5547,7 +5567,7 @@ public partial class GPPGParser: ShiftReduceParser tkRoundOpen, identifier, tkColon, fptype, tkSemiColon, + case 775: // func_decl_lambda -> tkRoundOpen, identifier, tkColon, fptype, tkSemiColon, // full_lambda_fp_list, tkRoundClose, // lambda_type_ref_noproctype, tkArrow, lambda_function_body { @@ -5559,7 +5579,7 @@ public partial class GPPGParser: ShiftReduceParser tkRoundOpen, expr_l1, tkComma, expr_l1_list, + case 776: // func_decl_lambda -> tkRoundOpen, expr_l1, tkComma, expr_l1_list, // lambda_type_ref, optional_full_lambda_fp_list, // tkRoundClose, rem_lambda { @@ -5621,61 +5641,61 @@ public partial class GPPGParser: ShiftReduceParser expl_func_decl_lambda + case 777: // func_decl_lambda -> expl_func_decl_lambda { CurrentSemanticValue.ex = ValueStack[ValueStack.Depth-1].ex; } break; - case 776: // optional_full_lambda_fp_list -> /* empty */ + case 778: // optional_full_lambda_fp_list -> /* empty */ { CurrentSemanticValue.stn = null; } break; - case 777: // optional_full_lambda_fp_list -> tkSemiColon, full_lambda_fp_list + case 779: // optional_full_lambda_fp_list -> tkSemiColon, full_lambda_fp_list { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 778: // rem_lambda -> lambda_type_ref_noproctype, tkArrow, lambda_function_body + case 780: // rem_lambda -> lambda_type_ref_noproctype, tkArrow, lambda_function_body { CurrentSemanticValue.ob = new pair_type_stlist(ValueStack[ValueStack.Depth-3].td,ValueStack[ValueStack.Depth-1].stn as statement_list); } break; - case 779: // expl_func_decl_lambda -> tkFunction, lambda_type_ref, tkArrow, + case 781: // expl_func_decl_lambda -> tkFunction, lambda_type_ref, tkArrow, // lambda_function_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), null, ValueStack[ValueStack.Depth-3].td, ValueStack[ValueStack.Depth-1].stn as statement_list, 1, CurrentLocationSpan); } break; - case 780: // expl_func_decl_lambda -> tkFunction, tkRoundOpen, tkRoundClose, lambda_type_ref, + case 782: // expl_func_decl_lambda -> tkFunction, tkRoundOpen, tkRoundClose, lambda_type_ref, // tkArrow, lambda_function_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), null, ValueStack[ValueStack.Depth-3].td, ValueStack[ValueStack.Depth-1].stn as statement_list, 1, CurrentLocationSpan); } break; - case 781: // expl_func_decl_lambda -> tkFunction, tkRoundOpen, full_lambda_fp_list, + case 783: // expl_func_decl_lambda -> tkFunction, tkRoundOpen, full_lambda_fp_list, // tkRoundClose, lambda_type_ref, tkArrow, // lambda_function_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), ValueStack[ValueStack.Depth-5].stn as formal_parameters, ValueStack[ValueStack.Depth-3].td, ValueStack[ValueStack.Depth-1].stn as statement_list, 1, CurrentLocationSpan); } break; - case 782: // expl_func_decl_lambda -> tkProcedure, tkArrow, lambda_procedure_body + case 784: // expl_func_decl_lambda -> tkProcedure, tkArrow, lambda_procedure_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), null, null, ValueStack[ValueStack.Depth-1].stn as statement_list, 2, CurrentLocationSpan); } break; - case 783: // expl_func_decl_lambda -> tkProcedure, tkRoundOpen, tkRoundClose, tkArrow, + case 785: // expl_func_decl_lambda -> tkProcedure, tkRoundOpen, tkRoundClose, tkArrow, // lambda_procedure_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), null, null, ValueStack[ValueStack.Depth-1].stn as statement_list, 2, CurrentLocationSpan); } break; - case 784: // expl_func_decl_lambda -> tkProcedure, tkRoundOpen, full_lambda_fp_list, + case 786: // expl_func_decl_lambda -> tkProcedure, tkRoundOpen, full_lambda_fp_list, // tkRoundClose, tkArrow, lambda_procedure_body { CurrentSemanticValue.ex = new function_lambda_definition(lambdaHelper.CreateLambdaName(), ValueStack[ValueStack.Depth-4].stn as formal_parameters, null, ValueStack[ValueStack.Depth-1].stn as statement_list, 2, CurrentLocationSpan); } break; - case 785: // full_lambda_fp_list -> lambda_simple_fp_sect + case 787: // full_lambda_fp_list -> lambda_simple_fp_sect { var typed_pars = ValueStack[ValueStack.Depth-1].stn as typed_parameters; if (typed_pars.vars_type is lambda_inferred_type) @@ -5695,147 +5715,147 @@ public partial class GPPGParser: ShiftReduceParser full_lambda_fp_list, tkSemiColon, lambda_simple_fp_sect + case 788: // full_lambda_fp_list -> full_lambda_fp_list, tkSemiColon, lambda_simple_fp_sect { CurrentSemanticValue.stn =(ValueStack[ValueStack.Depth-3].stn as formal_parameters).Add(ValueStack[ValueStack.Depth-1].stn as typed_parameters, CurrentLocationSpan); } break; - case 787: // lambda_simple_fp_sect -> ident_list, lambda_type_ref + case 789: // lambda_simple_fp_sect -> ident_list, lambda_type_ref { CurrentSemanticValue.stn = new typed_parameters(ValueStack[ValueStack.Depth-2].stn as ident_list, ValueStack[ValueStack.Depth-1].td, parametr_kind.none, null, CurrentLocationSpan); } break; - case 788: // lambda_type_ref -> /* empty */ + case 790: // lambda_type_ref -> /* empty */ { CurrentSemanticValue.td = new lambda_inferred_type(new PascalABCCompiler.TreeRealization.lambda_any_type_node(), null); } break; - case 789: // lambda_type_ref -> tkColon, fptype + case 791: // lambda_type_ref -> tkColon, fptype { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 790: // lambda_type_ref_noproctype -> /* empty */ + case 792: // lambda_type_ref_noproctype -> /* empty */ { CurrentSemanticValue.td = new lambda_inferred_type(new PascalABCCompiler.TreeRealization.lambda_any_type_node(), null); } break; - case 791: // lambda_type_ref_noproctype -> tkColon, fptype_noproctype + case 793: // lambda_type_ref_noproctype -> tkColon, fptype_noproctype { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 792: // lambda_function_body -> expr_l1 + case 794: // lambda_function_body -> expr_l1 { CurrentSemanticValue.stn = NewLambdaBody(ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); } break; - case 793: // lambda_function_body -> compound_stmt + case 795: // lambda_function_body -> compound_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 794: // lambda_function_body -> if_stmt + case 796: // lambda_function_body -> if_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 795: // lambda_function_body -> while_stmt + case 797: // lambda_function_body -> while_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 796: // lambda_function_body -> repeat_stmt + case 798: // lambda_function_body -> repeat_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 797: // lambda_function_body -> for_stmt + case 799: // lambda_function_body -> for_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 798: // lambda_function_body -> foreach_stmt + case 800: // lambda_function_body -> foreach_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 799: // lambda_function_body -> case_stmt + case 801: // lambda_function_body -> case_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 800: // lambda_function_body -> try_stmt + case 802: // lambda_function_body -> try_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 801: // lambda_function_body -> lock_stmt + case 803: // lambda_function_body -> lock_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 802: // lambda_function_body -> yield_stmt + case 804: // lambda_function_body -> yield_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 803: // lambda_procedure_body -> proc_call + case 805: // lambda_procedure_body -> proc_call { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 804: // lambda_procedure_body -> compound_stmt + case 806: // lambda_procedure_body -> compound_stmt { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } break; - case 805: // lambda_procedure_body -> if_stmt + case 807: // lambda_procedure_body -> if_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 806: // lambda_procedure_body -> while_stmt + case 808: // lambda_procedure_body -> while_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 807: // lambda_procedure_body -> repeat_stmt + case 809: // lambda_procedure_body -> repeat_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 808: // lambda_procedure_body -> for_stmt + case 810: // lambda_procedure_body -> for_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 809: // lambda_procedure_body -> foreach_stmt + case 811: // lambda_procedure_body -> foreach_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 810: // lambda_procedure_body -> case_stmt + case 812: // lambda_procedure_body -> case_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 811: // lambda_procedure_body -> try_stmt + case 813: // lambda_procedure_body -> try_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 812: // lambda_procedure_body -> lock_stmt + case 814: // lambda_procedure_body -> lock_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 813: // lambda_procedure_body -> yield_stmt + case 815: // lambda_procedure_body -> yield_stmt { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } break; - case 814: // lambda_procedure_body -> assignment + case 816: // lambda_procedure_body -> assignment { CurrentSemanticValue.stn = new statement_list(ValueStack[ValueStack.Depth-1].stn as statement, CurrentLocationSpan); } diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 607e96dc6..b1d03d53f 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -160,5 +160,6 @@ script= + diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 9f11b628c..eba12d770 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.2.0.1386' +!define VERSION '3.2.0.1398' diff --git a/TestSuite/CompilationSamples/ABCObjects.pas b/TestSuite/CompilationSamples/ABCObjects.pas index 643699f00..601ddcbae 100644 --- a/TestSuite/CompilationSamples/ABCObjects.pas +++ b/TestSuite/CompilationSamples/ABCObjects.pas @@ -912,6 +912,8 @@ begin if oldBounds.IntersectsWith(newBounds) then begin r := GRectangle.Union(oldBounds,newBounds); + //TextOut(0,0,r.ToString); + //r.Width := r.Width + 5; drawRect(r); end else diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index 97eb0f485..75354c081 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -1217,25 +1217,6 @@ function Odd(i: uint64): boolean; function Cplx(re,im: real): Complex; /// КонÑ�труирует комплекÑ�ное чиÑ�ло по полÑ�рным координатам function CplxFromPolar(magnitude,phase: real) : Complex; -/// Возвращает квадратный корень из комплекÑ�ного чиÑ�ла -function Sqrt(c: Complex): Complex; -/// Возвращает модуль комплекÑ�ного чиÑ�ла -function Abs(c: Complex): Complex; -/// Возвращает комплекÑ�но Ñ�опрÑ�женное чиÑ�ло -function Conjugate(c: Complex): Complex; -/// Возвращает коÑ�инуÑ� комплекÑ�ного чиÑ�ла -function Cos(c: Complex): Complex; -/// Возвращает Ñ�кÑ�поненту комплекÑ�ного чиÑ�ла -function Exp(c: Complex): Complex; -/// Возвращает натуральный логарифм комплекÑ�ного чиÑ�ла -function Log(c: Complex): Complex; -/// Возвращает деÑ�Ñ�тичный логарифм комплекÑ�ного чиÑ�ла -function Log10(c: Complex): Complex; -/// Возвращает Ñ�тепень комплекÑ�ного чиÑ�ла -function Power(c,power: Complex): Complex; -/// Возвращает Ñ�инуÑ� комплекÑ�ного чиÑ�ла -function Sin(c: Complex): Complex; - // ----------------------------------------------------- //>> Процедуры длÑ� работы Ñ�о Ñ�тандартными множеÑ�твами # Subroutines for set of T @@ -1715,6 +1696,8 @@ function SSet(params a: array of T): SortedSet; function SSet(a: sequence of T): SortedSet; /// Возвращает Ñ�ловарь пар Ñ�лементов (ключ, значение) function Dict(params pairs: array of KeyValuePair): Dictionary; +/// Возвращает Ñ�ловарь пар Ñ�лементов (ключ, значение) +function Dict(params pairs: array of (TKey, TVal)): Dictionary; /// Возвращает пару Ñ�лементов (ключ, значение) function KV(key: TKey; value: TVal): KeyValuePair; @@ -4257,6 +4240,13 @@ begin Result.Add(pairs[i].Key, pairs[i].Value); end; +function Dict(params pairs: array of (TKey, TVal)): Dictionary; +begin + Result := new Dictionary(); + for var i := 0 to pairs.Length - 1 do + Result.Add(pairs[i][0], pairs[i][1]); +end; + function KV(key: TKey; value: TVal): KeyValuePair; begin Result := new KeyValuePair(key, value); @@ -7069,24 +7059,6 @@ function Cplx(re,im: real) := new Complex(re,im); function CplxFromPolar(magnitude,phase: real) := Complex.FromPolarCoordinates(magnitude,phase); -function Sqrt(c: Complex) := Complex.Sqrt(c); - -function Abs(c: Complex) := Complex.Abs(c); - -function Conjugate(c: Complex) := Complex.Conjugate(c); - -function Cos(c: Complex) := Complex.Cos(c); - -function Exp(c: Complex) := Complex.Exp(c); - -function Log(c: Complex) := Complex.Log(c); - -function Log10(c: Complex) := Complex.Log10(c); - -function Power(c,power: Complex) := Complex.Pow(c,power); - -function Sin(c: Complex) := Complex.Sin(c); - // ----------------------------------------------------- // Dynamic arrays: implementation // ----------------------------------------------------- diff --git a/TestSuite/CompilationSamples/PT4.pas b/TestSuite/CompilationSamples/PT4.pas index 94f5f79dc..c45298e16 100644 --- a/TestSuite/CompilationSamples/PT4.pas +++ b/TestSuite/CompilationSamples/PT4.pas @@ -1,15 +1,15 @@ -/// Модуль Ñ�лектронного задачника Programming Taskbook 4 +/// Ìîäóëü ýëåêòðîííîãî çàäà÷íèêà Programming Taskbook 4 unit PT4; //------------------------------------------------------------------------------ -// Модуль длÑ� подключениÑ� задачника Programming Taskbook -// ВерÑ�иÑ� 4.15 +// Ìîäóëü äëÿ ïîäêëþ÷åíèÿ çàäà÷íèêà Programming Taskbook +// Âåðñèÿ 4.15 // Copyright (c) 2006-2008 DarkStar, SSM -// Copyright (c) 2010 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 1.3 -// Copyright (c) 2014-2015 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.13 -// Copyright (c) 2015 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.14 -// Copyright (c) 2016 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.15 -// Электронный задачник Programming Taskbook Copyright (c)М.Э.Ð�брамÑ�н, 1998-2016 +// Copyright (c) 2010 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 1.3 +// Copyright (c) 2014-2015 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.13 +// Copyright (c) 2015 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.14 +// Copyright (c) 2016 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.15 +// Ýëåêòðîííûé çàäà÷íèê Programming Taskbook Copyright (c)Ì.Ý.Àáðàìÿí, 1998-2017 //------------------------------------------------------------------------------ {$apptype windows} @@ -21,9 +21,9 @@ uses System, System.Collections, System.Runtime.InteropServices; type - /// Тип указателÑ� на узел Ñ�пиÑ�ка + /// Òèï óêàçàòåëÿ íà óçåë ñïèñêà PNode = ^TNode; - /// Тип узла Ñ�пиÑ�ка + /// Òèï óçëà ñïèñêà TNode = record Data: integer; Next,Prev,Left,Right,Parent: PNode; @@ -79,107 +79,107 @@ type property Data: integer read getData write SetData; end; -/// ВывеÑ�ти формулировку заданиÑ� +/// Âûâåñòè ôîðìóëèðîâêó çàäàíèÿ procedure Task(name: string); -/// ВвеÑ�ти и вернуть значение целого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå öåëîãî òèïà function GetInt: integer; -/// ВвеÑ�ти и вернуть значение целого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå öåëîãî òèïà function GetInteger: integer; -/// ВвеÑ�ти и вернуть значение вещеÑ�твенного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå âåùåñòâåííîãî òèïà function GetReal: real; -/// ВвеÑ�ти и вернуть значение вещеÑ�твенного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå âåùåñòâåííîãî òèïà function GetDouble: real; -/// ВвеÑ�ти и вернуть значение Ñ�имвольного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ñèìâîëüíîãî òèïà function GetChar: char; -/// ВвеÑ�ти и вернуть значение Ñ�трокового типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ñòðîêîâîãî òèïà function GetString: string; -/// ВвеÑ�ти и вернуть значение логичеÑ�кого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ëîãè÷åñêîãî òèïà function GetBool: boolean; -/// ВвеÑ�ти и вернуть значение логичеÑ�кого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ëîãè÷åñêîãî òèïà function GetBoolean: boolean; -/// ВвеÑ�ти и вернуть значение типа Node +/// Ââåñòè è âåðíóòü çíà÷åíèå òèïà Node function GetNode: Node; -/// ВвеÑ�ти и вернуть значение типа PNode +/// Ââåñòè è âåðíóòü çíà÷åíèå òèïà PNode function GetPNode: PNode; -/// Возвращает введенное значение типа integer +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer function ReadInteger: integer; -/// Возвращает введенное значение типа real +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real function ReadReal: real; -/// Возвращает введенное значение типа char +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char function ReadChar: char; -/// Возвращает введенное значение типа string +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string function ReadString: string; -/// Возвращает введенное значение типа boolean +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean function ReadBoolean: boolean; -/// Возвращает введенное значение типа PNode +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode function ReadPNode: PNode; -/// Возвращает введенное значение типа Node +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node function ReadNode: Node; -/// Возвращает введенное значение типа integer +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer function ReadlnInteger: integer; -/// Возвращает введенное значение типа real +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real function ReadlnReal: real; -/// Возвращает введенное значение типа char +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char function ReadlnChar: char; -/// Возвращает введенное значение типа string +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string function ReadlnString: string; -/// Возвращает введенное значение типа boolean +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean function ReadlnBoolean: boolean; -/// Возвращает введенное значение типа PNode +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode function ReadlnPNode: PNode; -/// Возвращает введенное значение типа Node +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node function ReadlnNode: Node; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == -/// Возвращает введенное значение типа integer. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadInteger(prompt: string): integer; -/// Возвращает введенное значение типа real. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadReal(prompt: string): real; -/// Возвращает введенное значение типа char. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadChar(prompt: string): char; -/// Возвращает введенное значение типа string. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadString(prompt: string): string; -/// Возвращает введенное значение типа boolean. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadBoolean(prompt: string): boolean; -/// Возвращает введенное значение типа PNode. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadPNode(prompt: string): PNode; -/// Возвращает введенное значение типа Node. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadNode(prompt: string): Node; -/// Возвращает введенное значение типа integer. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnInteger(prompt: string): integer; -/// Возвращает введенное значение типа real. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnReal(prompt: string): real; -/// Возвращает введенное значение типа char. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnChar(prompt: string): char; -/// Возвращает введенное значение типа string. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnString(prompt: string): string; -/// Возвращает введенное значение типа boolean. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnBoolean(prompt: string): boolean; -/// Возвращает введенное значение типа PNode. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnPNode(prompt: string): PNode; -/// Возвращает введенное значение типа Node. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnNode(prompt: string): Node; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == procedure GetR(var param: real); procedure GetN(var param: integer); @@ -206,9 +206,9 @@ procedure Put(param: boolean); procedure Put(param: PNode); procedure Put(param: Node); -//Ввод Ñ�тих данных не поддерживаетÑ�Ñ� +//Ââîä ýòèõ äàííûõ íå ïîääåðæèâàåòñÿ ///- read(a,b,...) -/// Вводит значениÑ� a,b,... из окна Ñ�лектронного задачника +/// Ââîäèò çíà÷åíèÿ a,b,... èç îêíà ýëåêòðîííîãî çàäà÷íèêà procedure read(var x: byte); ///-- procedure read(var x: shortint); @@ -246,20 +246,20 @@ procedure Readln; procedure Print(params args: array of object); procedure Println(params args: array of object); -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == procedure Print(s: string); procedure Println(s: string); -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == -/// ОÑ�вобождает памÑ�ть, выделенную динамичеÑ�ки, на которую указывает p +/// Îñâîáîæäàåò ïàìÿòü, âûäåëåííóþ äèíàìè÷åñêè, íà êîòîðóþ óêàçûâàåò p procedure Dispose(p: pointer); -// ФиктивнаÑ� пуÑ�таÑ� процедура - длÑ� Intellisense -// Ð�ет, нельзÑ� пользоватьÑ�Ñ� - закрываютÑ�Ñ� процедуры write Ñ�иÑ�темного модулÑ� +// Ôèêòèâíàÿ ïóñòàÿ ïðîöåäóðà - äëÿ Intellisense +// Íåò, íåëüçÿ ïîëüçîâàòüñÿ - çàêðûâàþòñÿ ïðîöåäóðû write ñèñòåìíîãî ìîäóëÿ ///- write(a,b,...) -/// Выводит значениÑ� a,b,... в окно Ñ�лектронного задачника +/// Âûâîäèò çíà÷åíèÿ a,b,... â îêíî ýëåêòðîííîãî çàäà÷íèêà //procedure write; ///-- @@ -267,162 +267,162 @@ procedure __InitModule__; ///-- procedure __FinalizeModule__; -// == ВерÑ�иÑ� 1.3. ДополнениÑ� == +// == Âåðñèÿ 1.3. Äîïîëíåíèÿ == -/// Выводит Ñ�троку S в разделе отладки окна задачника +/// Âûâîäèò ñòðîêó S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(S: string; A: integer; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(S: string; A: real; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string; A: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string; A: real); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(A: integer; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(A: real; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(A: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(A: real); -/// ВыполнÑ�ет переход на новую Ñ�кранную Ñ�троку -/// в разделе отладки окна задачника +/// Âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó +/// â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure ShowLine; -/// Выводит Ñ�троку S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ñòðîêó S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода данных выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà äàííûõ âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: integer; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода данных выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà äàííûõ âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: real; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: real); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода чиÑ�ла выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà ÷èñëà âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: integer; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода чиÑ�ла выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà ÷èñëà âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: real; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: real); -/// Ð�аÑ�траивает формат вывода вещеÑ�твенных чиÑ�ел в разделе отладки -/// окна задачника. ЕÑ�ли N > 0, то чиÑ�ло выводитÑ�Ñ� в формате -/// Ñ� фикÑ�ированной точкой и N дробными знаками. ЕÑ�ли N = 0, -/// то чиÑ�ло выводитÑ�Ñ� в Ñ�кÑ�поненциальном формате, чиÑ�ло дробных -/// знаков определÑ�етÑ�Ñ� шириной полÑ� вывода +/// Íàñòðàèâàåò ôîðìàò âûâîäà âåùåñòâåííûõ ÷èñåë â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà. Åñëè N > 0, òî ÷èñëî âûâîäèòñÿ â ôîðìàòå +/// ñ ôèêñèðîâàííîé òî÷êîé è N äðîáíûìè çíàêàìè. Åñëè N = 0, +/// òî ÷èñëî âûâîäèòñÿ â ýêñïîíåíöèàëüíîì ôîðìàòå, ÷èñëî äðîáíûõ +/// çíàêîâ îïðåäåëÿåòñÿ øèðèíîé ïîëÿ âûâîäà procedure SetPrecision(N: integer); -/// ОбеÑ�печивает автоматичеÑ�кое Ñ�крытие вÑ�ех разделов -/// окна задачника, кроме раздела отладки +/// Îáåñïå÷èâàåò àâòîìàòè÷åñêîå ñêðûòèå âñåõ ðàçäåëîâ +/// îêíà çàäà÷íèêà, êðîìå ðàçäåëà îòëàäêè procedure HideTask; -// == Конец дополнений к верÑ�ии 1.3 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 1.3 == -// == ВерÑ�иÑ� 4.14. ДополнениÑ� == +// == Âåðñèÿ 4.14. Äîïîëíåíèÿ == -/// Вводит n целых чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде маÑ�Ñ�ива +/// Ââîäèò n öåëûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ìàññèâà function ReadArrInteger(n: integer): array of integer; -/// Вводит n вещеÑ�твенных чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде маÑ�Ñ�ива +/// Ââîäèò n âåùåñòâåííûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ìàññèâà function ReadArrReal(n: integer): array of real; -/// Вводит n Ñ�трок -/// и возвращает введенные Ñ�троки в виде маÑ�Ñ�ива +/// Ââîäèò n ñòðîê +/// è âîçâðàùàåò ââåäåííûå ñòðîêè â âèäå ìàññèâà function ReadArrString(n: integer): array of string; -/// Вводит n целых чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n öåëûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqInteger(n: integer): sequence of integer; -/// Вводит n вещеÑ�твенных чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n âåùåñòâåííûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqReal(n: integer): sequence of real; -/// Вводит n Ñ�трок -/// и возвращает введенные Ñ�троки в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n ñòðîê +/// è âîçâðàùàåò ââåäåííûå ñòðîêè â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqString(n: integer): sequence of string; -/// Вводит размер набора целых чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà öåëûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqInteger(): sequence of integer; -/// Вводит размер набора вещеÑ�твенных чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà âåùåñòâåííûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqReal(): sequence of real; -/// Вводит размер набора Ñ�трок и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà ñòðîê è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqString(): sequence of string; -/// Вводит размер набора целых чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà öåëûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrInteger(): array of integer; -/// Вводит размер набора вещеÑ�твенных чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà âåùåñòâåííûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrReal(): array of real; -/// Вводит размер набора Ñ�трок и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà ñòðîê è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrString(): array of string; -/// Вводит целую матрицу размера m на n по Ñ�трокам +/// Ââîäèò öåëóþ ìàòðèöó ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrInteger(m,n: integer): array [,] of integer; -/// Вводит размеры матрицы и затем целую матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì öåëóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrInteger(): array [,] of integer; -/// Вводит вещеÑ�твенную матрицу размера m на n по Ñ�трокам +/// Ââîäèò âåùåñòâåííóþ ìàòðèöó ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrReal(m,n: integer): array [,] of real; -/// Вводит размеры матрицы и затем вещеÑ�твенную матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì âåùåñòâåííóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrReal(): array [,] of real; -/// Вводит матрицу из Ñ�трок размера m на n по Ñ�трокам +/// Ââîäèò ìàòðèöó èç ñòðîê ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrString(m,n: integer): array [,] of string; -/// Вводит размеры матрицы и затем Ñ�троковую матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì ñòðîêîâóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrString(): array [,] of string; procedure ReadMatr(var m, n: integer; var a: array [,] of integer); @@ -467,7 +467,7 @@ procedure WriteMatr(a: array of array of T); procedure WriteMatr(a: List>); -// == ДополнениÑ� 2016.07 +// == Äîïîëíåíèÿ 2016.07 procedure PrintMatr(a: array[,] of T); @@ -475,16 +475,16 @@ procedure PrintMatr(a: array of array of T); procedure PrintMatr(a: List>); -// == Конец дополнений 2016.07 +// == Êîíåö äîïîëíåíèé 2016.07 -// == Конец дополнений к верÑ�ии 4.14 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 4.14 == implementation const - NotSupportedReadTypeMessage = 'Ввод данных типа {0} не поддерживаетÑ�Ñ�'; - NotSupportedWriteTypeMessage = 'Вывод данных типа {0} не поддерживаетÑ�Ñ�'; - eMessage = 'Попытка обращениÑ� к объекту Node поÑ�ле вызова его метода Dispose'; + NotSupportedReadTypeMessage = 'Ââîä äàííûõ òèïà {0} íå ïîääåðæèâàåòñÿ'; + NotSupportedWriteTypeMessage = 'Âûâîä äàííûõ òèïà {0} íå ïîääåðæèâàåòñÿ'; + eMessage = 'Ïîïûòêà îáðàùåíèÿ ê îáúåêòó Node ïîñëå âûçîâà åãî ìåòîäà Dispose'; var loadNodes: ArrayList; @@ -922,7 +922,7 @@ begin end; // ----------------------------------------------------- -// Функции Get +// Ôóíêöèè Get // ----------------------------------------------------- function GetInt: integer; var val:integer; @@ -958,7 +958,7 @@ end; function GetString: string; var val: System.Text.StringBuilder; begin - val := new System.Text.StringBuilder(200);//TODO почему 200? + val := new System.Text.StringBuilder(200);//TODO ïî÷åìó 200? _gets(val); result := val.ToString; end; @@ -989,8 +989,8 @@ var p: IntPtr; sNode: InternalNode; begin - //raise new NotSupportedException('Работа Ñ� динамичеÑ�кими Ñ�труктурами задачника PT4 не поддерживаетÑ�Ñ� в Ñ�той верÑ�ии компилÑ�тора. ИÑ�правление ошибки планируетÑ�Ñ� в Ñ�ледуйщей верÑ�ии'); - //result := new PT4Node(sNode, p);// fixme здеÑ�ÑŒ ошибка генерации кода! + //raise new NotSupportedException('Ðàáîòà ñ äèíàìè÷åñêèìè ñòðóêòóðàìè çàäà÷íèêà PT4 íå ïîääåðæèâàåòñÿ â ýòîé âåðñèè êîìïèëÿòîðà. Èñïðàâëåíèå îøèáêè ïëàíèðóåòñÿ â ñëåäóéùåé âåðñèè'); + //result := new PT4Node(sNode, p);// fixme çäåñü îøèáêà ãåíåðàöèè êîäà! p := IntPtr.Zero; sNode.Data := 0; sNode.Next := IntPtr.Zero; @@ -1089,7 +1089,7 @@ begin Result := GetNode; end; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == function ReadInteger(prompt: string): integer; begin @@ -1161,10 +1161,10 @@ begin Result := GetNode; end; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == // ----------------------------------------------------- -// Процедуры Put +// Ïðîöåäóðû Put // ----------------------------------------------------- procedure PutInt(val: integer); begin @@ -1213,7 +1213,7 @@ begin end; // ----------------------------------------------------- -// ГенерациÑ� иÑ�ключений +// Ãåíåðàöèÿ èñêëþ÷åíèé // ----------------------------------------------------- procedure RaisePTAndCheckPT(e: Exception); begin @@ -1338,7 +1338,7 @@ begin Print(args); end; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == procedure Print(s: string); begin @@ -1350,7 +1350,7 @@ begin write(s); end; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == {procedure write; begin @@ -1423,7 +1423,7 @@ begin if InfoT=0 then Console.WriteLine(InfoS); FreePT; - // == Ð�ачало дополнений к верÑ�ии 4.13 == + // == Íà÷àëî äîïîëíåíèé ê âåðñèè 4.13 == var fpt := FinishPT; if fpt = 1 then exit; var asm := System.Reflection.Assembly.GetExecutingAssembly; @@ -1432,6 +1432,15 @@ begin var prg := asm.GetType(nm+'.Program'); var solveproc := prg.GetMethod('$Main'); var initproc := prg.GetMethod('$_InitVariables_'); + if (solveproc = nil) or (initproc = nil) then + foreach var prg0 in asm.GetTypes() do + begin + prg := prg0; + solveproc := prg0.GetMethod('$Main'); + initproc := prg0.GetMethod('$_InitVariables_'); + if (solveproc <> nil) and (initproc <> nil) then + break; + end; var examunit := asm.GetType('PT4Exam.PT4Exam'); var finexamproc: System.Reflection.MethodInfo := nil; if examunit <> nil then @@ -1441,7 +1450,7 @@ begin begin StartPT(512); try - foreach var f in prg.GetFields do + foreach var f in prg.GetFields() do if not f.Name.StartsWith('$') then try f.SetValue(nil, nil); @@ -1452,11 +1461,7 @@ begin solveproc.Invoke(nil,nil); except on e: Exception do - begin - //if e.InnerException<>nil then - RaisePT('HHH', 'ggg'); - //RaisePT(e.InnerException.GetType.ToString, e.InnerException.Message); - end; + RaisePT(e.InnerException.GetType.ToString, e.InnerException.Message); end; if finexamproc <> nil then finexamproc.Invoke(nil,nil); @@ -1465,10 +1470,10 @@ begin inc(i); fpt := FinishPT; end; - // == Конец дополнений к верÑ�ии 4.13 == + // == Êîíåö äîïîëíåíèé ê âåðñèè 4.13 == end; -// == ВерÑ�иÑ� 1.3. ДополнениÑ� == +// == Âåðñèÿ 1.3. Äîïîëíåíèÿ == var D: integer := 2; @@ -1590,9 +1595,9 @@ begin D := N; end; -// == Конец дополнений к верÑ�ии 1.3 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 1.3 == -// == ВерÑ�иÑ� 4.14. ДополнениÑ� == +// == Âåðñèÿ 4.14. Äîïîëíåíèÿ == function ReadSeqInteger(): sequence of integer; begin @@ -1864,7 +1869,7 @@ begin write(a[i][j]); end; -/// Выводит размер и Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ðàçìåð è ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure WriteAll(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1873,7 +1878,7 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure Write(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1881,14 +1886,14 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure Write(self: array of T); extensionmethod; begin for var i:=0 to self.Length-1 do PT4.Put(self[i]); end; -/// Выводит Ñ�лементы матрицы +/// Âûâîäèò ýëåìåíòû ìàòðèöû procedure Write(self: array [,] of T); extensionmethod; begin for var i:=0 to self.GetLength(0)-1 do @@ -1896,7 +1901,7 @@ begin PT4.Put(self[i,j]); end; -// == ДополнениÑ� 2016.07 +// == Äîïîëíåíèÿ 2016.07 procedure PrintMatr(a: array[,] of T); begin @@ -1919,7 +1924,7 @@ begin write(a[i][j]); end; -/// Выводит размер и Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ðàçìåð è ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure PrintAll(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1928,7 +1933,7 @@ begin PT4.Put(e); end; -/// Выводит размер и Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ðàçìåð è ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure PrintAll(self: array of T); extensionmethod; begin PT4.Put(self.Length); @@ -1936,7 +1941,7 @@ begin PT4.Put(self[i]); end; -/// Выводит размер и Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ðàçìåð è ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure WriteAll(self: array of T); extensionmethod; begin PT4.Put(self.Length); @@ -1944,7 +1949,7 @@ begin PT4.Put(self[i]); end; -/// Выводит Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure Writeln(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1952,14 +1957,14 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure Writeln(self: array of T); extensionmethod; begin for var i:=0 to self.Length-1 do PT4.Put(self[i]); end; -/// Выводит Ñ�лементы матрицы +/// Âûâîäèò ýëåìåíòû ìàòðèöû procedure Writeln(self: array [,] of T); extensionmethod; begin for var i:=0 to self.GetLength(0)-1 do @@ -1967,13 +1972,13 @@ begin PT4.Put(self[i,j]); end; -// == Конец дополнений 2016.07 +// == Êîíåö äîïîëíåíèé 2016.07 -/// Выводит в разделе отладки окна задачника -/// комментарий cmt, размер поÑ�ледовательноÑ�ти и значениÑ�, -/// полученные из Ñ�лементов поÑ�ледовательноÑ�ти -/// Ñ� помощью указанного лÑ�мбда-выражениÑ� +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// êîììåíòàðèé cmt, ðàçìåð ïîñëåäîâàòåëüíîñòè è çíà÷åíèÿ, +/// ïîëó÷åííûå èç ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè +/// ñ ïîìîùüþ óêàçàííîãî ëÿìáäà-âûðàæåíèÿ function Show(self: sequence of TSource; cmt: string; selector: System.Func): sequence of TSource; extensionmethod; begin @@ -1986,17 +1991,17 @@ begin result := self; end; -/// Выводит в разделе отладки окна задачника -/// размер поÑ�ледовательноÑ�ти и значениÑ�, -/// полученные из Ñ�лементов поÑ�ледовательноÑ�ти -/// Ñ� помощью указанного лÑ�мбда-выражениÑ� +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// ðàçìåð ïîñëåäîâàòåëüíîñòè è çíà÷åíèÿ, +/// ïîëó÷åííûå èç ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè +/// ñ ïîìîùüþ óêàçàííîãî ëÿìáäà-âûðàæåíèÿ function Show(Self: sequence of TSource; selector: System.Func): sequence of TSource; extensionmethod; begin result := self.Show('', selector); end; -/// Выводит в разделе отладки окна задачника -/// комментарий cmt, размер поÑ�ледовательноÑ�ти и ее Ñ�лементы +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// êîììåíòàðèé cmt, ðàçìåð ïîñëåäîâàòåëüíîñòè è åå ýëåìåíòû function Show(Self: sequence of TSource; cmt: string): sequence of TSource; extensionmethod; begin result := self; @@ -2015,14 +2020,14 @@ begin end; -/// Выводит в разделе отладки окна задачника -/// размер поÑ�ледовательноÑ�ти и ее Ñ�лементы. +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// ðàçìåð ïîñëåäîâàòåëüíîñòè è åå ýëåìåíòû. function Show(Self: sequence of TSource): sequence of TSource; extensionmethod; begin result := self.Show(''); end; -// == Конец дополнений к верÑ�ии 4.14 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 4.14 == initialization __InitModule; diff --git a/TestSuite/CompilationSamples/PT4Exam.pas b/TestSuite/CompilationSamples/PT4Exam.pas index 0eed7d68a..02de9ad3e 100644 --- a/TestSuite/CompilationSamples/PT4Exam.pas +++ b/TestSuite/CompilationSamples/PT4Exam.pas @@ -1,10 +1,10 @@ -/// Модуль Ñ�лектронного задачника PT for Exam +/// Модуль Ñ�лектронного задачника PT for Exam unit PT4Exam; //------------------------------------------------------------------------------ // Модуль длÑ� подключениÑ� задачника PT for Exam -// ВерÑ�иÑ� 1.1 -// Copyright (c) 2014-2015 М.Э.Ð�брамÑ�н +// ВерÑ�иÑ� 1.2 +// Copyright (c) 2014-2017 М.Э.Ð�брамÑ�н //------------------------------------------------------------------------------ @@ -13,6 +13,30 @@ interface procedure Task(name: string); procedure FinExam; +//1.2 +procedure Show(S: string); +procedure Show(S: string; A: Integer; W: Integer); +procedure Show(S: string; A: Real; W: Integer); +procedure Show(S: string; A: Integer); +procedure Show(S: string; A: Real); +procedure Show(A: Integer; W: Integer); +procedure Show(A: Real; W: Integer); +procedure Show(A: Integer); +procedure Show(A: Real); +procedure ShowLine; +procedure ShowLine(S: string); +procedure ShowLine(S: string; A: Integer; W: Integer); +procedure ShowLine(S: string; A: Real; W: Integer); +procedure ShowLine(S: string; A: Integer); +procedure ShowLine(S: string; A: Real); +procedure ShowLine(A: Integer; W: Integer); +procedure ShowLine(A: Real; W: Integer); +procedure ShowLine(A: Integer); +procedure ShowLine(A: Real); +procedure SetPrecision(N: integer); +procedure HideTask; + + implementation uses @@ -72,6 +96,112 @@ begin NextTask := false; end; +procedure Show(S: string); +begin + PT4.Show(S); +end; + +procedure Show(S: string; A: Integer; W: Integer); +begin + PT4.Show(S, A, W); +end; + +procedure Show(S: string; A: Real; W: Integer); +begin + PT4.Show(S, A, W); +end; + +procedure Show(S: string; A: Integer); +begin + PT4.Show(S, A); +end; + +procedure Show(S: string; A: Real); +begin + PT4.Show(S, A); +end; + +procedure Show(A: Integer; W: Integer); +begin + PT4.Show(A, W); +end; + +procedure Show(A: Real; W: Integer); +begin + PT4.Show(A, W); +end; + +procedure Show(A: Integer); +begin + PT4.Show(A); +end; + +procedure Show(A: Real); +begin + PT4.Show(A); +end; + +procedure ShowLine(S: string); +begin + PT4.ShowLine(S); +end; + +procedure ShowLine; +begin + PT4.ShowLine; +end; + +procedure ShowLine(S: string; A: Integer; W: Integer); +begin + PT4.ShowLine(S, A, W); +end; + +procedure ShowLine(S: string; A: Real; W: Integer); +begin + PT4.ShowLine(S, A, W); +end; + +procedure ShowLine(S: string; A: Integer); +begin + PT4.ShowLine(S, A); +end; + +procedure ShowLine(S: string; A: Real); +begin + PT4.ShowLine(S, A); +end; + +procedure ShowLine(A: Integer; W: Integer); +begin + PT4.ShowLine(A, W); +end; + +procedure ShowLine(A: Real; W: Integer); +begin + PT4.ShowLine(A, W); +end; + +procedure ShowLine(A: Integer); +begin + PT4.ShowLine(A); +end; + +procedure ShowLine(A: Real); +begin + PT4.ShowLine(A); +end; + +procedure HideTask; +begin + PT4.HideTask; +end; + +procedure SetPrecision(N: Integer); +begin + PT4.SetPrecision(N); +end; + + initialization finalization diff --git a/TestSuite/CompilationSamples/ShortFunLambdaProc.pas b/TestSuite/CompilationSamples/ShortFunLambdaProc.pas new file mode 100644 index 000000000..233e6a87c --- /dev/null +++ b/TestSuite/CompilationSamples/ShortFunLambdaProc.pas @@ -0,0 +1,8 @@ +function f: procedure := ()->write(1); + +function f1: integer->integer := x->x; + +begin + f()(); + Print(f1()(2)); +end. \ No newline at end of file diff --git a/bin/Lib/ABCObjects.pas b/bin/Lib/ABCObjects.pas index 643699f00..601ddcbae 100644 --- a/bin/Lib/ABCObjects.pas +++ b/bin/Lib/ABCObjects.pas @@ -912,6 +912,8 @@ begin if oldBounds.IntersectsWith(newBounds) then begin r := GRectangle.Union(oldBounds,newBounds); + //TextOut(0,0,r.ToString); + //r.Width := r.Width + 5; drawRect(r); end else diff --git a/bin/Lib/PABCRtl.dll b/bin/Lib/PABCRtl.dll index 9b4d08d81083980c385a6dfde01ac4b98d568c71..5e80259cfd8f8c5a0ff3c791592a70b941c68456 100644 GIT binary patch literal 554496 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�{^N^D=lHlOeP9;R>9HXpWc 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 literal 552448 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

oH9A4#VM0>$+U}PI)pPF!kGfo;gqRjQl)1A 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 Процедуры длÑ� работы Ñ�о Ñ�тандартными множеÑ�твами # Subroutines for set of T @@ -1715,6 +1696,8 @@ function SSet(params a: array of T): SortedSet; function SSet(a: sequence of T): SortedSet; /// Возвращает Ñ�ловарь пар Ñ�лементов (ключ, значение) function Dict(params pairs: array of KeyValuePair): Dictionary; +/// Возвращает Ñ�ловарь пар Ñ�лементов (ключ, значение) +function Dict(params pairs: array of (TKey, TVal)): Dictionary; /// Возвращает пару Ñ�лементов (ключ, значение) function KV(key: TKey; value: TVal): KeyValuePair; @@ -4257,6 +4240,13 @@ begin Result.Add(pairs[i].Key, pairs[i].Value); end; +function Dict(params pairs: array of (TKey, TVal)): Dictionary; +begin + Result := new Dictionary(); + for var i := 0 to pairs.Length - 1 do + Result.Add(pairs[i][0], pairs[i][1]); +end; + function KV(key: TKey; value: TVal): KeyValuePair; begin Result := new KeyValuePair(key, value); @@ -7069,24 +7059,6 @@ function Cplx(re,im: real) := new Complex(re,im); function CplxFromPolar(magnitude,phase: real) := Complex.FromPolarCoordinates(magnitude,phase); -function Sqrt(c: Complex) := Complex.Sqrt(c); - -function Abs(c: Complex) := Complex.Abs(c); - -function Conjugate(c: Complex) := Complex.Conjugate(c); - -function Cos(c: Complex) := Complex.Cos(c); - -function Exp(c: Complex) := Complex.Exp(c); - -function Log(c: Complex) := Complex.Log(c); - -function Log10(c: Complex) := Complex.Log10(c); - -function Power(c,power: Complex) := Complex.Pow(c,power); - -function Sin(c: Complex) := Complex.Sin(c); - // ----------------------------------------------------- // Dynamic arrays: implementation // ----------------------------------------------------- diff --git a/bin/Lib/PT4.pas b/bin/Lib/PT4.pas index 94f5f79dc..c45298e16 100644 --- a/bin/Lib/PT4.pas +++ b/bin/Lib/PT4.pas @@ -1,15 +1,15 @@ -/// Модуль Ñ�лектронного задачника Programming Taskbook 4 +/// Ìîäóëü ýëåêòðîííîãî çàäà÷íèêà Programming Taskbook 4 unit PT4; //------------------------------------------------------------------------------ -// Модуль длÑ� подключениÑ� задачника Programming Taskbook -// ВерÑ�иÑ� 4.15 +// Ìîäóëü äëÿ ïîäêëþ÷åíèÿ çàäà÷íèêà Programming Taskbook +// Âåðñèÿ 4.15 // Copyright (c) 2006-2008 DarkStar, SSM -// Copyright (c) 2010 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 1.3 -// Copyright (c) 2014-2015 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.13 -// Copyright (c) 2015 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.14 -// Copyright (c) 2016 М.Э.Ð�брамÑ�н, дополнениÑ� к верÑ�ии 4.15 -// Электронный задачник Programming Taskbook Copyright (c)М.Э.Ð�брамÑ�н, 1998-2016 +// Copyright (c) 2010 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 1.3 +// Copyright (c) 2014-2015 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.13 +// Copyright (c) 2015 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.14 +// Copyright (c) 2016 Ì.Ý.Àáðàìÿí, äîïîëíåíèÿ ê âåðñèè 4.15 +// Ýëåêòðîííûé çàäà÷íèê Programming Taskbook Copyright (c)Ì.Ý.Àáðàìÿí, 1998-2017 //------------------------------------------------------------------------------ {$apptype windows} @@ -21,9 +21,9 @@ uses System, System.Collections, System.Runtime.InteropServices; type - /// Тип указателÑ� на узел Ñ�пиÑ�ка + /// Òèï óêàçàòåëÿ íà óçåë ñïèñêà PNode = ^TNode; - /// Тип узла Ñ�пиÑ�ка + /// Òèï óçëà ñïèñêà TNode = record Data: integer; Next,Prev,Left,Right,Parent: PNode; @@ -79,107 +79,107 @@ type property Data: integer read getData write SetData; end; -/// ВывеÑ�ти формулировку заданиÑ� +/// Âûâåñòè ôîðìóëèðîâêó çàäàíèÿ procedure Task(name: string); -/// ВвеÑ�ти и вернуть значение целого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå öåëîãî òèïà function GetInt: integer; -/// ВвеÑ�ти и вернуть значение целого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå öåëîãî òèïà function GetInteger: integer; -/// ВвеÑ�ти и вернуть значение вещеÑ�твенного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå âåùåñòâåííîãî òèïà function GetReal: real; -/// ВвеÑ�ти и вернуть значение вещеÑ�твенного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå âåùåñòâåííîãî òèïà function GetDouble: real; -/// ВвеÑ�ти и вернуть значение Ñ�имвольного типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ñèìâîëüíîãî òèïà function GetChar: char; -/// ВвеÑ�ти и вернуть значение Ñ�трокового типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ñòðîêîâîãî òèïà function GetString: string; -/// ВвеÑ�ти и вернуть значение логичеÑ�кого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ëîãè÷åñêîãî òèïà function GetBool: boolean; -/// ВвеÑ�ти и вернуть значение логичеÑ�кого типа +/// Ââåñòè è âåðíóòü çíà÷åíèå ëîãè÷åñêîãî òèïà function GetBoolean: boolean; -/// ВвеÑ�ти и вернуть значение типа Node +/// Ââåñòè è âåðíóòü çíà÷åíèå òèïà Node function GetNode: Node; -/// ВвеÑ�ти и вернуть значение типа PNode +/// Ââåñòè è âåðíóòü çíà÷åíèå òèïà PNode function GetPNode: PNode; -/// Возвращает введенное значение типа integer +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer function ReadInteger: integer; -/// Возвращает введенное значение типа real +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real function ReadReal: real; -/// Возвращает введенное значение типа char +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char function ReadChar: char; -/// Возвращает введенное значение типа string +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string function ReadString: string; -/// Возвращает введенное значение типа boolean +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean function ReadBoolean: boolean; -/// Возвращает введенное значение типа PNode +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode function ReadPNode: PNode; -/// Возвращает введенное значение типа Node +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node function ReadNode: Node; -/// Возвращает введенное значение типа integer +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer function ReadlnInteger: integer; -/// Возвращает введенное значение типа real +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real function ReadlnReal: real; -/// Возвращает введенное значение типа char +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char function ReadlnChar: char; -/// Возвращает введенное значение типа string +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string function ReadlnString: string; -/// Возвращает введенное значение типа boolean +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean function ReadlnBoolean: boolean; -/// Возвращает введенное значение типа PNode +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode function ReadlnPNode: PNode; -/// Возвращает введенное значение типа Node +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node function ReadlnNode: Node; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == -/// Возвращает введенное значение типа integer. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadInteger(prompt: string): integer; -/// Возвращает введенное значение типа real. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadReal(prompt: string): real; -/// Возвращает введенное значение типа char. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadChar(prompt: string): char; -/// Возвращает введенное значение типа string. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadString(prompt: string): string; -/// Возвращает введенное значение типа boolean. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadBoolean(prompt: string): boolean; -/// Возвращает введенное значение типа PNode. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadPNode(prompt: string): PNode; -/// Возвращает введенное значение типа Node. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadNode(prompt: string): Node; -/// Возвращает введенное значение типа integer. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà integer. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnInteger(prompt: string): integer; -/// Возвращает введенное значение типа real. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà real. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnReal(prompt: string): real; -/// Возвращает введенное значение типа char. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà char. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnChar(prompt: string): char; -/// Возвращает введенное значение типа string. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà string. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnString(prompt: string): string; -/// Возвращает введенное значение типа boolean. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà boolean. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnBoolean(prompt: string): boolean; -/// Возвращает введенное значение типа PNode. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà PNode. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnPNode(prompt: string): PNode; -/// Возвращает введенное значение типа Node. -/// Строковое приглашение prompt игнорируетÑ�Ñ� +/// Âîçâðàùàåò ââåäåííîå çíà÷åíèå òèïà Node. +/// Ñòðîêîâîå ïðèãëàøåíèå prompt èãíîðèðóåòñÿ function ReadlnNode(prompt: string): Node; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == procedure GetR(var param: real); procedure GetN(var param: integer); @@ -206,9 +206,9 @@ procedure Put(param: boolean); procedure Put(param: PNode); procedure Put(param: Node); -//Ввод Ñ�тих данных не поддерживаетÑ�Ñ� +//Ââîä ýòèõ äàííûõ íå ïîääåðæèâàåòñÿ ///- read(a,b,...) -/// Вводит значениÑ� a,b,... из окна Ñ�лектронного задачника +/// Ââîäèò çíà÷åíèÿ a,b,... èç îêíà ýëåêòðîííîãî çàäà÷íèêà procedure read(var x: byte); ///-- procedure read(var x: shortint); @@ -246,20 +246,20 @@ procedure Readln; procedure Print(params args: array of object); procedure Println(params args: array of object); -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == procedure Print(s: string); procedure Println(s: string); -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == -/// ОÑ�вобождает памÑ�ть, выделенную динамичеÑ�ки, на которую указывает p +/// Îñâîáîæäàåò ïàìÿòü, âûäåëåííóþ äèíàìè÷åñêè, íà êîòîðóþ óêàçûâàåò p procedure Dispose(p: pointer); -// ФиктивнаÑ� пуÑ�таÑ� процедура - длÑ� Intellisense -// Ð�ет, нельзÑ� пользоватьÑ�Ñ� - закрываютÑ�Ñ� процедуры write Ñ�иÑ�темного модулÑ� +// Ôèêòèâíàÿ ïóñòàÿ ïðîöåäóðà - äëÿ Intellisense +// Íåò, íåëüçÿ ïîëüçîâàòüñÿ - çàêðûâàþòñÿ ïðîöåäóðû write ñèñòåìíîãî ìîäóëÿ ///- write(a,b,...) -/// Выводит значениÑ� a,b,... в окно Ñ�лектронного задачника +/// Âûâîäèò çíà÷åíèÿ a,b,... â îêíî ýëåêòðîííîãî çàäà÷íèêà //procedure write; ///-- @@ -267,162 +267,162 @@ procedure __InitModule__; ///-- procedure __FinalizeModule__; -// == ВерÑ�иÑ� 1.3. ДополнениÑ� == +// == Âåðñèÿ 1.3. Äîïîëíåíèÿ == -/// Выводит Ñ�троку S в разделе отладки окна задачника +/// Âûâîäèò ñòðîêó S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(S: string; A: integer; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(S: string; A: real; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string; A: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(S: string; A: real); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(A: integer; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé procedure Show(A: real; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(A: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure Show(A: real); -/// ВыполнÑ�ет переход на новую Ñ�кранную Ñ�троку -/// в разделе отладки окна задачника +/// Âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó +/// â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà procedure ShowLine; -/// Выводит Ñ�троку S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ñòðîêó S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода данных выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà äàííûõ âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: integer; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки -/// окна задачника; длÑ� вывода чиÑ�ла отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода данных выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà; äëÿ âûâîäà ÷èñëà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà äàííûõ âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: real; W: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: integer); -/// Выводит чиÑ�ло A Ñ� комментарием S в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A ñ êîììåíòàðèåì S â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(S: string; A: real); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода чиÑ�ла выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà ÷èñëà âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: integer; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника; -/// длÑ� вывода отводитÑ�Ñ� W Ñ�кранных позиций. -/// ПоÑ�ле вывода чиÑ�ла выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà; +/// äëÿ âûâîäà îòâîäèòñÿ W ýêðàííûõ ïîçèöèé. +/// Ïîñëå âûâîäà ÷èñëà âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: real; W: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: integer); -/// Выводит чиÑ�ло A в разделе отладки окна задачника, -/// поÑ�ле чего выполнÑ�ет переход на новую Ñ�кранную Ñ�троку +/// Âûâîäèò ÷èñëî A â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà, +/// ïîñëå ÷åãî âûïîëíÿåò ïåðåõîä íà íîâóþ ýêðàííóþ ñòðîêó procedure ShowLine(A: real); -/// Ð�аÑ�траивает формат вывода вещеÑ�твенных чиÑ�ел в разделе отладки -/// окна задачника. ЕÑ�ли N > 0, то чиÑ�ло выводитÑ�Ñ� в формате -/// Ñ� фикÑ�ированной точкой и N дробными знаками. ЕÑ�ли N = 0, -/// то чиÑ�ло выводитÑ�Ñ� в Ñ�кÑ�поненциальном формате, чиÑ�ло дробных -/// знаков определÑ�етÑ�Ñ� шириной полÑ� вывода +/// Íàñòðàèâàåò ôîðìàò âûâîäà âåùåñòâåííûõ ÷èñåë â ðàçäåëå îòëàäêè +/// îêíà çàäà÷íèêà. Åñëè N > 0, òî ÷èñëî âûâîäèòñÿ â ôîðìàòå +/// ñ ôèêñèðîâàííîé òî÷êîé è N äðîáíûìè çíàêàìè. Åñëè N = 0, +/// òî ÷èñëî âûâîäèòñÿ â ýêñïîíåíöèàëüíîì ôîðìàòå, ÷èñëî äðîáíûõ +/// çíàêîâ îïðåäåëÿåòñÿ øèðèíîé ïîëÿ âûâîäà procedure SetPrecision(N: integer); -/// ОбеÑ�печивает автоматичеÑ�кое Ñ�крытие вÑ�ех разделов -/// окна задачника, кроме раздела отладки +/// Îáåñïå÷èâàåò àâòîìàòè÷åñêîå ñêðûòèå âñåõ ðàçäåëîâ +/// îêíà çàäà÷íèêà, êðîìå ðàçäåëà îòëàäêè procedure HideTask; -// == Конец дополнений к верÑ�ии 1.3 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 1.3 == -// == ВерÑ�иÑ� 4.14. ДополнениÑ� == +// == Âåðñèÿ 4.14. Äîïîëíåíèÿ == -/// Вводит n целых чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде маÑ�Ñ�ива +/// Ââîäèò n öåëûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ìàññèâà function ReadArrInteger(n: integer): array of integer; -/// Вводит n вещеÑ�твенных чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде маÑ�Ñ�ива +/// Ââîäèò n âåùåñòâåííûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ìàññèâà function ReadArrReal(n: integer): array of real; -/// Вводит n Ñ�трок -/// и возвращает введенные Ñ�троки в виде маÑ�Ñ�ива +/// Ââîäèò n ñòðîê +/// è âîçâðàùàåò ââåäåííûå ñòðîêè â âèäå ìàññèâà function ReadArrString(n: integer): array of string; -/// Вводит n целых чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n öåëûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqInteger(n: integer): sequence of integer; -/// Вводит n вещеÑ�твенных чиÑ�ел -/// и возвращает введенные чиÑ�ла в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n âåùåñòâåííûõ ÷èñåë +/// è âîçâðàùàåò ââåäåííûå ÷èñëà â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqReal(n: integer): sequence of real; -/// Вводит n Ñ�трок -/// и возвращает введенные Ñ�троки в виде поÑ�ледовательноÑ�ти +/// Ââîäèò n ñòðîê +/// è âîçâðàùàåò ââåäåííûå ñòðîêè â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqString(n: integer): sequence of string; -/// Вводит размер набора целых чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà öåëûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqInteger(): sequence of integer; -/// Вводит размер набора вещеÑ�твенных чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà âåùåñòâåííûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqReal(): sequence of real; -/// Вводит размер набора Ñ�трок и его Ñ�лементы -/// и возвращает введенный набор в виде поÑ�ледовательноÑ�ти +/// Ââîäèò ðàçìåð íàáîðà ñòðîê è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ïîñëåäîâàòåëüíîñòè function ReadSeqString(): sequence of string; -/// Вводит размер набора целых чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà öåëûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrInteger(): array of integer; -/// Вводит размер набора вещеÑ�твенных чиÑ�ел и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà âåùåñòâåííûõ ÷èñåë è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrReal(): array of real; -/// Вводит размер набора Ñ�трок и его Ñ�лементы -/// и возвращает введенный набор в виде маÑ�Ñ�ива +/// Ââîäèò ðàçìåð íàáîðà ñòðîê è åãî ýëåìåíòû +/// è âîçâðàùàåò ââåäåííûé íàáîð â âèäå ìàññèâà function ReadArrString(): array of string; -/// Вводит целую матрицу размера m на n по Ñ�трокам +/// Ââîäèò öåëóþ ìàòðèöó ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrInteger(m,n: integer): array [,] of integer; -/// Вводит размеры матрицы и затем целую матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì öåëóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrInteger(): array [,] of integer; -/// Вводит вещеÑ�твенную матрицу размера m на n по Ñ�трокам +/// Ââîäèò âåùåñòâåííóþ ìàòðèöó ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrReal(m,n: integer): array [,] of real; -/// Вводит размеры матрицы и затем вещеÑ�твенную матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì âåùåñòâåííóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrReal(): array [,] of real; -/// Вводит матрицу из Ñ�трок размера m на n по Ñ�трокам +/// Ââîäèò ìàòðèöó èç ñòðîê ðàçìåðà m íà n ïî ñòðîêàì function ReadMatrString(m,n: integer): array [,] of string; -/// Вводит размеры матрицы и затем Ñ�троковую матрицу указанных размеров по Ñ�трокам +/// Ââîäèò ðàçìåðû ìàòðèöû è çàòåì ñòðîêîâóþ ìàòðèöó óêàçàííûõ ðàçìåðîâ ïî ñòðîêàì function ReadMatrString(): array [,] of string; procedure ReadMatr(var m, n: integer; var a: array [,] of integer); @@ -467,7 +467,7 @@ procedure WriteMatr(a: array of array of T); procedure WriteMatr(a: List>); -// == ДополнениÑ� 2016.07 +// == Äîïîëíåíèÿ 2016.07 procedure PrintMatr(a: array[,] of T); @@ -475,16 +475,16 @@ procedure PrintMatr(a: array of array of T); procedure PrintMatr(a: List>); -// == Конец дополнений 2016.07 +// == Êîíåö äîïîëíåíèé 2016.07 -// == Конец дополнений к верÑ�ии 4.14 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 4.14 == implementation const - NotSupportedReadTypeMessage = 'Ввод данных типа {0} не поддерживаетÑ�Ñ�'; - NotSupportedWriteTypeMessage = 'Вывод данных типа {0} не поддерживаетÑ�Ñ�'; - eMessage = 'Попытка обращениÑ� к объекту Node поÑ�ле вызова его метода Dispose'; + NotSupportedReadTypeMessage = 'Ââîä äàííûõ òèïà {0} íå ïîääåðæèâàåòñÿ'; + NotSupportedWriteTypeMessage = 'Âûâîä äàííûõ òèïà {0} íå ïîääåðæèâàåòñÿ'; + eMessage = 'Ïîïûòêà îáðàùåíèÿ ê îáúåêòó Node ïîñëå âûçîâà åãî ìåòîäà Dispose'; var loadNodes: ArrayList; @@ -922,7 +922,7 @@ begin end; // ----------------------------------------------------- -// Функции Get +// Ôóíêöèè Get // ----------------------------------------------------- function GetInt: integer; var val:integer; @@ -958,7 +958,7 @@ end; function GetString: string; var val: System.Text.StringBuilder; begin - val := new System.Text.StringBuilder(200);//TODO почему 200? + val := new System.Text.StringBuilder(200);//TODO ïî÷åìó 200? _gets(val); result := val.ToString; end; @@ -989,8 +989,8 @@ var p: IntPtr; sNode: InternalNode; begin - //raise new NotSupportedException('Работа Ñ� динамичеÑ�кими Ñ�труктурами задачника PT4 не поддерживаетÑ�Ñ� в Ñ�той верÑ�ии компилÑ�тора. ИÑ�правление ошибки планируетÑ�Ñ� в Ñ�ледуйщей верÑ�ии'); - //result := new PT4Node(sNode, p);// fixme здеÑ�ÑŒ ошибка генерации кода! + //raise new NotSupportedException('Ðàáîòà ñ äèíàìè÷åñêèìè ñòðóêòóðàìè çàäà÷íèêà PT4 íå ïîääåðæèâàåòñÿ â ýòîé âåðñèè êîìïèëÿòîðà. Èñïðàâëåíèå îøèáêè ïëàíèðóåòñÿ â ñëåäóéùåé âåðñèè'); + //result := new PT4Node(sNode, p);// fixme çäåñü îøèáêà ãåíåðàöèè êîäà! p := IntPtr.Zero; sNode.Data := 0; sNode.Next := IntPtr.Zero; @@ -1089,7 +1089,7 @@ begin Result := GetNode; end; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == function ReadInteger(prompt: string): integer; begin @@ -1161,10 +1161,10 @@ begin Result := GetNode; end; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == // ----------------------------------------------------- -// Процедуры Put +// Ïðîöåäóðû Put // ----------------------------------------------------- procedure PutInt(val: integer); begin @@ -1213,7 +1213,7 @@ begin end; // ----------------------------------------------------- -// ГенерациÑ� иÑ�ключений +// Ãåíåðàöèÿ èñêëþ÷åíèé // ----------------------------------------------------- procedure RaisePTAndCheckPT(e: Exception); begin @@ -1338,7 +1338,7 @@ begin Print(args); end; -// == ВерÑ�иÑ� 4.15. ДополнениÑ� == +// == Âåðñèÿ 4.15. Äîïîëíåíèÿ == procedure Print(s: string); begin @@ -1350,7 +1350,7 @@ begin write(s); end; -// == ВерÑ�иÑ� 4.15. Конец дополнений == +// == Âåðñèÿ 4.15. Êîíåö äîïîëíåíèé == {procedure write; begin @@ -1423,7 +1423,7 @@ begin if InfoT=0 then Console.WriteLine(InfoS); FreePT; - // == Ð�ачало дополнений к верÑ�ии 4.13 == + // == Íà÷àëî äîïîëíåíèé ê âåðñèè 4.13 == var fpt := FinishPT; if fpt = 1 then exit; var asm := System.Reflection.Assembly.GetExecutingAssembly; @@ -1432,6 +1432,15 @@ begin var prg := asm.GetType(nm+'.Program'); var solveproc := prg.GetMethod('$Main'); var initproc := prg.GetMethod('$_InitVariables_'); + if (solveproc = nil) or (initproc = nil) then + foreach var prg0 in asm.GetTypes() do + begin + prg := prg0; + solveproc := prg0.GetMethod('$Main'); + initproc := prg0.GetMethod('$_InitVariables_'); + if (solveproc <> nil) and (initproc <> nil) then + break; + end; var examunit := asm.GetType('PT4Exam.PT4Exam'); var finexamproc: System.Reflection.MethodInfo := nil; if examunit <> nil then @@ -1441,7 +1450,7 @@ begin begin StartPT(512); try - foreach var f in prg.GetFields do + foreach var f in prg.GetFields() do if not f.Name.StartsWith('$') then try f.SetValue(nil, nil); @@ -1452,11 +1461,7 @@ begin solveproc.Invoke(nil,nil); except on e: Exception do - begin - //if e.InnerException<>nil then - RaisePT('HHH', 'ggg'); - //RaisePT(e.InnerException.GetType.ToString, e.InnerException.Message); - end; + RaisePT(e.InnerException.GetType.ToString, e.InnerException.Message); end; if finexamproc <> nil then finexamproc.Invoke(nil,nil); @@ -1465,10 +1470,10 @@ begin inc(i); fpt := FinishPT; end; - // == Конец дополнений к верÑ�ии 4.13 == + // == Êîíåö äîïîëíåíèé ê âåðñèè 4.13 == end; -// == ВерÑ�иÑ� 1.3. ДополнениÑ� == +// == Âåðñèÿ 1.3. Äîïîëíåíèÿ == var D: integer := 2; @@ -1590,9 +1595,9 @@ begin D := N; end; -// == Конец дополнений к верÑ�ии 1.3 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 1.3 == -// == ВерÑ�иÑ� 4.14. ДополнениÑ� == +// == Âåðñèÿ 4.14. Äîïîëíåíèÿ == function ReadSeqInteger(): sequence of integer; begin @@ -1864,7 +1869,7 @@ begin write(a[i][j]); end; -/// Выводит размер и Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ðàçìåð è ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure WriteAll(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1873,7 +1878,7 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure Write(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1881,14 +1886,14 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure Write(self: array of T); extensionmethod; begin for var i:=0 to self.Length-1 do PT4.Put(self[i]); end; -/// Выводит Ñ�лементы матрицы +/// Âûâîäèò ýëåìåíòû ìàòðèöû procedure Write(self: array [,] of T); extensionmethod; begin for var i:=0 to self.GetLength(0)-1 do @@ -1896,7 +1901,7 @@ begin PT4.Put(self[i,j]); end; -// == ДополнениÑ� 2016.07 +// == Äîïîëíåíèÿ 2016.07 procedure PrintMatr(a: array[,] of T); begin @@ -1919,7 +1924,7 @@ begin write(a[i][j]); end; -/// Выводит размер и Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ðàçìåð è ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure PrintAll(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1928,7 +1933,7 @@ begin PT4.Put(e); end; -/// Выводит размер и Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ðàçìåð è ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure PrintAll(self: array of T); extensionmethod; begin PT4.Put(self.Length); @@ -1936,7 +1941,7 @@ begin PT4.Put(self[i]); end; -/// Выводит размер и Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ðàçìåð è ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure WriteAll(self: array of T); extensionmethod; begin PT4.Put(self.Length); @@ -1944,7 +1949,7 @@ begin PT4.Put(self[i]); end; -/// Выводит Ñ�лементы поÑ�ледовательноÑ�ти +/// Âûâîäèò ýëåìåíòû ïîñëåäîâàòåëüíîñòè procedure Writeln(self: sequence of T); extensionmethod; begin var b := self.ToArray(); @@ -1952,14 +1957,14 @@ begin PT4.Put(e); end; -/// Выводит Ñ�лементы динамичеÑ�кого маÑ�Ñ�ива +/// Âûâîäèò ýëåìåíòû äèíàìè÷åñêîãî ìàññèâà procedure Writeln(self: array of T); extensionmethod; begin for var i:=0 to self.Length-1 do PT4.Put(self[i]); end; -/// Выводит Ñ�лементы матрицы +/// Âûâîäèò ýëåìåíòû ìàòðèöû procedure Writeln(self: array [,] of T); extensionmethod; begin for var i:=0 to self.GetLength(0)-1 do @@ -1967,13 +1972,13 @@ begin PT4.Put(self[i,j]); end; -// == Конец дополнений 2016.07 +// == Êîíåö äîïîëíåíèé 2016.07 -/// Выводит в разделе отладки окна задачника -/// комментарий cmt, размер поÑ�ледовательноÑ�ти и значениÑ�, -/// полученные из Ñ�лементов поÑ�ледовательноÑ�ти -/// Ñ� помощью указанного лÑ�мбда-выражениÑ� +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// êîììåíòàðèé cmt, ðàçìåð ïîñëåäîâàòåëüíîñòè è çíà÷åíèÿ, +/// ïîëó÷åííûå èç ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè +/// ñ ïîìîùüþ óêàçàííîãî ëÿìáäà-âûðàæåíèÿ function Show(self: sequence of TSource; cmt: string; selector: System.Func): sequence of TSource; extensionmethod; begin @@ -1986,17 +1991,17 @@ begin result := self; end; -/// Выводит в разделе отладки окна задачника -/// размер поÑ�ледовательноÑ�ти и значениÑ�, -/// полученные из Ñ�лементов поÑ�ледовательноÑ�ти -/// Ñ� помощью указанного лÑ�мбда-выражениÑ� +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// ðàçìåð ïîñëåäîâàòåëüíîñòè è çíà÷åíèÿ, +/// ïîëó÷åííûå èç ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè +/// ñ ïîìîùüþ óêàçàííîãî ëÿìáäà-âûðàæåíèÿ function Show(Self: sequence of TSource; selector: System.Func): sequence of TSource; extensionmethod; begin result := self.Show('', selector); end; -/// Выводит в разделе отладки окна задачника -/// комментарий cmt, размер поÑ�ледовательноÑ�ти и ее Ñ�лементы +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// êîììåíòàðèé cmt, ðàçìåð ïîñëåäîâàòåëüíîñòè è åå ýëåìåíòû function Show(Self: sequence of TSource; cmt: string): sequence of TSource; extensionmethod; begin result := self; @@ -2015,14 +2020,14 @@ begin end; -/// Выводит в разделе отладки окна задачника -/// размер поÑ�ледовательноÑ�ти и ее Ñ�лементы. +/// Âûâîäèò â ðàçäåëå îòëàäêè îêíà çàäà÷íèêà +/// ðàçìåð ïîñëåäîâàòåëüíîñòè è åå ýëåìåíòû. function Show(Self: sequence of TSource): sequence of TSource; extensionmethod; begin result := self.Show(''); end; -// == Конец дополнений к верÑ�ии 4.14 == +// == Êîíåö äîïîëíåíèé ê âåðñèè 4.14 == initialization __InitModule; diff --git a/bin/Lib/PT4Exam.pas b/bin/Lib/PT4Exam.pas index 0eed7d68a..02de9ad3e 100644 --- a/bin/Lib/PT4Exam.pas +++ b/bin/Lib/PT4Exam.pas @@ -1,10 +1,10 @@ -/// Модуль Ñ�лектронного задачника PT for Exam +/// Модуль Ñ�лектронного задачника PT for Exam unit PT4Exam; //------------------------------------------------------------------------------ // Модуль длÑ� подключениÑ� задачника PT for Exam -// ВерÑ�иÑ� 1.1 -// Copyright (c) 2014-2015 М.Э.Ð�брамÑ�н +// ВерÑ�иÑ� 1.2 +// Copyright (c) 2014-2017 М.Э.Ð�брамÑ�н //------------------------------------------------------------------------------ @@ -13,6 +13,30 @@ interface procedure Task(name: string); procedure FinExam; +//1.2 +procedure Show(S: string); +procedure Show(S: string; A: Integer; W: Integer); +procedure Show(S: string; A: Real; W: Integer); +procedure Show(S: string; A: Integer); +procedure Show(S: string; A: Real); +procedure Show(A: Integer; W: Integer); +procedure Show(A: Real; W: Integer); +procedure Show(A: Integer); +procedure Show(A: Real); +procedure ShowLine; +procedure ShowLine(S: string); +procedure ShowLine(S: string; A: Integer; W: Integer); +procedure ShowLine(S: string; A: Real; W: Integer); +procedure ShowLine(S: string; A: Integer); +procedure ShowLine(S: string; A: Real); +procedure ShowLine(A: Integer; W: Integer); +procedure ShowLine(A: Real; W: Integer); +procedure ShowLine(A: Integer); +procedure ShowLine(A: Real); +procedure SetPrecision(N: integer); +procedure HideTask; + + implementation uses @@ -72,6 +96,112 @@ begin NextTask := false; end; +procedure Show(S: string); +begin + PT4.Show(S); +end; + +procedure Show(S: string; A: Integer; W: Integer); +begin + PT4.Show(S, A, W); +end; + +procedure Show(S: string; A: Real; W: Integer); +begin + PT4.Show(S, A, W); +end; + +procedure Show(S: string; A: Integer); +begin + PT4.Show(S, A); +end; + +procedure Show(S: string; A: Real); +begin + PT4.Show(S, A); +end; + +procedure Show(A: Integer; W: Integer); +begin + PT4.Show(A, W); +end; + +procedure Show(A: Real; W: Integer); +begin + PT4.Show(A, W); +end; + +procedure Show(A: Integer); +begin + PT4.Show(A); +end; + +procedure Show(A: Real); +begin + PT4.Show(A); +end; + +procedure ShowLine(S: string); +begin + PT4.ShowLine(S); +end; + +procedure ShowLine; +begin + PT4.ShowLine; +end; + +procedure ShowLine(S: string; A: Integer; W: Integer); +begin + PT4.ShowLine(S, A, W); +end; + +procedure ShowLine(S: string; A: Real; W: Integer); +begin + PT4.ShowLine(S, A, W); +end; + +procedure ShowLine(S: string; A: Integer); +begin + PT4.ShowLine(S, A); +end; + +procedure ShowLine(S: string; A: Real); +begin + PT4.ShowLine(S, A); +end; + +procedure ShowLine(A: Integer; W: Integer); +begin + PT4.ShowLine(A, W); +end; + +procedure ShowLine(A: Real; W: Integer); +begin + PT4.ShowLine(A, W); +end; + +procedure ShowLine(A: Integer); +begin + PT4.ShowLine(A); +end; + +procedure ShowLine(A: Real); +begin + PT4.ShowLine(A); +end; + +procedure HideTask; +begin + PT4.HideTask; +end; + +procedure SetPrecision(N: Integer); +begin + PT4.SetPrecision(N); +end; + + initialization finalization