From 40ad330bf7f8059508e3dc544eada72c6c9a9e86 Mon Sep 17 00:00:00 2001 From: miks1965 Date: Sun, 10 Jul 2016 14:49:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?yield?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 +- Localization/DefaultLang.resources | Bin 77199 -> 77288 bytes PascalABCNET.axml | 4 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- SyntaxTree/tree/AbstractVisitor.cs | 5 -- SyntaxTree/tree/HierarchyVisitor.cs | 15 ---- SyntaxTree/tree/SyntaxTreeStreamReader.cs | 13 --- SyntaxTree/tree/SyntaxTreeStreamWriter.cs | 12 --- SyntaxTree/tree/Tree.cs | 83 ------------------ SyntaxTree/tree/TreeHelper.cs | 47 +--------- SyntaxTree/tree/Visitor.cs | 6 -- SyntaxTree/tree/tree.nin | Bin 167861 -> 167473 bytes TestSuite/CompilationSamples/PABCSystem.pas | 6 +- TestSuite/CompilationSamples/PT4.pas | 3 +- .../TreeConversion/syntax_tree_visitor.cs | 82 +---------------- TreeConverter/TreeRealization/generics.cs | 2 +- .../LocalVariablesTypeDetectorHelperVisior.cs | 9 +- .../YieldVisitors/LoweringVisitor.cs | 17 +--- .../ProcessYieldsCapturedVars.cs | 16 ++-- bin/Lib/PABCRtl.dll | Bin 507904 -> 507904 bytes bin/Lib/PABCSystem.pas | 6 +- bin/Lib/PT4.pas | 3 +- 23 files changed, 34 insertions(+), 303 deletions(-) diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index bc18dc8b9..aff13ffd8 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "1"; public const string Build = "0"; - public const string Revision = "1266"; + public const string Revision = "1269"; 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 69000ff71..7008504df 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%MINOR%=1 -%REVISION%=1266 %COREVERSION%=0 +%REVISION%=1269 +%MINOR%=1 %MAJOR%=3 diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index 350e2b5da0099403cc10ad733bc703feae9a1a93..208219497ec1b059fde6ee4560d2ebd8545062a3 100644 GIT binary patch delta 96 zcmV-m0H6Pl+XU#_1d!kY1TC@Rvws;zPf}MwQbb=xSX4z$Q%O%wUrj|+NKZsllktBQ zDQ0hScVTj5AnoPk?(g&Q^62a!++?B(+AL6HuEu+70G{UzQvd(} diff --git a/PascalABCNET.axml b/PascalABCNET.axml index fa9a5843d..7900a9550 100644 --- a/PascalABCNET.axml +++ b/PascalABCNET.axml @@ -958,8 +958,8 @@ \yield\syntaxvisitors\yieldvisitors\processyieldscapturedvars.cs public ConstructFiniteAutomata1(block bl) - public ConstructFiniteAutomata1 ( block bl ) - class ConstructFiniteAutomata1 + public ConstructFiniteAutomata ( block bl ) + class ConstructFiniteAutomata namespace SyntaxVisitors diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 6f73c4f46..fff479009 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.1.0.1266' +!define VERSION '3.1.0.1269' diff --git a/SyntaxTree/tree/AbstractVisitor.cs b/SyntaxTree/tree/AbstractVisitor.cs index bc50bf3bb..74f225239 100644 --- a/SyntaxTree/tree/AbstractVisitor.cs +++ b/SyntaxTree/tree/AbstractVisitor.cs @@ -1092,11 +1092,6 @@ namespace PascalABCCompiler.SyntaxTree { DefaultVisit(_yield_unknown_foreach_type); } - - public virtual void visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - DefaultVisit(_yield_unknown_foreach_type_ident); - } } diff --git a/SyntaxTree/tree/HierarchyVisitor.cs b/SyntaxTree/tree/HierarchyVisitor.cs index 114c95f19..ad0d7a400 100644 --- a/SyntaxTree/tree/HierarchyVisitor.cs +++ b/SyntaxTree/tree/HierarchyVisitor.cs @@ -1741,14 +1741,6 @@ namespace PascalABCCompiler.SyntaxTree { } - public virtual void pre_do_visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - } - - public virtual void post_do_visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - } - public override void visit(syntax_tree_node _syntax_tree_node) { DefaultVisit(_syntax_tree_node); @@ -3608,13 +3600,6 @@ namespace PascalABCCompiler.SyntaxTree pre_do_visit(_yield_unknown_foreach_type); post_do_visit(_yield_unknown_foreach_type); } - - public override void visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - DefaultVisit(_yield_unknown_foreach_type_ident); - pre_do_visit(_yield_unknown_foreach_type_ident); - post_do_visit(_yield_unknown_foreach_type_ident); - } } diff --git a/SyntaxTree/tree/SyntaxTreeStreamReader.cs b/SyntaxTree/tree/SyntaxTreeStreamReader.cs index b6aab7323..c99f2b2af 100644 --- a/SyntaxTree/tree/SyntaxTreeStreamReader.cs +++ b/SyntaxTree/tree/SyntaxTreeStreamReader.cs @@ -454,8 +454,6 @@ namespace PascalABCCompiler.SyntaxTree return new yield_variable_definitions_with_unknown_type(); case 216: return new yield_unknown_foreach_type(); - case 217: - return new yield_unknown_foreach_type_ident(); } return null; } @@ -3834,17 +3832,6 @@ namespace PascalABCCompiler.SyntaxTree read_type_definition(_yield_unknown_foreach_type); } - - public void visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - read_yield_unknown_foreach_type_ident(_yield_unknown_foreach_type_ident); - } - - public void read_yield_unknown_foreach_type_ident(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - read_ident(_yield_unknown_foreach_type_ident); - } - } diff --git a/SyntaxTree/tree/SyntaxTreeStreamWriter.cs b/SyntaxTree/tree/SyntaxTreeStreamWriter.cs index 6da79e841..ecb55e5ba 100644 --- a/SyntaxTree/tree/SyntaxTreeStreamWriter.cs +++ b/SyntaxTree/tree/SyntaxTreeStreamWriter.cs @@ -6000,18 +6000,6 @@ namespace PascalABCCompiler.SyntaxTree write_type_definition(_yield_unknown_foreach_type); } - - public void visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - bw.Write((Int16)217); - write_yield_unknown_foreach_type_ident(_yield_unknown_foreach_type_ident); - } - - public void write_yield_unknown_foreach_type_ident(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident) - { - write_ident(_yield_unknown_foreach_type_ident); - } - } diff --git a/SyntaxTree/tree/Tree.cs b/SyntaxTree/tree/Tree.cs index ec283d662..dfe738421 100644 --- a/SyntaxTree/tree/Tree.cs +++ b/SyntaxTree/tree/Tree.cs @@ -32020,89 +32020,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// - ///Узел для приведения типа enumerator.Current к типу переменной цикла foreach - /// - [Serializable] - public partial class yield_unknown_foreach_type_ident : ident - { - - /// - ///Конструктор без параметров. - /// - public yield_unknown_foreach_type_ident() - { - - } - - - /// - ///Конструктор с параметрами. - /// - public yield_unknown_foreach_type_ident(string _name) - { - this._name=_name; - } - - /// - ///Конструктор с параметрами. - /// - public yield_unknown_foreach_type_ident(string _name,SourceContext sc) - { - this._name=_name; - source_context = sc; - } - - /// - ///Свойство для получения количества всех подузлов без элементов поля типа List - /// - public override Int32 subnodes_without_list_elements_count - { - get - { - return 0; - } - } - /// - ///Свойство для получения количества всех подузлов. Подузлом также считается каждый элемент поля типа List - /// - public override Int32 subnodes_count - { - get - { - return 0; - } - } - /// - ///Индексатор для получения всех подузлов - /// - public override syntax_tree_node this[Int32 ind] - { - get - { - if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1) - throw new IndexOutOfRangeException(); - return null; - } - set - { - if(subnodes_count == 0 || ind < 0 || ind > subnodes_count-1) - throw new IndexOutOfRangeException(); - } - } - /// - ///Метод для обхода дерева посетителем - /// - ///Объект-посетитель. - ///Return value is void - public override void visit(IVisitor visitor) - { - visitor.visit(this); - } - - } - - } diff --git a/SyntaxTree/tree/TreeHelper.cs b/SyntaxTree/tree/TreeHelper.cs index 4ebff6240..b7e7a8bde 100644 --- a/SyntaxTree/tree/TreeHelper.cs +++ b/SyntaxTree/tree/TreeHelper.cs @@ -1404,19 +1404,6 @@ namespace PascalABCCompiler.SyntaxTree } - // frninja 12/05/16 - хелпер для yield. Хранит типы локальных переменных метода-итератора - [Serializable] - public class yield_locals_type_map_helper - { - public Dictionary vars_type_map { get; private set; } - - public yield_locals_type_map_helper() - { - vars_type_map = new Dictionary(); - } - } - // end frninja - // frninja 12/05/16 - хелперы для yield public partial class yield_unknown_expression_type : type_definition { @@ -1428,56 +1415,24 @@ namespace PascalABCCompiler.SyntaxTree set { _Vds = value; } } - public yield_locals_type_map_helper MapHelper { get; private set; } - - public yield_unknown_expression_type(var_def_statement vds, yield_locals_type_map_helper map_helper) + public yield_unknown_expression_type(var_def_statement vds) { this.Vds = vds; - this.MapHelper = map_helper; } } public partial class yield_var_def_statement_with_unknown_type : statement { - public yield_locals_type_map_helper map_helper { get; private set; } - - public yield_var_def_statement_with_unknown_type(var_def_statement vds, yield_locals_type_map_helper map_helper) - { - this.vars = vds; - this.map_helper = map_helper; - } - public override string ToString() { var sb = new System.Text.StringBuilder(); sb.Append(vars.ToString()); - /*if (vars_type != null) - { - sb.Append(": "); - sb.Append(vars_type.ToString()); - } - if (inital_value != null) - { - sb.Append(" := "); - sb.Append(inital_value.ToString()); - }*/ return sb.ToString(); } } - public partial class yield_variable_definitions_with_unknown_type : declaration - { - public yield_locals_type_map_helper map_helper { get; private set; } - - public yield_variable_definitions_with_unknown_type(variable_definitions vd, yield_locals_type_map_helper map_helper) - { - this.vars = vd; - this.map_helper = map_helper; - } - } - public partial class yield_unknown_ident : ident { protected ident _UnknownID; diff --git a/SyntaxTree/tree/Visitor.cs b/SyntaxTree/tree/Visitor.cs index 241d479bf..8b68ec973 100644 --- a/SyntaxTree/tree/Visitor.cs +++ b/SyntaxTree/tree/Visitor.cs @@ -1306,12 +1306,6 @@ namespace PascalABCCompiler.SyntaxTree ///Node to visit /// Return value is void void visit(yield_unknown_foreach_type _yield_unknown_foreach_type); - /// - ///Method to visit yield_unknown_foreach_type_ident. - /// - ///Node to visit - /// Return value is void - void visit(yield_unknown_foreach_type_ident _yield_unknown_foreach_type_ident); } diff --git a/SyntaxTree/tree/tree.nin b/SyntaxTree/tree/tree.nin index 144717dc52dc4d0ced2d20c8ea73353970b6efd6..0061a5f0f2272d3a5642e53f6484142b8014f961 100644 GIT binary patch literal 167473 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 literal 167861 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
i%Bq6w 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 diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index a727bc7f0..a2f55d87a 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -1698,6 +1698,8 @@ var ExitCode := 0; // TODO Сделать возврат в Main ///-- DefaultEncoding: Encoding; + ///-- + PrintDelimDefault: string := ' '; ///-- var @@ -7939,7 +7941,7 @@ end; /// Выводит последовательность на экран, используя пробел в качестве разделителя function Print(Self: sequence of T): sequence of T; extensionmethod; begin - Result := Self.Print(' '); + Result := Self.Print(PrintDelimDefault); end; /// Выводит последовательность на экран, используя delim в качестве разделителя, и переходит на новую строку @@ -7953,7 +7955,7 @@ end; /// Выводит последовательность на экран, используя пробел качестве разделителя, и переходит на новую строку function Println(Self: sequence of T): sequence of T; extensionmethod; begin - Result := Self.Println(' '); + Result := Self.Println(PrintDelimDefault); end; /// Выводит последовательность строк в файл diff --git a/TestSuite/CompilationSamples/PT4.pas b/TestSuite/CompilationSamples/PT4.pas index 0e18976a9..a3f4148bf 100644 --- a/TestSuite/CompilationSamples/PT4.pas +++ b/TestSuite/CompilationSamples/PT4.pas @@ -1,4 +1,4 @@ -/// Модуль электронного задачника Programming Taskbook 4 +/// Модуль электронного задачника Programming Taskbook 4 unit PT4; //------------------------------------------------------------------------------ @@ -1255,6 +1255,7 @@ var __initialized := false; procedure __InitModule; begin CurrentIOSystem := new IOPT4System; + PrintDelimDefault := ''; loadNodes := new ArrayList; ExecuteBeforeProcessTerminateIn__Mode += PT4_ExecuteBeforeProcessTerminateIn__Mode; StartPT(512); diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 5dd157c66..eb4a6afe4 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -4669,15 +4669,6 @@ namespace PascalABCCompiler.TreeConverter } // end frninja - // frninja 29/05/16 - для приведения типов в lowered foreach - if (_method_call.dereferencing_value is yield_unknown_foreach_type_ident) - { - var nodeToVisit = new method_call(GetForeachVariableTypeName((_method_call.dereferencing_value as yield_unknown_foreach_type_ident).unknown_foreach), _method_call.parameters); - visit(nodeToVisit); - return; - } - // end frninja - //lroman if (_method_call.dereferencing_value is closure_substituting_node) { @@ -15770,8 +15761,6 @@ namespace PascalABCCompiler.TreeConverter else AddError(to.location, "Не могу вывести тип при наличии yield: "+ to.type.full_name); //to.type = from.type; // и без всякого real_type! } - //else if (to.type is compiled_type_node) - //else if (to.type.name.StartsWith("IEnumerable")) // Сделать не сравнением строк!!! else if (to.type is compiled_generic_instance_type_node && (to.type as compiled_generic_instance_type_node).instance_params[0] is ienumerable_auto_type) { var tt = to.type; @@ -19127,7 +19116,6 @@ namespace PascalABCCompiler.TreeConverter { // Отвечает за типизацию всех переменных с автовыведением типа // Пробую сделать по-другому: перевести в auto_type и потом на присваивании перехватить - // _unk_expr.MapHelper.vars_type_map[_unk_expr.Vds].visit(this); var t = new semantic_type_node(new auto_type(get_location(_unk_expr))); t.visit(this); } @@ -19135,90 +19123,22 @@ namespace PascalABCCompiler.TreeConverter // frninja - заполнение хелпера типов локальных переменных для yield public override void visit(SyntaxTree.yield_var_def_statement_with_unknown_type _vars) { - /*if ((object)_vars.vars.vars_type != null) - { - // Visit stored vars - _vars.vars.visit(this); - return; - } - var t = convert_strong(_vars.vars.inital_value); - _vars.map_helper.vars_type_map[_vars.vars] = new SyntaxTree.semantic_type_node(t.type); - - */ - // Visit stored vars _vars.vars.visit(this); } - // frninja - заполнение хелпера типов локальных переменных для yield// frninja - заполнение хелпера типов локальных переменных для yield + // frninja - заполнение хелпера типов локальных переменных для yield public override void visit(SyntaxTree.yield_variable_definitions_with_unknown_type _vars) { - /*foreach (var vd in _vars.vars.list) - { - if ((object)vd.vars_type != null) - { - continue; - } - var t = convert_strong(vd.inital_value); - _vars.map_helper.vars_type_map[vd] = new SyntaxTree.semantic_type_node(t.type); - }*/ - - // Visit stored vars _vars.vars.visit(this); } - private Dictionary _yieldForeachTypeMap = new Dictionary(); - // frninja 29/05/16 - выявляем тип перемнной в foreach public override void visit(SyntaxTree.yield_unknown_foreach_type _unk) { - - /*var _foreach_stmt = _unk.unknown_foreach; - - semantic_type_node t; - - if (_yieldForeachTypeMap.ContainsKey(_foreach_stmt.Guid)) - { - t = _yieldForeachTypeMap[_foreach_stmt.Guid]; - } - else - { - expression_node in_what = convert_strong(_foreach_stmt.in_what); - type_node elem_type = null; - if (!FindIEnumerableElementType(_foreach_stmt, in_what.type, ref elem_type)) - { - AddError(in_what.location, "CAN_NOT_EXECUTE_FOREACH_BY_EXPR_OF_TYPE_{0}", in_what.type.name); - } - t = new SyntaxTree.semantic_type_node(elem_type); - // Add to map - _yieldForeachTypeMap.Add(_foreach_stmt.Guid, t); - }*/ - // Visit type - var t = new semantic_type_node(new ienumerable_auto_type(get_location(_unk))); t.visit(this); } - private ident GetForeachVariableTypeName(foreach_stmt _foreach_stmt) - { - type_node tn = null; - - if (_yieldForeachTypeMap.ContainsKey(_foreach_stmt.Guid)) - { - tn = _yieldForeachTypeMap[_foreach_stmt.Guid].type as type_node; - } - return new SyntaxTree.ident(tn.name); - } - - // frninja 29/05/16 - получаем имя типа переменной в foreach - public override void visit(SyntaxTree.yield_unknown_foreach_type_ident _unk) - { - var t = this.GetForeachVariableTypeName(_unk.unknown_foreach); - // Visit type - t.visit(this); - } - - // end frninja - /*public SyntaxTree.question_colon_expression ConvertToQCE(dot_question_node dqn) { // Неверно работает. Пока не используется. Доделать diff --git a/TreeConverter/TreeRealization/generics.cs b/TreeConverter/TreeRealization/generics.cs index 3bb4a1835..ae5b2a483 100644 --- a/TreeConverter/TreeRealization/generics.cs +++ b/TreeConverter/TreeRealization/generics.cs @@ -345,7 +345,7 @@ namespace PascalABCCompiler.TreeRealization if (shouldAddToAllTypeInstances) //lroman// Если зашли сюда при выведении типов параметров лямбды, то тип инстанцироваться может с типом lambda_any_type_node. Поэтому, если выводим типы. То данную инстанцию не добавляем { - if (instance.instance_params[0] is ienumerable_auto_type) + if (instance.instance_params[0] is ienumerable_auto_type) // SSM 10.07.16 (yields) в эту таблицу не включаются типы IEnumerable, т.к. потом они всё равно автовыводятся { //instance = instance; } diff --git a/Yield/SyntaxVisitors/YieldVisitors/LocalVariablesTypeDetectorHelperVisior.cs b/Yield/SyntaxVisitors/YieldVisitors/LocalVariablesTypeDetectorHelperVisior.cs index ca077c176..e452cf4c0 100644 --- a/Yield/SyntaxVisitors/YieldVisitors/LocalVariablesTypeDetectorHelperVisior.cs +++ b/Yield/SyntaxVisitors/YieldVisitors/LocalVariablesTypeDetectorHelperVisior.cs @@ -16,11 +16,8 @@ namespace SyntaxVisitors public List LocalDeletedVS = new List(); // var_statement's, потом объединим с LocalDeletedVD для верного порядка - public yield_locals_type_map_helper VarTypeMap { get; private set; } - - public LocalVariablesTypeDetectorHelperVisior(yield_locals_type_map_helper varTypeMap) + public LocalVariablesTypeDetectorHelperVisior() { - this.VarTypeMap = varTypeMap; } public override void visit(yield_variable_definitions_with_unknown_type yvds) @@ -33,7 +30,7 @@ namespace SyntaxVisitors LocalDeletedVS.Insert(0, vs.var_def); - ReplaceStatement(vs, new yield_var_def_statement_with_unknown_type(vs.var_def, this.VarTypeMap)); + ReplaceStatement(vs, new yield_var_def_statement_with_unknown_type(vs.var_def)); } public override void visit(variable_definitions vd) @@ -43,7 +40,7 @@ namespace SyntaxVisitors LocalDeletedDefs.Insert(0, v); } - Replace(vd, new yield_variable_definitions_with_unknown_type(vd, VarTypeMap)); + Replace(vd, new yield_variable_definitions_with_unknown_type(vd)); // еще - не заходить в лямбды } diff --git a/Yield/SyntaxVisitors/YieldVisitors/LoweringVisitor.cs b/Yield/SyntaxVisitors/YieldVisitors/LoweringVisitor.cs index 379afb7e2..4ea176bd1 100644 --- a/Yield/SyntaxVisitors/YieldVisitors/LoweringVisitor.cs +++ b/Yield/SyntaxVisitors/YieldVisitors/LoweringVisitor.cs @@ -80,11 +80,6 @@ namespace SyntaxVisitors // DO NOTHING } - public override void visit(yield_unknown_foreach_type_ident _unk) - { - // DO NOTHING - } - // frninja 21/05/16 public override void visit(foreach_stmt frch) { @@ -101,7 +96,8 @@ namespace SyntaxVisitors // var a: System.Collections.Generic.IEnumerable := l; var foreachCollIdent = this.NewForeachCollectionName(); - var foreachCollType = new template_type_reference(new named_type_reference("System.Collections.Generic.IEnumerable"), new template_param_list(new yield_unknown_foreach_type(frch))); + var foreachCollType = new template_type_reference(new named_type_reference("System.Collections.Generic.IEnumerable"), + new template_param_list(new yield_unknown_foreach_type(frch))); var foreachCollVarDef = new var_statement(foreachCollIdent, foreachCollType); var ass = new assign(foreachCollIdent, frch.in_what); @@ -164,20 +160,13 @@ namespace SyntaxVisitors // Добавляем тело цикла в stl var stl = new statement_list(st); - ProcessNode(frch.stmt); //?? - видимо, для обработки вложенных конструкций + ProcessNode(frch.stmt); // для обработки вложенных конструкций stl.Add(frch.stmt); var whileNode = new while_node(new method_call(new dot_node(enumeratorIdent, "MoveNext"), new expression_list()), stl, WhileCycleType.While); - /*ReplaceStatement(frch, - SeqStatements(new var_statement(enumeratorIdent, - new named_type_reference("System.Collections.IEnumerator"), - // НЕБЕЗОПАСНО! - new method_call(new dot_node(frch.in_what as addressed_value, new ident("GetEnumerator")), new expression_list())), - whileNode)); - */ ReplaceStatement(frch, SeqStatements(foreachCollVarDef, ass, enumeratorVarDef, whileNode) ); diff --git a/Yield/SyntaxVisitors/YieldVisitors/ProcessYieldsCapturedVars.cs b/Yield/SyntaxVisitors/YieldVisitors/ProcessYieldsCapturedVars.cs index 3d4c22645..94980b8d1 100644 --- a/Yield/SyntaxVisitors/YieldVisitors/ProcessYieldsCapturedVars.cs +++ b/Yield/SyntaxVisitors/YieldVisitors/ProcessYieldsCapturedVars.cs @@ -82,8 +82,8 @@ namespace SyntaxVisitors IEnumerable fields, // локальные переменные IDictionary localsMap, // отображение для захваченных имен локальных переменных IDictionary formalParamsMap, // отображение для захваченных имен формальных параметров - IDictionary localsCloneMap, // отображение для оберток локальных переменных - yield_locals_type_map_helper localTypeMapHelper) // вспомогательный узел для типов локальных переменных + IDictionary localsCloneMap // отображение для оберток локальных переменных + ) { var fh = (pd.proc_header as function_header); if (fh == null) @@ -104,7 +104,7 @@ namespace SyntaxVisitors if (vds.inital_value != null) { //return new var_def_statement(ids, new yield_unknown_expression_type(localsCloneMap[vds], varsTypeDetectorHelper), null); - return new var_def_statement(ids, new yield_unknown_expression_type(localsCloneMap[vds], localTypeMapHelper), null); + return new var_def_statement(ids, new yield_unknown_expression_type(localsCloneMap[vds]), null); } else { @@ -606,7 +606,7 @@ namespace SyntaxVisitors /// /// Объявление метода /// Коллекция посещенных локальных переменных - private void CreateLocalVariablesTypeProxies(procedure_definition pd, out IEnumerable localsClonesCollection, out yield_locals_type_map_helper localsTypeMapHelper) + private void CreateLocalVariablesTypeProxies(procedure_definition pd, out IEnumerable localsClonesCollection) { // Выполняем определение типов локальных переменных с автовыводом типов @@ -616,8 +616,7 @@ namespace SyntaxVisitors pdCloned.has_yield = false; // Заменяем локальные переменные с неизвестным типом на обертки-хелперы (откладываем до семантики) - localsTypeMapHelper = new yield_locals_type_map_helper(); - LocalVariablesTypeDetectorHelperVisior localsTypeDetectorHelperVisitor = new LocalVariablesTypeDetectorHelperVisior(localsTypeMapHelper); + LocalVariablesTypeDetectorHelperVisior localsTypeDetectorHelperVisitor = new LocalVariablesTypeDetectorHelperVisior(); pdCloned.visit(localsTypeDetectorHelperVisitor); // frninja 16/03/16 - строим список локальных переменных в правильном порядке @@ -927,9 +926,8 @@ namespace SyntaxVisitors pd.visit(deleteBeginEndVisitor); // Обработка метода для корректного захвата локальных переменных и их типов - yield_locals_type_map_helper localsTypeMapHelper; IEnumerable localsClonesCollection; - CreateLocalVariablesTypeProxies(pd, out localsClonesCollection, out localsTypeMapHelper); + CreateLocalVariablesTypeProxies(pd, out localsClonesCollection); // frninja 16/11/15: перенес ниже чтобы работал захват для lowered for @@ -960,7 +958,7 @@ namespace SyntaxVisitors (pd.proc_body as block).program_code = cfa.res; // Конструируем определение класса - var cct = GenClassesForYield(pd, dld.LocalDeletedDefs, CapturedLocalsNamesMap, CapturedFormalParamsNamesMap, localsCloneMap, localsTypeMapHelper); // все удаленные описания переменных делаем описанием класса + var cct = GenClassesForYield(pd, dld.LocalDeletedDefs, CapturedLocalsNamesMap, CapturedFormalParamsNamesMap, localsCloneMap); // все удаленные описания переменных делаем описанием класса // Вставляем классы-хелперы InsertYieldHelpers(pd, cct); diff --git a/bin/Lib/PABCRtl.dll b/bin/Lib/PABCRtl.dll index 1380f8427111c26be190023a1c049daf59b1c71c..a1c705591e711a1b2b6fcf65466de35cd9381d9c 100644 GIT binary patch delta 85610 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 LwC*mc&(Qq~#-l^I diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas index a727bc7f0..a2f55d87a 100644 --- a/bin/Lib/PABCSystem.pas +++ b/bin/Lib/PABCSystem.pas @@ -1698,6 +1698,8 @@ var ExitCode := 0; // TODO Сделать возврат в Main ///-- DefaultEncoding: Encoding; + ///-- + PrintDelimDefault: string := ' '; ///-- var @@ -7939,7 +7941,7 @@ end; /// Выводит последовательность на экран, используя пробел в качестве разделителя function Print(Self: sequence of T): sequence of T; extensionmethod; begin - Result := Self.Print(' '); + Result := Self.Print(PrintDelimDefault); end; /// Выводит последовательность на экран, используя delim в качестве разделителя, и переходит на новую строку @@ -7953,7 +7955,7 @@ end; /// Выводит последовательность на экран, используя пробел качестве разделителя, и переходит на новую строку function Println(Self: sequence of T): sequence of T; extensionmethod; begin - Result := Self.Println(' '); + Result := Self.Println(PrintDelimDefault); end; /// Выводит последовательность строк в файл diff --git a/bin/Lib/PT4.pas b/bin/Lib/PT4.pas index 0e18976a9..a3f4148bf 100644 --- a/bin/Lib/PT4.pas +++ b/bin/Lib/PT4.pas @@ -1,4 +1,4 @@ -/// Модуль электронного задачника Programming Taskbook 4 +/// Модуль электронного задачника Programming Taskbook 4 unit PT4; //------------------------------------------------------------------------------ @@ -1255,6 +1255,7 @@ var __initialized := false; procedure __InitModule; begin CurrentIOSystem := new IOPT4System; + PrintDelimDefault := ''; loadNodes := new ArrayList; ExecuteBeforeProcessTerminateIn__Mode += PT4_ExecuteBeforeProcessTerminateIn__Mode; StartPT(512);