From dd87721e1f5a9f34ebd3a39a3460cec995000958 Mon Sep 17 00:00:00 2001 From: Alexander Zakharenko Date: Wed, 16 Nov 2016 21:45:01 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A8=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D1=83=D0=B7=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=20=D1=81=D0=BE=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0?= =?UTF-8?q?=D0=BC=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SyntaxTree/tree/NodesGenerator.exe | Bin 266240 -> 258048 bytes .../SyntaxWithListConstructors.txt | 4 + .../SyntaxTemplates/SyntaxWithListMethods.txt | 77 + SyntaxTree/tree/Tree.cs | 1679 +++++++---------- Utils/NodesGeneratorNew/NodeGenerator.cs | 349 +--- ...sGenerator_old.csproj.FileListAbsolute.txt | 13 + bin/Lib/PABCRtl.dll | Bin 534016 -> 534016 bytes 7 files changed, 830 insertions(+), 1292 deletions(-) create mode 100644 SyntaxTree/tree/SyntaxTemplates/SyntaxWithListConstructors.txt create mode 100644 SyntaxTree/tree/SyntaxTemplates/SyntaxWithListMethods.txt diff --git a/SyntaxTree/tree/NodesGenerator.exe b/SyntaxTree/tree/NodesGenerator.exe index 91414297db09faa2a453d795f346358602c6f057..d4750153302aaded8fa583f12b9f84b3dc5cc7ab 100644 GIT binary patch literal 258048 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 literal 266240 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

5n7Fi-ILI!=fj1e+p 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 z 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 Y-cuFP`(jno;@~GvAX!Uk}d6qOK=!ha4fPz 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 diff --git a/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListConstructors.txt b/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListConstructors.txt new file mode 100644 index 000000000..b8c8ec42c --- /dev/null +++ b/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListConstructors.txt @@ -0,0 +1,4 @@ +public <#NodeName#>(<#ListElementType#> elem, SourceContext sc = null) +{ + Add(elem, sc); +} diff --git a/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListMethods.txt b/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListMethods.txt new file mode 100644 index 000000000..54848f6a2 --- /dev/null +++ b/SyntaxTree/tree/SyntaxTemplates/SyntaxWithListMethods.txt @@ -0,0 +1,77 @@ +public <#NodeName#> Add(<#ListElementType#> elem, SourceContext sc = null) +{ + <#ListName#>.Add(elem); + if (sc != null) + source_context = sc; + return this; +} + +public void AddFirst(<#ListElementType#> el) +{ + <#ListName#>.Insert(0, el); +} + +public void AddFirst(IEnumerable<<#ListElementType#>> els) +{ + <#ListName#>.InsertRange(0, els); +} + +public void AddMany(params <#ListElementType#>[] els) +{ + <#ListName#>.AddRange(els); +} + +private int FindIndexInList(<#ListElementType#> el) +{ + var ind = <#ListName#>.FindIndex(x => x == el); + if (ind == -1) + throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); + return ind; +} + +public void InsertAfter(<#ListElementType#> el, <#ListElementType#> newel) +{ + <#ListName#>.Insert(FindIndex(el) + 1, newel); +} + +public void InsertAfter(<#ListElementType#> el, IEnumerable<<#ListElementType#>> newels) +{ + <#ListName#>.InsertRange(FindIndex(el) + 1, newels); +} + +public void InsertBefore(<#ListElementType#> el, <#ListElementType#> newel) +{ + <#ListName#>.Insert(FindIndex(el), newel); +} + +public void InsertBefore(<#ListElementType#> el, IEnumerable<<#ListElementType#>> newels) +{ + <#ListName#>.InsertRange(FindIndex(el), newels); +} + +public bool Remove(<#ListElementType#> el) +{ + return <#ListName#>.Remove(el); +} + +public void ReplaceInList(<#ListElementType#> el, <#ListElementType#> newel) +{ + <#ListName#>[FindIndexInList(el)] = newel; +} + +public void ReplaceInList(<#ListElementType#> el, IEnumerable<<#ListElementType#>> newels) +{ + var ind = FindIndexInList(el); + <#ListName#>.RemoveAt(ind); + <#ListName#>.InsertRange(ind, newels); +} + +public int RemoveAll(Predicate<<#ListElementType#>> match) +{ + return <#ListName#>.RemoveAll(match); +} + +public <#ListElementType#> Last() +{ + return <#ListName#>[<#ListName#>.Count - 1]; +} diff --git a/SyntaxTree/tree/Tree.cs b/SyntaxTree/tree/Tree.cs index e6a6b1187..65e3f6445 100644 --- a/SyntaxTree/tree/Tree.cs +++ b/SyntaxTree/tree/Tree.cs @@ -36,7 +36,6 @@ namespace PascalABCCompiler.SyntaxTree this._source_context=_source_context; source_context = sc; } - protected SourceContext _source_context; ///

@@ -136,7 +135,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -223,7 +221,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -332,14 +329,11 @@ namespace PascalABCCompiler.SyntaxTree this._expr_lambda_body=_expr_lambda_body; source_context = sc; } - // Конструкторы списка public statement_list(statement elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _subnodes=new List(); protected token_info _left_logical_bracket; protected token_info _right_logical_bracket; @@ -406,7 +400,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public statement_list Add(statement elem, SourceContext sc = null) { subnodes.Add(elem); @@ -414,22 +407,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(statement el) { subnodes.Insert(0, el); } - + public void AddFirst(IEnumerable els) { subnodes.InsertRange(0, els); } - + public void AddMany(params statement[] els) { subnodes.AddRange(els); } - + private int FindIndexInList(statement el) { var ind = subnodes.FindIndex(x => x == el); @@ -437,55 +430,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(statement el, statement newel) { subnodes.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(statement el, IEnumerable newels) { subnodes.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(statement el, statement newel) { subnodes.Insert(FindIndex(el), newel); } - + public void InsertBefore(statement el, IEnumerable newels) { subnodes.InsertRange(FindIndex(el), newels); } - + public bool Remove(statement el) { return subnodes.Remove(el); } - + public void ReplaceInList(statement el, statement newel) { subnodes[FindIndexInList(el)] = newel; } - + public void ReplaceInList(statement el, IEnumerable newels) { var ind = FindIndexInList(el); subnodes.RemoveAt(ind); subnodes.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return subnodes.RemoveAll(match); } - + public statement Last() { return subnodes[subnodes.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -639,7 +631,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - protected string _name; /// @@ -765,7 +756,6 @@ namespace PascalABCCompiler.SyntaxTree this._operator_type=_operator_type; source_context = sc; } - protected addressed_value _to; protected expression _from; protected Operators _operator_type; @@ -949,7 +939,6 @@ namespace PascalABCCompiler.SyntaxTree this._operation_type=_operation_type; source_context = sc; } - protected expression _left; protected expression _right; protected Operators _operation_type; @@ -1131,7 +1120,6 @@ namespace PascalABCCompiler.SyntaxTree this._operation_type=_operation_type; source_context = sc; } - protected expression _subnode; protected Operators _operation_type; @@ -1269,7 +1257,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -1372,7 +1359,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected bool _val; /// @@ -1494,7 +1480,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected Int32 _val; /// @@ -1616,7 +1601,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected double _val; /// @@ -1740,7 +1724,6 @@ namespace PascalABCCompiler.SyntaxTree this._subprogram_defs=_subprogram_defs; source_context = sc; } - protected statement_list _subprogram_code; protected declarations _subprogram_defs; @@ -1882,7 +1865,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -1985,7 +1967,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - protected type_definition_attr_list _attr_list; /// @@ -2123,7 +2104,6 @@ namespace PascalABCCompiler.SyntaxTree this._dereferencing_value=_dereferencing_value; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -2261,14 +2241,11 @@ namespace PascalABCCompiler.SyntaxTree this._names=_names; source_context = sc; } - // Конструкторы списка public named_type_reference(ident elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _names=new List(); /// @@ -2287,7 +2264,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public named_type_reference Add(ident elem, SourceContext sc = null) { names.Add(elem); @@ -2295,22 +2271,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(ident el) { names.Insert(0, el); } - + public void AddFirst(IEnumerable els) { names.InsertRange(0, els); } - + public void AddMany(params ident[] els) { names.AddRange(els); } - + private int FindIndexInList(ident el) { var ind = names.FindIndex(x => x == el); @@ -2318,55 +2294,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(ident el, ident newel) { names.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(ident el, IEnumerable newels) { names.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(ident el, ident newel) { names.Insert(FindIndex(el), newel); } - + public void InsertBefore(ident el, IEnumerable newels) { names.InsertRange(FindIndex(el), newels); } - + public bool Remove(ident el) { return names.Remove(el); } - + public void ReplaceInList(ident el, ident newel) { names[FindIndexInList(el)] = newel; } - + public void ReplaceInList(ident el, IEnumerable newels) { var ind = FindIndexInList(el); names.RemoveAt(ind); names.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return names.RemoveAll(match); } - + public ident Last() { return names[names.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -2509,14 +2484,11 @@ namespace PascalABCCompiler.SyntaxTree this._var_definitions=_var_definitions; source_context = sc; } - // Конструкторы списка public variable_definitions(var_def_statement elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _var_definitions=new List(); /// @@ -2535,7 +2507,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public variable_definitions Add(var_def_statement elem, SourceContext sc = null) { var_definitions.Add(elem); @@ -2543,22 +2514,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(var_def_statement el) { var_definitions.Insert(0, el); } - + public void AddFirst(IEnumerable els) { var_definitions.InsertRange(0, els); } - + public void AddMany(params var_def_statement[] els) { var_definitions.AddRange(els); } - + private int FindIndexInList(var_def_statement el) { var ind = var_definitions.FindIndex(x => x == el); @@ -2566,55 +2537,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(var_def_statement el, var_def_statement newel) { var_definitions.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(var_def_statement el, IEnumerable newels) { var_definitions.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(var_def_statement el, var_def_statement newel) { var_definitions.Insert(FindIndex(el), newel); } - + public void InsertBefore(var_def_statement el, IEnumerable newels) { var_definitions.InsertRange(FindIndex(el), newels); } - + public bool Remove(var_def_statement el) { return var_definitions.Remove(el); } - + public void ReplaceInList(var_def_statement el, var_def_statement newel) { var_definitions[FindIndexInList(el)] = newel; } - + public void ReplaceInList(var_def_statement el, IEnumerable newels) { var ind = FindIndexInList(el); var_definitions.RemoveAt(ind); var_definitions.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return var_definitions.RemoveAll(match); } - + public var_def_statement Last() { return var_definitions[var_definitions.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -2741,14 +2711,11 @@ namespace PascalABCCompiler.SyntaxTree this._idents=_idents; source_context = sc; } - // Конструкторы списка public ident_list(ident elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _idents=new List(); /// @@ -2767,7 +2734,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public ident_list Add(ident elem, SourceContext sc = null) { idents.Add(elem); @@ -2775,22 +2741,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(ident el) { idents.Insert(0, el); } - + public void AddFirst(IEnumerable els) { idents.InsertRange(0, els); } - + public void AddMany(params ident[] els) { idents.AddRange(els); } - + private int FindIndexInList(ident el) { var ind = idents.FindIndex(x => x == el); @@ -2798,55 +2764,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(ident el, ident newel) { idents.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(ident el, IEnumerable newels) { idents.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(ident el, ident newel) { idents.Insert(FindIndex(el), newel); } - + public void InsertBefore(ident el, IEnumerable newels) { idents.InsertRange(FindIndex(el), newels); } - + public bool Remove(ident el) { return idents.Remove(el); } - + public void ReplaceInList(ident el, ident newel) { idents[FindIndexInList(el)] = newel; } - + public void ReplaceInList(ident el, IEnumerable newels) { var ind = FindIndexInList(el); idents.RemoveAt(ind); idents.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return idents.RemoveAll(match); } - + public ident Last() { return idents[idents.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -2977,7 +2942,6 @@ namespace PascalABCCompiler.SyntaxTree this._is_event=_is_event; source_context = sc; } - protected ident_list _vars; protected type_definition _vars_type; protected expression _inital_value; @@ -3200,7 +3164,6 @@ namespace PascalABCCompiler.SyntaxTree this._attributes=_attributes; source_context = sc; } - protected attribute_list _attributes; /// @@ -3332,14 +3295,11 @@ namespace PascalABCCompiler.SyntaxTree this._defs=_defs; source_context = sc; } - // Конструкторы списка public declarations(declaration elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _defs=new List(); /// @@ -3358,7 +3318,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public declarations Add(declaration elem, SourceContext sc = null) { defs.Add(elem); @@ -3366,22 +3325,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(declaration el) { defs.Insert(0, el); } - + public void AddFirst(IEnumerable els) { defs.InsertRange(0, els); } - + public void AddMany(params declaration[] els) { defs.AddRange(els); } - + private int FindIndexInList(declaration el) { var ind = defs.FindIndex(x => x == el); @@ -3389,55 +3348,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(declaration el, declaration newel) { defs.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(declaration el, IEnumerable newels) { defs.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(declaration el, declaration newel) { defs.Insert(FindIndex(el), newel); } - + public void InsertBefore(declaration el, IEnumerable newels) { defs.InsertRange(FindIndex(el), newels); } - + public bool Remove(declaration el) { return defs.Remove(el); } - + public void ReplaceInList(declaration el, declaration newel) { defs[FindIndexInList(el)] = newel; } - + public void ReplaceInList(declaration el, IEnumerable newels) { var ind = FindIndexInList(el); defs.RemoveAt(ind); defs.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return defs.RemoveAll(match); } - + public declaration Last() { return defs[defs.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -3559,14 +3517,11 @@ namespace PascalABCCompiler.SyntaxTree this._compilation_units=_compilation_units; source_context = sc; } - // Конструкторы списка public program_tree(compilation_unit elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _compilation_units=new List(); /// @@ -3585,7 +3540,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public program_tree Add(compilation_unit elem, SourceContext sc = null) { compilation_units.Add(elem); @@ -3593,22 +3547,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(compilation_unit el) { compilation_units.Insert(0, el); } - + public void AddFirst(IEnumerable els) { compilation_units.InsertRange(0, els); } - + public void AddMany(params compilation_unit[] els) { compilation_units.AddRange(els); } - + private int FindIndexInList(compilation_unit el) { var ind = compilation_units.FindIndex(x => x == el); @@ -3616,55 +3570,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(compilation_unit el, compilation_unit newel) { compilation_units.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(compilation_unit el, IEnumerable newels) { compilation_units.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(compilation_unit el, compilation_unit newel) { compilation_units.Insert(FindIndex(el), newel); } - + public void InsertBefore(compilation_unit el, IEnumerable newels) { compilation_units.InsertRange(FindIndex(el), newels); } - + public bool Remove(compilation_unit el) { return compilation_units.Remove(el); } - + public void ReplaceInList(compilation_unit el, compilation_unit newel) { compilation_units[FindIndexInList(el)] = newel; } - + public void ReplaceInList(compilation_unit el, IEnumerable newels) { var ind = FindIndexInList(el); compilation_units.RemoveAt(ind); compilation_units.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return compilation_units.RemoveAll(match); } - + public compilation_unit Last() { return compilation_units[compilation_units.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -3786,7 +3739,6 @@ namespace PascalABCCompiler.SyntaxTree this._prog_name=_prog_name; source_context = sc; } - protected ident _prog_name; /// @@ -3918,7 +3870,6 @@ namespace PascalABCCompiler.SyntaxTree this._Value=_Value; source_context = sc; } - protected string _Value; /// @@ -4040,14 +3991,11 @@ namespace PascalABCCompiler.SyntaxTree this._expressions=_expressions; source_context = sc; } - // Конструкторы списка public expression_list(expression elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _expressions=new List(); /// @@ -4066,7 +4014,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public expression_list Add(expression elem, SourceContext sc = null) { expressions.Add(elem); @@ -4074,22 +4021,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(expression el) { expressions.Insert(0, el); } - + public void AddFirst(IEnumerable els) { expressions.InsertRange(0, els); } - + public void AddMany(params expression[] els) { expressions.AddRange(els); } - + private int FindIndexInList(expression el) { var ind = expressions.FindIndex(x => x == el); @@ -4097,55 +4044,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(expression el, expression newel) { expressions.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(expression el, IEnumerable newels) { expressions.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(expression el, expression newel) { expressions.Insert(FindIndex(el), newel); } - + public void InsertBefore(expression el, IEnumerable newels) { expressions.InsertRange(FindIndex(el), newels); } - + public bool Remove(expression el) { return expressions.Remove(el); } - + public void ReplaceInList(expression el, expression newel) { expressions[FindIndexInList(el)] = newel; } - + public void ReplaceInList(expression el, IEnumerable newels) { var ind = FindIndexInList(el); expressions.RemoveAt(ind); expressions.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return expressions.RemoveAll(match); } - + public expression Last() { return expressions[expressions.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -4267,7 +4213,6 @@ namespace PascalABCCompiler.SyntaxTree this._dereferencing_value=_dereferencing_value; source_context = sc; } - protected addressed_value _dereferencing_value; /// @@ -4423,7 +4368,6 @@ namespace PascalABCCompiler.SyntaxTree this._indexes=_indexes; source_context = sc; } - protected expression_list _indexes; /// @@ -4584,7 +4528,6 @@ namespace PascalABCCompiler.SyntaxTree this._create_loop_variable=_create_loop_variable; source_context = sc; } - protected ident _loop_variable; protected expression _initial_value; protected expression _finish_value; @@ -4887,7 +4830,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected statement _statements; protected expression _expr; @@ -5054,7 +4996,6 @@ namespace PascalABCCompiler.SyntaxTree this._CycleType=_CycleType; source_context = sc; } - protected expression _expr; protected statement _statements; protected WhileCycleType _CycleType; @@ -5238,7 +5179,6 @@ namespace PascalABCCompiler.SyntaxTree this._else_body=_else_body; source_context = sc; } - protected expression _condition; protected statement _then_body; protected statement _else_body; @@ -5446,7 +5386,6 @@ namespace PascalABCCompiler.SyntaxTree this._pointed_to=_pointed_to; source_context = sc; } - protected type_definition _pointed_to; /// @@ -5616,7 +5555,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected expression _left; protected expression _right; @@ -5808,14 +5746,11 @@ namespace PascalABCCompiler.SyntaxTree this._indexers=_indexers; source_context = sc; } - // Конструкторы списка public indexers_types(type_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _indexers=new List(); /// @@ -5834,7 +5769,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public indexers_types Add(type_definition elem, SourceContext sc = null) { indexers.Add(elem); @@ -5842,22 +5776,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(type_definition el) { indexers.Insert(0, el); } - + public void AddFirst(IEnumerable els) { indexers.InsertRange(0, els); } - + public void AddMany(params type_definition[] els) { indexers.AddRange(els); } - + private int FindIndexInList(type_definition el) { var ind = indexers.FindIndex(x => x == el); @@ -5865,55 +5799,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(type_definition el, type_definition newel) { indexers.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(type_definition el, IEnumerable newels) { indexers.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(type_definition el, type_definition newel) { indexers.Insert(FindIndex(el), newel); } - + public void InsertBefore(type_definition el, IEnumerable newels) { indexers.InsertRange(FindIndex(el), newels); } - + public bool Remove(type_definition el) { return indexers.Remove(el); } - + public void ReplaceInList(type_definition el, type_definition newel) { indexers[FindIndexInList(el)] = newel; } - + public void ReplaceInList(type_definition el, IEnumerable newels) { var ind = FindIndexInList(el); indexers.RemoveAt(ind); indexers.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return indexers.RemoveAll(match); } - + public type_definition Last() { return indexers[indexers.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -6079,7 +6012,6 @@ namespace PascalABCCompiler.SyntaxTree this._elements_type=_elements_type; source_context = sc; } - protected indexers_types _indexers; protected type_definition _elements_type; @@ -6252,7 +6184,6 @@ namespace PascalABCCompiler.SyntaxTree this._labels=_labels; source_context = sc; } - protected ident_list _labels; /// @@ -6408,7 +6339,6 @@ namespace PascalABCCompiler.SyntaxTree this._attribute_type=_attribute_type; source_context = sc; } - protected proc_attribute _attribute_type; /// @@ -6537,7 +6467,6 @@ namespace PascalABCCompiler.SyntaxTree this._inital_value=_inital_value; source_context = sc; } - protected ident_list _idents; protected type_definition _vars_type; protected parametr_kind _param_kind; @@ -6743,14 +6672,11 @@ namespace PascalABCCompiler.SyntaxTree this._params_list=_params_list; source_context = sc; } - // Конструкторы списка public formal_parameters(typed_parameters elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _params_list=new List(); /// @@ -6769,7 +6695,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public formal_parameters Add(typed_parameters elem, SourceContext sc = null) { params_list.Add(elem); @@ -6777,22 +6702,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(typed_parameters el) { params_list.Insert(0, el); } - + public void AddFirst(IEnumerable els) { params_list.InsertRange(0, els); } - + public void AddMany(params typed_parameters[] els) { params_list.AddRange(els); } - + private int FindIndexInList(typed_parameters el) { var ind = params_list.FindIndex(x => x == el); @@ -6800,55 +6725,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(typed_parameters el, typed_parameters newel) { params_list.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(typed_parameters el, IEnumerable newels) { params_list.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(typed_parameters el, typed_parameters newel) { params_list.Insert(FindIndex(el), newel); } - + public void InsertBefore(typed_parameters el, IEnumerable newels) { params_list.InsertRange(FindIndex(el), newels); } - + public bool Remove(typed_parameters el) { return params_list.Remove(el); } - + public void ReplaceInList(typed_parameters el, typed_parameters newel) { params_list[FindIndexInList(el)] = newel; } - + public void ReplaceInList(typed_parameters el, IEnumerable newels) { var ind = FindIndexInList(el); params_list.RemoveAt(ind); params_list.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return params_list.RemoveAll(match); } - + public typed_parameters Last() { return params_list[params_list.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -6970,14 +6894,11 @@ namespace PascalABCCompiler.SyntaxTree this._proc_attributes=_proc_attributes; source_context = sc; } - // Конструкторы списка public procedure_attributes_list(procedure_attribute elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _proc_attributes=new List(); /// @@ -6996,7 +6917,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public procedure_attributes_list Add(procedure_attribute elem, SourceContext sc = null) { proc_attributes.Add(elem); @@ -7004,22 +6924,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(procedure_attribute el) { proc_attributes.Insert(0, el); } - + public void AddFirst(IEnumerable els) { proc_attributes.InsertRange(0, els); } - + public void AddMany(params procedure_attribute[] els) { proc_attributes.AddRange(els); } - + private int FindIndexInList(procedure_attribute el) { var ind = proc_attributes.FindIndex(x => x == el); @@ -7027,55 +6947,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(procedure_attribute el, procedure_attribute newel) { proc_attributes.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(procedure_attribute el, IEnumerable newels) { proc_attributes.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(procedure_attribute el, procedure_attribute newel) { proc_attributes.Insert(FindIndex(el), newel); } - + public void InsertBefore(procedure_attribute el, IEnumerable newels) { proc_attributes.InsertRange(FindIndex(el), newels); } - + public bool Remove(procedure_attribute el) { return proc_attributes.Remove(el); } - + public void ReplaceInList(procedure_attribute el, procedure_attribute newel) { proc_attributes[FindIndexInList(el)] = newel; } - + public void ReplaceInList(procedure_attribute el, IEnumerable newels) { var ind = FindIndexInList(el); proc_attributes.RemoveAt(ind); proc_attributes.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return proc_attributes.RemoveAll(match); } - + public procedure_attribute Last() { return proc_attributes[proc_attributes.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -7240,7 +7159,6 @@ namespace PascalABCCompiler.SyntaxTree this._where_defs=_where_defs; source_context = sc; } - protected formal_parameters _parameters; protected procedure_attributes_list _proc_attributes; protected method_name _name; @@ -7558,7 +7476,6 @@ namespace PascalABCCompiler.SyntaxTree this._return_type=_return_type; source_context = sc; } - protected type_definition _return_type; /// @@ -7761,7 +7678,6 @@ namespace PascalABCCompiler.SyntaxTree this._is_short_definition=_is_short_definition; source_context = sc; } - protected procedure_header _proc_header; protected proc_block _proc_body; protected bool _is_short_definition; @@ -7943,7 +7859,6 @@ namespace PascalABCCompiler.SyntaxTree this._type_def=_type_def; source_context = sc; } - protected ident _type_name; protected type_definition _type_def; @@ -8106,14 +8021,11 @@ namespace PascalABCCompiler.SyntaxTree this._types_decl=_types_decl; source_context = sc; } - // Конструкторы списка public type_declarations(type_declaration elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _types_decl=new List(); /// @@ -8132,7 +8044,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public type_declarations Add(type_declaration elem, SourceContext sc = null) { types_decl.Add(elem); @@ -8140,22 +8051,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(type_declaration el) { types_decl.Insert(0, el); } - + public void AddFirst(IEnumerable els) { types_decl.InsertRange(0, els); } - + public void AddMany(params type_declaration[] els) { types_decl.AddRange(els); } - + private int FindIndexInList(type_declaration el) { var ind = types_decl.FindIndex(x => x == el); @@ -8163,55 +8074,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(type_declaration el, type_declaration newel) { types_decl.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(type_declaration el, IEnumerable newels) { types_decl.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(type_declaration el, type_declaration newel) { types_decl.Insert(FindIndex(el), newel); } - + public void InsertBefore(type_declaration el, IEnumerable newels) { types_decl.InsertRange(FindIndex(el), newels); } - + public bool Remove(type_declaration el) { return types_decl.Remove(el); } - + public void ReplaceInList(type_declaration el, type_declaration newel) { types_decl[FindIndexInList(el)] = newel; } - + public void ReplaceInList(type_declaration el, IEnumerable newels) { var ind = FindIndexInList(el); types_decl.RemoveAt(ind); types_decl.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return types_decl.RemoveAll(match); } - + public type_declaration Last() { return types_decl[types_decl.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -8341,7 +8251,6 @@ namespace PascalABCCompiler.SyntaxTree this._const_value=_const_value; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -8491,7 +8400,6 @@ namespace PascalABCCompiler.SyntaxTree this._const_type=_const_type; source_context = sc; } - protected type_definition _const_type; /// @@ -8650,7 +8558,6 @@ namespace PascalABCCompiler.SyntaxTree this._const_value=_const_value; source_context = sc; } - protected ident _const_name; protected expression _const_value; @@ -8813,14 +8720,11 @@ namespace PascalABCCompiler.SyntaxTree this._const_defs=_const_defs; source_context = sc; } - // Конструкторы списка public consts_definitions_list(const_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _const_defs=new List(); /// @@ -8839,7 +8743,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public consts_definitions_list Add(const_definition elem, SourceContext sc = null) { const_defs.Add(elem); @@ -8847,22 +8750,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(const_definition el) { const_defs.Insert(0, el); } - + public void AddFirst(IEnumerable els) { const_defs.InsertRange(0, els); } - + public void AddMany(params const_definition[] els) { const_defs.AddRange(els); } - + private int FindIndexInList(const_definition el) { var ind = const_defs.FindIndex(x => x == el); @@ -8870,55 +8773,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(const_definition el, const_definition newel) { const_defs.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(const_definition el, IEnumerable newels) { const_defs.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(const_definition el, const_definition newel) { const_defs.Insert(FindIndex(el), newel); } - + public void InsertBefore(const_definition el, IEnumerable newels) { const_defs.InsertRange(FindIndex(el), newels); } - + public bool Remove(const_definition el) { return const_defs.Remove(el); } - + public void ReplaceInList(const_definition el, const_definition newel) { const_defs[FindIndexInList(el)] = newel; } - + public void ReplaceInList(const_definition el, IEnumerable newels) { var ind = FindIndexInList(el); const_defs.RemoveAt(ind); const_defs.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return const_defs.RemoveAll(match); } - + public const_definition Last() { return const_defs[const_defs.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -9047,7 +8949,6 @@ namespace PascalABCCompiler.SyntaxTree this._HeaderKeyword=_HeaderKeyword; source_context = sc; } - protected ident _idunit_name; protected UnitHeaderKeyword _HeaderKeyword; @@ -9196,7 +9097,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - protected ident_list _name; /// @@ -9347,7 +9247,6 @@ namespace PascalABCCompiler.SyntaxTree this._in_file=_in_file; source_context = sc; } - protected string_const _in_file; /// @@ -9489,14 +9388,11 @@ namespace PascalABCCompiler.SyntaxTree this._units=_units; source_context = sc; } - // Конструкторы списка public uses_list(unit_or_namespace elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _units=new List(); /// @@ -9515,7 +9411,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public uses_list Add(unit_or_namespace elem, SourceContext sc = null) { units.Add(elem); @@ -9523,22 +9418,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(unit_or_namespace el) { units.Insert(0, el); } - + public void AddFirst(IEnumerable els) { units.InsertRange(0, els); } - + public void AddMany(params unit_or_namespace[] els) { units.AddRange(els); } - + private int FindIndexInList(unit_or_namespace el) { var ind = units.FindIndex(x => x == el); @@ -9546,55 +9441,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(unit_or_namespace el, unit_or_namespace newel) { units.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(unit_or_namespace el, IEnumerable newels) { units.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(unit_or_namespace el, unit_or_namespace newel) { units.Insert(FindIndex(el), newel); } - + public void InsertBefore(unit_or_namespace el, IEnumerable newels) { units.InsertRange(FindIndex(el), newels); } - + public bool Remove(unit_or_namespace el) { return units.Remove(el); } - + public void ReplaceInList(unit_or_namespace el, unit_or_namespace newel) { units[FindIndexInList(el)] = newel; } - + public void ReplaceInList(unit_or_namespace el, IEnumerable newels) { var ind = FindIndexInList(el); units.RemoveAt(ind); units.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return units.RemoveAll(match); } - + public unit_or_namespace Last() { return units[units.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -9722,7 +9616,6 @@ namespace PascalABCCompiler.SyntaxTree this._using_list=_using_list; source_context = sc; } - protected uses_list _used_units; protected declarations _program_definitions; protected statement_list _program_code; @@ -9936,14 +9829,11 @@ namespace PascalABCCompiler.SyntaxTree this._Language=_Language; source_context = sc; } - // Конструкторы списка public compilation_unit(compiler_directive elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected string _file_name; protected List _compiler_directives=new List(); protected LanguageId _Language; @@ -9994,7 +9884,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public compilation_unit Add(compiler_directive elem, SourceContext sc = null) { compiler_directives.Add(elem); @@ -10002,22 +9891,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(compiler_directive el) { compiler_directives.Insert(0, el); } - + public void AddFirst(IEnumerable els) { compiler_directives.InsertRange(0, els); } - + public void AddMany(params compiler_directive[] els) { compiler_directives.AddRange(els); } - + private int FindIndexInList(compiler_directive el) { var ind = compiler_directives.FindIndex(x => x == el); @@ -10025,55 +9914,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(compiler_directive el, compiler_directive newel) { compiler_directives.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(compiler_directive el, IEnumerable newels) { compiler_directives.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(compiler_directive el, compiler_directive newel) { compiler_directives.Insert(FindIndex(el), newel); } - + public void InsertBefore(compiler_directive el, IEnumerable newels) { compiler_directives.InsertRange(FindIndex(el), newels); } - + public bool Remove(compiler_directive el) { return compiler_directives.Remove(el); } - + public void ReplaceInList(compiler_directive el, compiler_directive newel) { compiler_directives[FindIndexInList(el)] = newel; } - + public void ReplaceInList(compiler_directive el, IEnumerable newels) { var ind = FindIndexInList(el); compiler_directives.RemoveAt(ind); compiler_directives.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return compiler_directives.RemoveAll(match); } - + public compiler_directive Last() { return compiler_directives[compiler_directives.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -10240,7 +10128,6 @@ namespace PascalABCCompiler.SyntaxTree this._attributes=_attributes; source_context = sc; } - protected unit_name _unit_name; protected interface_node _interface_part; protected implementation_node _implementation_part; @@ -10563,7 +10450,6 @@ namespace PascalABCCompiler.SyntaxTree this._using_namespaces=_using_namespaces; source_context = sc; } - protected program_name _program_name; protected uses_list _used_units; protected block _program_block; @@ -10800,7 +10686,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -10904,7 +10789,6 @@ namespace PascalABCCompiler.SyntaxTree this._address_of=_address_of; source_context = sc; } - protected addressed_value _address_of; /// @@ -11043,7 +10927,6 @@ namespace PascalABCCompiler.SyntaxTree this._exec_if_true=_exec_if_true; source_context = sc; } - protected expression_list _conditions; protected statement _exec_if_true; @@ -11210,7 +11093,6 @@ namespace PascalABCCompiler.SyntaxTree this._else_statement=_else_statement; source_context = sc; } - protected expression _param; protected case_variants _conditions; protected statement _else_statement; @@ -11405,14 +11287,11 @@ namespace PascalABCCompiler.SyntaxTree this._explicit_interface_name=_explicit_interface_name; source_context = sc; } - // Конструкторы списка public method_name(ident elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _ln; protected ident _class_name; protected ident _meth_name; @@ -11479,7 +11358,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public method_name Add(ident elem, SourceContext sc = null) { ln.Add(elem); @@ -11487,22 +11365,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(ident el) { ln.Insert(0, el); } - + public void AddFirst(IEnumerable els) { ln.InsertRange(0, els); } - + public void AddMany(params ident[] els) { ln.AddRange(els); } - + private int FindIndexInList(ident el) { var ind = ln.FindIndex(x => x == el); @@ -11510,55 +11388,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(ident el, ident newel) { ln.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(ident el, IEnumerable newels) { ln.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(ident el, ident newel) { ln.Insert(FindIndex(el), newel); } - + public void InsertBefore(ident el, IEnumerable newels) { ln.InsertRange(FindIndex(el), newels); } - + public bool Remove(ident el) { return ln.Remove(el); } - + public void ReplaceInList(ident el, ident newel) { ln[FindIndexInList(el)] = newel; } - + public void ReplaceInList(ident el, IEnumerable newels) { var ind = FindIndexInList(el); ln.RemoveAt(ind); ln.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return ln.RemoveAll(match); } - + public ident Last() { return ln[ln.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -11718,7 +11595,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected addressed_value _left; protected addressed_value _right; @@ -11865,7 +11741,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -11968,7 +11843,6 @@ namespace PascalABCCompiler.SyntaxTree this._label=_label; source_context = sc; } - protected ident _label; /// @@ -12107,7 +11981,6 @@ namespace PascalABCCompiler.SyntaxTree this._to_statement=_to_statement; source_context = sc; } - protected ident _label_name; protected statement _to_statement; @@ -12272,7 +12145,6 @@ namespace PascalABCCompiler.SyntaxTree this._do_with=_do_with; source_context = sc; } - protected statement _what_do; protected expression_list _do_with; @@ -12454,7 +12326,6 @@ namespace PascalABCCompiler.SyntaxTree this._parameters=_parameters; source_context = sc; } - protected expression_list _parameters; /// @@ -12601,7 +12472,6 @@ namespace PascalABCCompiler.SyntaxTree this._values=_values; source_context = sc; } - protected expression_list _values; /// @@ -12738,7 +12608,6 @@ namespace PascalABCCompiler.SyntaxTree this._elements=_elements; source_context = sc; } - protected expression_list _elements; /// @@ -12875,7 +12744,6 @@ namespace PascalABCCompiler.SyntaxTree this._accessor_name=_accessor_name; source_context = sc; } - protected ident _accessor_name; /// @@ -13007,7 +12875,6 @@ namespace PascalABCCompiler.SyntaxTree this._accessor_name=_accessor_name; source_context = sc; } - protected ident _accessor_name; /// @@ -13141,7 +13008,6 @@ namespace PascalABCCompiler.SyntaxTree this._write_accessor=_write_accessor; source_context = sc; } - protected read_accessor_name _read_accessor; protected write_accessor_name _write_accessor; @@ -13311,7 +13177,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr=_attr; source_context = sc; } - protected ident _property_name; protected type_definition _property_type; protected expression _index_expression; @@ -13630,7 +13495,6 @@ namespace PascalABCCompiler.SyntaxTree this._is_default=_is_default; source_context = sc; } - protected formal_parameters _property_parametres; protected default_indexer_property_node _is_default; @@ -13856,14 +13720,11 @@ namespace PascalABCCompiler.SyntaxTree this._access_mod=_access_mod; source_context = sc; } - // Конструкторы списка public class_members(declaration elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _members=new List(); protected access_modifer_node _access_mod; @@ -13898,7 +13759,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public class_members Add(declaration elem, SourceContext sc = null) { members.Add(elem); @@ -13906,22 +13766,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(declaration el) { members.Insert(0, el); } - + public void AddFirst(IEnumerable els) { members.InsertRange(0, els); } - + public void AddMany(params declaration[] els) { members.AddRange(els); } - + private int FindIndexInList(declaration el) { var ind = members.FindIndex(x => x == el); @@ -13929,55 +13789,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(declaration el, declaration newel) { members.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(declaration el, IEnumerable newels) { members.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(declaration el, declaration newel) { members.Insert(FindIndex(el), newel); } - + public void InsertBefore(declaration el, IEnumerable newels) { members.InsertRange(FindIndex(el), newels); } - + public bool Remove(declaration el) { return members.Remove(el); } - + public void ReplaceInList(declaration el, declaration newel) { members[FindIndexInList(el)] = newel; } - + public void ReplaceInList(declaration el, IEnumerable newels) { var ind = FindIndexInList(el); members.RemoveAt(ind); members.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return members.RemoveAll(match); } - + public declaration Last() { return members[members.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -14115,7 +13974,6 @@ namespace PascalABCCompiler.SyntaxTree this._access_level=_access_level; source_context = sc; } - protected access_modifer _access_level; /// @@ -14232,14 +14090,11 @@ namespace PascalABCCompiler.SyntaxTree this._class_def_blocks=_class_def_blocks; source_context = sc; } - // Конструкторы списка public class_body(class_members elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _class_def_blocks=new List(); /// @@ -14258,7 +14113,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public class_body Add(class_members elem, SourceContext sc = null) { class_def_blocks.Add(elem); @@ -14266,22 +14120,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(class_members el) { class_def_blocks.Insert(0, el); } - + public void AddFirst(IEnumerable els) { class_def_blocks.InsertRange(0, els); } - + public void AddMany(params class_members[] els) { class_def_blocks.AddRange(els); } - + private int FindIndexInList(class_members el) { var ind = class_def_blocks.FindIndex(x => x == el); @@ -14289,55 +14143,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(class_members el, class_members newel) { class_def_blocks.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(class_members el, IEnumerable newels) { class_def_blocks.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(class_members el, class_members newel) { class_def_blocks.Insert(FindIndex(el), newel); } - + public void InsertBefore(class_members el, IEnumerable newels) { class_def_blocks.InsertRange(FindIndex(el), newels); } - + public bool Remove(class_members el) { return class_def_blocks.Remove(el); } - + public void ReplaceInList(class_members el, class_members newel) { class_def_blocks[FindIndexInList(el)] = newel; } - + public void ReplaceInList(class_members el, IEnumerable newels) { var ind = FindIndexInList(el); class_def_blocks.RemoveAt(ind); class_def_blocks.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return class_def_blocks.RemoveAll(match); } - + public class_members Last() { return class_def_blocks[class_def_blocks.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -14502,7 +14355,6 @@ namespace PascalABCCompiler.SyntaxTree this._is_auto=_is_auto; source_context = sc; } - protected named_type_reference_list _class_parents; protected class_body _body; protected class_keyword _keyword; @@ -14762,7 +14614,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -14883,7 +14734,6 @@ namespace PascalABCCompiler.SyntaxTree this._unit_name=_unit_name; source_context = sc; } - protected known_type _tp; protected ident _unit_name; @@ -15066,7 +14916,6 @@ namespace PascalABCCompiler.SyntaxTree this._of_type=_of_type; source_context = sc; } - protected type_definition _of_type; /// @@ -15215,7 +15064,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected ident _name; protected expression _val; @@ -15378,14 +15226,11 @@ namespace PascalABCCompiler.SyntaxTree this._rec_consts=_rec_consts; source_context = sc; } - // Конструкторы списка public record_const(record_const_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _rec_consts=new List(); /// @@ -15404,7 +15249,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public record_const Add(record_const_definition elem, SourceContext sc = null) { rec_consts.Add(elem); @@ -15412,22 +15256,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(record_const_definition el) { rec_consts.Insert(0, el); } - + public void AddFirst(IEnumerable els) { rec_consts.InsertRange(0, els); } - + public void AddMany(params record_const_definition[] els) { rec_consts.AddRange(els); } - + private int FindIndexInList(record_const_definition el) { var ind = rec_consts.FindIndex(x => x == el); @@ -15435,55 +15279,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(record_const_definition el, record_const_definition newel) { rec_consts.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(record_const_definition el, IEnumerable newels) { rec_consts.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(record_const_definition el, record_const_definition newel) { rec_consts.Insert(FindIndex(el), newel); } - + public void InsertBefore(record_const_definition el, IEnumerable newels) { rec_consts.InsertRange(FindIndex(el), newels); } - + public bool Remove(record_const_definition el) { return rec_consts.Remove(el); } - + public void ReplaceInList(record_const_definition el, record_const_definition newel) { rec_consts[FindIndexInList(el)] = newel; } - + public void ReplaceInList(record_const_definition el, IEnumerable newels) { var ind = FindIndexInList(el); rec_consts.RemoveAt(ind); rec_consts.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return rec_consts.RemoveAll(match); } - + public record_const_definition Last() { return rec_consts[rec_consts.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -15633,7 +15476,6 @@ namespace PascalABCCompiler.SyntaxTree this._base_type=_base_type; source_context = sc; } - protected record_type_parts _parts; protected type_definition _base_type; @@ -15825,7 +15667,6 @@ namespace PascalABCCompiler.SyntaxTree this._enumerators=_enumerators; source_context = sc; } - protected enumerator_list _enumerators; /// @@ -15972,7 +15813,6 @@ namespace PascalABCCompiler.SyntaxTree this._cconst=_cconst; source_context = sc; } - protected char _cconst; /// @@ -16094,7 +15934,6 @@ namespace PascalABCCompiler.SyntaxTree this._excep=_excep; source_context = sc; } - protected expression _excep; /// @@ -16231,7 +16070,6 @@ namespace PascalABCCompiler.SyntaxTree this._char_num=_char_num; source_context = sc; } - protected int _char_num; /// @@ -16353,14 +16191,11 @@ namespace PascalABCCompiler.SyntaxTree this._literals=_literals; source_context = sc; } - // Конструкторы списка public literal_const_line(literal elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _literals=new List(); /// @@ -16379,7 +16214,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public literal_const_line Add(literal elem, SourceContext sc = null) { literals.Add(elem); @@ -16387,22 +16221,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(literal el) { literals.Insert(0, el); } - + public void AddFirst(IEnumerable els) { literals.InsertRange(0, els); } - + public void AddMany(params literal[] els) { literals.AddRange(els); } - + private int FindIndexInList(literal el) { var ind = literals.FindIndex(x => x == el); @@ -16410,55 +16244,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(literal el, literal newel) { literals.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(literal el, IEnumerable newels) { literals.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(literal el, literal newel) { literals.Insert(FindIndex(el), newel); } - + public void InsertBefore(literal el, IEnumerable newels) { literals.InsertRange(FindIndex(el), newels); } - + public bool Remove(literal el) { return literals.Remove(el); } - + public void ReplaceInList(literal el, literal newel) { literals[FindIndexInList(el)] = newel; } - + public void ReplaceInList(literal el, IEnumerable newels) { var ind = FindIndexInList(el); literals.RemoveAt(ind); literals.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return literals.RemoveAll(match); } - + public literal Last() { return literals[literals.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -16608,7 +16441,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - protected expression _num_of_symbols; protected ident _name; @@ -16783,7 +16615,6 @@ namespace PascalABCCompiler.SyntaxTree this._vars_type=_vars_type; source_context = sc; } - protected ident_list _vars; protected type_definition _vars_type; @@ -16941,14 +16772,11 @@ namespace PascalABCCompiler.SyntaxTree this._vars=_vars; source_context = sc; } - // Конструкторы списка public variant_list(variant elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _vars=new List(); /// @@ -16967,7 +16795,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public variant_list Add(variant elem, SourceContext sc = null) { vars.Add(elem); @@ -16975,22 +16802,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(variant el) { vars.Insert(0, el); } - + public void AddFirst(IEnumerable els) { vars.InsertRange(0, els); } - + public void AddMany(params variant[] els) { vars.AddRange(els); } - + private int FindIndexInList(variant el) { var ind = vars.FindIndex(x => x == el); @@ -16998,55 +16825,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(variant el, variant newel) { vars.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(variant el, IEnumerable newels) { vars.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(variant el, variant newel) { vars.Insert(FindIndex(el), newel); } - + public void InsertBefore(variant el, IEnumerable newels) { vars.InsertRange(FindIndex(el), newels); } - + public bool Remove(variant el) { return vars.Remove(el); } - + public void ReplaceInList(variant el, variant newel) { vars[FindIndexInList(el)] = newel; } - + public void ReplaceInList(variant el, IEnumerable newels) { var ind = FindIndexInList(el); vars.RemoveAt(ind); vars.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return vars.RemoveAll(match); } - + public variant Last() { return vars[vars.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -17170,7 +16996,6 @@ namespace PascalABCCompiler.SyntaxTree this._parts=_parts; source_context = sc; } - protected expression_list _case_exprs; protected record_type_parts _parts; @@ -17328,14 +17153,11 @@ namespace PascalABCCompiler.SyntaxTree this._vars=_vars; source_context = sc; } - // Конструкторы списка public variant_types(variant_type elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _vars=new List(); /// @@ -17354,7 +17176,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public variant_types Add(variant_type elem, SourceContext sc = null) { vars.Add(elem); @@ -17362,22 +17183,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(variant_type el) { vars.Insert(0, el); } - + public void AddFirst(IEnumerable els) { vars.InsertRange(0, els); } - + public void AddMany(params variant_type[] els) { vars.AddRange(els); } - + private int FindIndexInList(variant_type el) { var ind = vars.FindIndex(x => x == el); @@ -17385,55 +17206,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(variant_type el, variant_type newel) { vars.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(variant_type el, IEnumerable newels) { vars.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(variant_type el, variant_type newel) { vars.Insert(FindIndex(el), newel); } - + public void InsertBefore(variant_type el, IEnumerable newels) { vars.InsertRange(FindIndex(el), newels); } - + public bool Remove(variant_type el) { return vars.Remove(el); } - + public void ReplaceInList(variant_type el, variant_type newel) { vars[FindIndexInList(el)] = newel; } - + public void ReplaceInList(variant_type el, IEnumerable newels) { var ind = FindIndexInList(el); vars.RemoveAt(ind); vars.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return vars.RemoveAll(match); } - + public variant_type Last() { return vars[vars.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -17559,7 +17379,6 @@ namespace PascalABCCompiler.SyntaxTree this._vars=_vars; source_context = sc; } - protected ident _var_name; protected type_definition _var_type; protected variant_types _vars; @@ -17743,7 +17562,6 @@ namespace PascalABCCompiler.SyntaxTree this._func_name=_func_name; source_context = sc; } - protected addressed_value _func_name; /// @@ -17901,7 +17719,6 @@ namespace PascalABCCompiler.SyntaxTree this._class_name=_class_name; source_context = sc; } - protected ident _class_name; /// @@ -18042,7 +17859,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -18164,7 +17980,6 @@ namespace PascalABCCompiler.SyntaxTree this._elem_type=_elem_type; source_context = sc; } - protected type_definition _elem_type; /// @@ -18326,7 +18141,6 @@ namespace PascalABCCompiler.SyntaxTree this._where_defs=_where_defs; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -18512,7 +18326,6 @@ namespace PascalABCCompiler.SyntaxTree this._where_defs=_where_defs; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -18685,7 +18498,6 @@ namespace PascalABCCompiler.SyntaxTree this._exprs=_exprs; source_context = sc; } - protected ident _method_name; protected expression_list _exprs; @@ -18852,7 +18664,6 @@ namespace PascalABCCompiler.SyntaxTree this._cast_op=_cast_op; source_context = sc; } - protected addressed_value _expr; protected type_definition _type_def; protected op_typecast _cast_op; @@ -19036,7 +18847,6 @@ namespace PascalABCCompiler.SyntaxTree this._using_namespaces=_using_namespaces; source_context = sc; } - protected declarations _interface_definitions; protected uses_list _uses_modules; protected using_list _using_namespaces; @@ -19224,7 +19034,6 @@ namespace PascalABCCompiler.SyntaxTree this._using_namespaces=_using_namespaces; source_context = sc; } - protected uses_list _uses_modules; protected declarations _implementation_definitions; protected using_list _using_namespaces; @@ -19410,7 +19219,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected expression _left; protected expression _right; @@ -19575,7 +19383,6 @@ namespace PascalABCCompiler.SyntaxTree this._program_code=_program_code; source_context = sc; } - protected declarations _defs; protected statement_list _program_code; @@ -19717,7 +19524,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -19834,7 +19640,6 @@ namespace PascalABCCompiler.SyntaxTree this._type_name=_type_name; source_context = sc; } - protected named_type_reference _type_name; /// @@ -19982,7 +19787,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -20085,7 +19889,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -20188,14 +19991,11 @@ namespace PascalABCCompiler.SyntaxTree this._variants=_variants; source_context = sc; } - // Конструкторы списка public case_variants(case_variant elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _variants=new List(); /// @@ -20214,7 +20014,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public case_variants Add(case_variant elem, SourceContext sc = null) { variants.Add(elem); @@ -20222,22 +20021,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(case_variant el) { variants.Insert(0, el); } - + public void AddFirst(IEnumerable els) { variants.InsertRange(0, els); } - + public void AddMany(params case_variant[] els) { variants.AddRange(els); } - + private int FindIndexInList(case_variant el) { var ind = variants.FindIndex(x => x == el); @@ -20245,55 +20044,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(case_variant el, case_variant newel) { variants.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(case_variant el, IEnumerable newels) { variants.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(case_variant el, case_variant newel) { variants.Insert(FindIndex(el), newel); } - + public void InsertBefore(case_variant el, IEnumerable newels) { variants.InsertRange(FindIndex(el), newels); } - + public bool Remove(case_variant el) { return variants.Remove(el); } - + public void ReplaceInList(case_variant el, case_variant newel) { variants[FindIndexInList(el)] = newel; } - + public void ReplaceInList(case_variant el, IEnumerable newels) { var ind = FindIndexInList(el); variants.RemoveAt(ind); variants.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return variants.RemoveAll(match); } - + public case_variant Last() { return variants[variants.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -20417,7 +20215,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected expression _left; protected expression _right; @@ -20580,14 +20377,11 @@ namespace PascalABCCompiler.SyntaxTree this._vars=_vars; source_context = sc; } - // Конструкторы списка public var_def_list_for_record(var_def_statement elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _vars=new List(); /// @@ -20606,7 +20400,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public var_def_list_for_record Add(var_def_statement elem, SourceContext sc = null) { vars.Add(elem); @@ -20614,22 +20407,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(var_def_statement el) { vars.Insert(0, el); } - + public void AddFirst(IEnumerable els) { vars.InsertRange(0, els); } - + public void AddMany(params var_def_statement[] els) { vars.AddRange(els); } - + private int FindIndexInList(var_def_statement el) { var ind = vars.FindIndex(x => x == el); @@ -20637,55 +20430,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(var_def_statement el, var_def_statement newel) { vars.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(var_def_statement el, IEnumerable newels) { vars.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(var_def_statement el, var_def_statement newel) { vars.Insert(FindIndex(el), newel); } - + public void InsertBefore(var_def_statement el, IEnumerable newels) { vars.InsertRange(FindIndex(el), newels); } - + public bool Remove(var_def_statement el) { return vars.Remove(el); } - + public void ReplaceInList(var_def_statement el, var_def_statement newel) { vars[FindIndexInList(el)] = newel; } - + public void ReplaceInList(var_def_statement el, IEnumerable newels) { var ind = FindIndexInList(el); vars.RemoveAt(ind); vars.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return vars.RemoveAll(match); } - + public var_def_statement Last() { return vars[vars.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -20809,7 +20601,6 @@ namespace PascalABCCompiler.SyntaxTree this._variant_part=_variant_part; source_context = sc; } - protected var_def_list_for_record _fixed_part; protected variant_record_type _variant_part; @@ -20951,7 +20742,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -21053,7 +20843,6 @@ namespace PascalABCCompiler.SyntaxTree this._index_expression=_index_expression; source_context = sc; } - protected property_parameter_list _parameter_list; protected type_definition _property_type; protected expression _index_expression; @@ -21239,7 +21028,6 @@ namespace PascalABCCompiler.SyntaxTree this._type=_type; source_context = sc; } - protected ident_list _names; protected type_definition _type; @@ -21397,14 +21185,11 @@ namespace PascalABCCompiler.SyntaxTree this._parameters=_parameters; source_context = sc; } - // Конструкторы списка public property_parameter_list(property_parameter elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _parameters=new List(); /// @@ -21423,7 +21208,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public property_parameter_list Add(property_parameter elem, SourceContext sc = null) { parameters.Add(elem); @@ -21431,22 +21215,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(property_parameter el) { parameters.Insert(0, el); } - + public void AddFirst(IEnumerable els) { parameters.InsertRange(0, els); } - + public void AddMany(params property_parameter[] els) { parameters.AddRange(els); } - + private int FindIndexInList(property_parameter el) { var ind = parameters.FindIndex(x => x == el); @@ -21454,55 +21238,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(property_parameter el, property_parameter newel) { parameters.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(property_parameter el, IEnumerable newels) { parameters.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(property_parameter el, property_parameter newel) { parameters.Insert(FindIndex(el), newel); } - + public void InsertBefore(property_parameter el, IEnumerable newels) { parameters.InsertRange(FindIndex(el), newels); } - + public bool Remove(property_parameter el) { return parameters.Remove(el); } - + public void ReplaceInList(property_parameter el, property_parameter newel) { parameters[FindIndexInList(el)] = newel; } - + public void ReplaceInList(property_parameter el, IEnumerable newels) { var ind = FindIndexInList(el); parameters.RemoveAt(ind); parameters.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return parameters.RemoveAll(match); } - + public property_parameter Last() { return parameters[parameters.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -21625,7 +21408,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -21733,7 +21515,6 @@ namespace PascalABCCompiler.SyntaxTree this._format2=_format2; source_context = sc; } - protected expression _expr; protected expression _format1; protected expression _format2; @@ -21924,7 +21705,6 @@ namespace PascalABCCompiler.SyntaxTree this._finalization_sect=_finalization_sect; source_context = sc; } - protected statement_list _initialization_sect; protected statement_list _finalization_sect; @@ -22082,7 +21862,6 @@ namespace PascalABCCompiler.SyntaxTree this._text=_text; source_context = sc; } - protected string _text; /// @@ -22201,7 +21980,6 @@ namespace PascalABCCompiler.SyntaxTree this._address=_address; source_context = sc; } - protected expression _expr; protected expression _address; @@ -22383,7 +22161,6 @@ namespace PascalABCCompiler.SyntaxTree this._type=_type; source_context = sc; } - protected Operators _type; /// @@ -22520,7 +22297,6 @@ namespace PascalABCCompiler.SyntaxTree this._file_of_type=_file_of_type; source_context = sc; } - protected type_definition _file_of_type; /// @@ -22686,7 +22462,6 @@ namespace PascalABCCompiler.SyntaxTree this._type=_type; source_context = sc; } - protected known_type _type; /// @@ -22813,7 +22588,6 @@ namespace PascalABCCompiler.SyntaxTree this._statements=_statements; source_context = sc; } - protected ident _variable; protected named_type_reference _type_name; protected statement _statements; @@ -22999,7 +22773,6 @@ namespace PascalABCCompiler.SyntaxTree this._type_name=_type_name; source_context = sc; } - protected ident _variable; protected named_type_reference _type_name; @@ -23157,14 +22930,11 @@ namespace PascalABCCompiler.SyntaxTree this._handlers=_handlers; source_context = sc; } - // Конструкторы списка public exception_handler_list(exception_handler elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _handlers=new List(); /// @@ -23183,7 +22953,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public exception_handler_list Add(exception_handler elem, SourceContext sc = null) { handlers.Add(elem); @@ -23191,22 +22960,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(exception_handler el) { handlers.Insert(0, el); } - + public void AddFirst(IEnumerable els) { handlers.InsertRange(0, els); } - + public void AddMany(params exception_handler[] els) { handlers.AddRange(els); } - + private int FindIndexInList(exception_handler el) { var ind = handlers.FindIndex(x => x == el); @@ -23214,55 +22983,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(exception_handler el, exception_handler newel) { handlers.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(exception_handler el, IEnumerable newels) { handlers.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(exception_handler el, exception_handler newel) { handlers.Insert(FindIndex(el), newel); } - + public void InsertBefore(exception_handler el, IEnumerable newels) { handlers.InsertRange(FindIndex(el), newels); } - + public bool Remove(exception_handler el) { return handlers.Remove(el); } - + public void ReplaceInList(exception_handler el, exception_handler newel) { handlers[FindIndexInList(el)] = newel; } - + public void ReplaceInList(exception_handler el, IEnumerable newels) { var ind = FindIndexInList(el); handlers.RemoveAt(ind); handlers.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return handlers.RemoveAll(match); } - + public exception_handler Last() { return handlers[handlers.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -23388,7 +23156,6 @@ namespace PascalABCCompiler.SyntaxTree this._else_stmt_list=_else_stmt_list; source_context = sc; } - protected statement_list _stmt_list; protected exception_handler_list _handlers; protected statement_list _else_stmt_list; @@ -23556,7 +23323,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -23654,7 +23420,6 @@ namespace PascalABCCompiler.SyntaxTree this._stmt_list=_stmt_list; source_context = sc; } - protected statement_list _stmt_list; /// @@ -23786,7 +23551,6 @@ namespace PascalABCCompiler.SyntaxTree this._except_block=_except_block; source_context = sc; } - protected exception_block _except_block; /// @@ -23920,7 +23684,6 @@ namespace PascalABCCompiler.SyntaxTree this._handler=_handler; source_context = sc; } - protected statement_list _stmt_list; protected try_handler _handler; @@ -24067,7 +23830,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -24172,7 +23934,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - protected expression _modulename; protected expression _name; @@ -24330,14 +24091,11 @@ namespace PascalABCCompiler.SyntaxTree this._namespaces=_namespaces; source_context = sc; } - // Конструкторы списка public using_list(unit_or_namespace elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _namespaces=new List(); /// @@ -24356,7 +24114,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public using_list Add(unit_or_namespace elem, SourceContext sc = null) { namespaces.Add(elem); @@ -24364,22 +24121,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(unit_or_namespace el) { namespaces.Insert(0, el); } - + public void AddFirst(IEnumerable els) { namespaces.InsertRange(0, els); } - + public void AddMany(params unit_or_namespace[] els) { namespaces.AddRange(els); } - + private int FindIndexInList(unit_or_namespace el) { var ind = namespaces.FindIndex(x => x == el); @@ -24387,55 +24144,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(unit_or_namespace el, unit_or_namespace newel) { namespaces.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(unit_or_namespace el, IEnumerable newels) { namespaces.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(unit_or_namespace el, unit_or_namespace newel) { namespaces.Insert(FindIndex(el), newel); } - + public void InsertBefore(unit_or_namespace el, IEnumerable newels) { namespaces.InsertRange(FindIndex(el), newels); } - + public bool Remove(unit_or_namespace el) { return namespaces.Remove(el); } - + public void ReplaceInList(unit_or_namespace el, unit_or_namespace newel) { namespaces[FindIndexInList(el)] = newel; } - + public void ReplaceInList(unit_or_namespace el, IEnumerable newels) { var ind = FindIndexInList(el); namespaces.RemoveAt(ind); namespaces.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return namespaces.RemoveAll(match); } - + public unit_or_namespace Last() { return namespaces[namespaces.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -24559,7 +24315,6 @@ namespace PascalABCCompiler.SyntaxTree this._JumpType=_JumpType; source_context = sc; } - protected expression _expr; protected JumpStmtType _JumpType; @@ -24713,7 +24468,6 @@ namespace PascalABCCompiler.SyntaxTree this._stmt=_stmt; source_context = sc; } - protected statement _stmt; /// @@ -24856,7 +24610,6 @@ namespace PascalABCCompiler.SyntaxTree this._stmt=_stmt; source_context = sc; } - protected ident _identifier; protected type_definition _type_name; protected expression _in_what; @@ -25055,7 +24808,6 @@ namespace PascalABCCompiler.SyntaxTree } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -25158,14 +24910,11 @@ namespace PascalABCCompiler.SyntaxTree this._types=_types; source_context = sc; } - // Конструкторы списка public named_type_reference_list(named_type_reference elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _types=new List(); /// @@ -25184,7 +24933,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public named_type_reference_list Add(named_type_reference elem, SourceContext sc = null) { types.Add(elem); @@ -25192,22 +24940,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(named_type_reference el) { types.Insert(0, el); } - + public void AddFirst(IEnumerable els) { types.InsertRange(0, els); } - + public void AddMany(params named_type_reference[] els) { types.AddRange(els); } - + private int FindIndexInList(named_type_reference el) { var ind = types.FindIndex(x => x == el); @@ -25215,55 +24963,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(named_type_reference el, named_type_reference newel) { types.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(named_type_reference el, IEnumerable newels) { types.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(named_type_reference el, named_type_reference newel) { types.Insert(FindIndex(el), newel); } - + public void InsertBefore(named_type_reference el, IEnumerable newels) { types.InsertRange(FindIndex(el), newels); } - + public bool Remove(named_type_reference el) { return types.Remove(el); } - + public void ReplaceInList(named_type_reference el, named_type_reference newel) { types[FindIndexInList(el)] = newel; } - + public void ReplaceInList(named_type_reference el, IEnumerable newels) { var ind = FindIndexInList(el); types.RemoveAt(ind); types.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return types.RemoveAll(match); } - + public named_type_reference Last() { return types[types.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -25404,14 +25151,11 @@ namespace PascalABCCompiler.SyntaxTree this._params_list=_params_list; source_context = sc; } - // Конструкторы списка public template_param_list(type_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _params_list=new List(); /// @@ -25430,7 +25174,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public template_param_list Add(type_definition elem, SourceContext sc = null) { params_list.Add(elem); @@ -25438,22 +25181,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(type_definition el) { params_list.Insert(0, el); } - + public void AddFirst(IEnumerable els) { params_list.InsertRange(0, els); } - + public void AddMany(params type_definition[] els) { params_list.AddRange(els); } - + private int FindIndexInList(type_definition el) { var ind = params_list.FindIndex(x => x == el); @@ -25461,55 +25204,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(type_definition el, type_definition newel) { params_list.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(type_definition el, IEnumerable newels) { params_list.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(type_definition el, type_definition newel) { params_list.Insert(FindIndex(el), newel); } - + public void InsertBefore(type_definition el, IEnumerable newels) { params_list.InsertRange(FindIndex(el), newels); } - + public bool Remove(type_definition el) { return params_list.Remove(el); } - + public void ReplaceInList(type_definition el, type_definition newel) { params_list[FindIndexInList(el)] = newel; } - + public void ReplaceInList(type_definition el, IEnumerable newels) { var ind = FindIndexInList(el); params_list.RemoveAt(ind); params_list.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return params_list.RemoveAll(match); } - + public type_definition Last() { return params_list[params_list.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -25677,7 +25419,6 @@ namespace PascalABCCompiler.SyntaxTree this._params_list=_params_list; source_context = sc; } - protected named_type_reference _name; protected template_param_list _params_list; @@ -25874,7 +25615,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected Int64 _val; /// @@ -25996,7 +25736,6 @@ namespace PascalABCCompiler.SyntaxTree this._val=_val; source_context = sc; } - protected UInt64 _val; /// @@ -26124,7 +25863,6 @@ namespace PascalABCCompiler.SyntaxTree this._array_init_expr=_array_init_expr; source_context = sc; } - protected type_definition _type; protected expression_list _params_list; protected bool _new_array; @@ -26330,14 +26068,11 @@ namespace PascalABCCompiler.SyntaxTree this._defs=_defs; source_context = sc; } - // Конструкторы списка public where_type_specificator_list(type_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _defs=new List(); /// @@ -26356,7 +26091,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public where_type_specificator_list Add(type_definition elem, SourceContext sc = null) { defs.Add(elem); @@ -26364,22 +26098,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(type_definition el) { defs.Insert(0, el); } - + public void AddFirst(IEnumerable els) { defs.InsertRange(0, els); } - + public void AddMany(params type_definition[] els) { defs.AddRange(els); } - + private int FindIndexInList(type_definition el) { var ind = defs.FindIndex(x => x == el); @@ -26387,55 +26121,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(type_definition el, type_definition newel) { defs.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(type_definition el, IEnumerable newels) { defs.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(type_definition el, type_definition newel) { defs.Insert(FindIndex(el), newel); } - + public void InsertBefore(type_definition el, IEnumerable newels) { defs.InsertRange(FindIndex(el), newels); } - + public bool Remove(type_definition el) { return defs.Remove(el); } - + public void ReplaceInList(type_definition el, type_definition newel) { defs[FindIndexInList(el)] = newel; } - + public void ReplaceInList(type_definition el, IEnumerable newels) { var ind = FindIndexInList(el); defs.RemoveAt(ind); defs.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return defs.RemoveAll(match); } - + public type_definition Last() { return defs[defs.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -26559,7 +26292,6 @@ namespace PascalABCCompiler.SyntaxTree this._types=_types; source_context = sc; } - protected ident_list _names; protected where_type_specificator_list _types; @@ -26717,14 +26449,11 @@ namespace PascalABCCompiler.SyntaxTree this._defs=_defs; source_context = sc; } - // Конструкторы списка public where_definition_list(where_definition elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _defs=new List(); /// @@ -26743,7 +26472,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public where_definition_list Add(where_definition elem, SourceContext sc = null) { defs.Add(elem); @@ -26751,22 +26479,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(where_definition el) { defs.Insert(0, el); } - + public void AddFirst(IEnumerable els) { defs.InsertRange(0, els); } - + public void AddMany(params where_definition[] els) { defs.AddRange(els); } - + private int FindIndexInList(where_definition el) { var ind = defs.FindIndex(x => x == el); @@ -26774,55 +26502,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(where_definition el, where_definition newel) { defs.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(where_definition el, IEnumerable newels) { defs.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(where_definition el, where_definition newel) { defs.Insert(FindIndex(el), newel); } - + public void InsertBefore(where_definition el, IEnumerable newels) { defs.InsertRange(FindIndex(el), newels); } - + public bool Remove(where_definition el) { return defs.Remove(el); } - + public void ReplaceInList(where_definition el, where_definition newel) { defs[FindIndexInList(el)] = newel; } - + public void ReplaceInList(where_definition el, IEnumerable newels) { var ind = FindIndexInList(el); defs.RemoveAt(ind); defs.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return defs.RemoveAll(match); } - + public where_definition Last() { return defs[defs.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -26946,7 +26673,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected type_definition _type_def; protected expression _expr; @@ -27109,7 +26835,6 @@ namespace PascalABCCompiler.SyntaxTree this._type_name=_type_name; source_context = sc; } - protected named_type_reference _type_name; /// @@ -27248,7 +26973,6 @@ namespace PascalABCCompiler.SyntaxTree this._Directive=_Directive; source_context = sc; } - protected token_info _Name; protected token_info _Directive; @@ -27425,7 +27149,6 @@ namespace PascalABCCompiler.SyntaxTree this._operator_type=_operator_type; source_context = sc; } - protected Operators _operator_type; /// @@ -27548,7 +27271,6 @@ namespace PascalABCCompiler.SyntaxTree this._var_def=_var_def; source_context = sc; } - protected var_def_statement _var_def; /// @@ -27689,7 +27411,6 @@ namespace PascalABCCompiler.SyntaxTree this._ret_if_false=_ret_if_false; source_context = sc; } - protected expression _condition; protected expression _ret_if_true; protected expression _ret_if_false; @@ -27878,7 +27599,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected expression _expr; /// @@ -28038,7 +27758,6 @@ namespace PascalABCCompiler.SyntaxTree this._sign=_sign; source_context = sc; } - protected c_scalar_type_name _scalar_name; protected c_scalar_sign _sign; @@ -28220,7 +27939,6 @@ namespace PascalABCCompiler.SyntaxTree this._used_units=_used_units; source_context = sc; } - protected declarations _defs; protected uses_list _used_units; @@ -28404,7 +28122,6 @@ namespace PascalABCCompiler.SyntaxTree this._defs=_defs; source_context = sc; } - protected declarations _defs; /// @@ -28560,7 +28277,6 @@ namespace PascalABCCompiler.SyntaxTree this._max_value=_max_value; source_context = sc; } - protected expression _max_value; /// @@ -28709,7 +28425,6 @@ namespace PascalABCCompiler.SyntaxTree this._value=_value; source_context = sc; } - protected type_definition _name; protected expression _value; @@ -28867,14 +28582,11 @@ namespace PascalABCCompiler.SyntaxTree this._enumerators=_enumerators; source_context = sc; } - // Конструкторы списка public enumerator_list(enumerator elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _enumerators=new List(); /// @@ -28893,7 +28605,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public enumerator_list Add(enumerator elem, SourceContext sc = null) { enumerators.Add(elem); @@ -28901,22 +28612,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(enumerator el) { enumerators.Insert(0, el); } - + public void AddFirst(IEnumerable els) { enumerators.InsertRange(0, els); } - + public void AddMany(params enumerator[] els) { enumerators.AddRange(els); } - + private int FindIndexInList(enumerator el) { var ind = enumerators.FindIndex(x => x == el); @@ -28924,55 +28635,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(enumerator el, enumerator newel) { enumerators.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(enumerator el, IEnumerable newels) { enumerators.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(enumerator el, enumerator newel) { enumerators.Insert(FindIndex(el), newel); } - + public void InsertBefore(enumerator el, IEnumerable newels) { enumerators.InsertRange(FindIndex(el), newels); } - + public bool Remove(enumerator el) { return enumerators.Remove(el); } - + public void ReplaceInList(enumerator el, enumerator newel) { enumerators[FindIndexInList(el)] = newel; } - + public void ReplaceInList(enumerator el, IEnumerable newels) { var ind = FindIndexInList(el); enumerators.RemoveAt(ind); enumerators.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return enumerators.RemoveAll(match); } - + public enumerator Last() { return enumerators[enumerators.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -29100,7 +28810,6 @@ namespace PascalABCCompiler.SyntaxTree this._stmt=_stmt; source_context = sc; } - protected statement _expr1; protected expression _expr2; protected expression _expr3; @@ -29319,7 +29028,6 @@ namespace PascalABCCompiler.SyntaxTree this._Part=_Part; source_context = sc; } - protected expression _condition; protected statement _stmt; protected SwitchPartType _Part; @@ -29499,14 +29207,11 @@ namespace PascalABCCompiler.SyntaxTree this._attributes=_attributes; source_context = sc; } - // Конструкторы списка public type_definition_attr_list(type_definition_attr elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _attributes=new List(); /// @@ -29525,7 +29230,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public type_definition_attr_list Add(type_definition_attr elem, SourceContext sc = null) { attributes.Add(elem); @@ -29533,22 +29237,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(type_definition_attr el) { attributes.Insert(0, el); } - + public void AddFirst(IEnumerable els) { attributes.InsertRange(0, els); } - + public void AddMany(params type_definition_attr[] els) { attributes.AddRange(els); } - + private int FindIndexInList(type_definition_attr el) { var ind = attributes.FindIndex(x => x == el); @@ -29556,55 +29260,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(type_definition_attr el, type_definition_attr newel) { attributes.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(type_definition_attr el, IEnumerable newels) { attributes.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(type_definition_attr el, type_definition_attr newel) { attributes.Insert(FindIndex(el), newel); } - + public void InsertBefore(type_definition_attr el, IEnumerable newels) { attributes.InsertRange(FindIndex(el), newels); } - + public bool Remove(type_definition_attr el) { return attributes.Remove(el); } - + public void ReplaceInList(type_definition_attr el, type_definition_attr newel) { attributes[FindIndexInList(el)] = newel; } - + public void ReplaceInList(type_definition_attr el, IEnumerable newels) { var ind = FindIndexInList(el); attributes.RemoveAt(ind); attributes.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return attributes.RemoveAll(match); } - + public type_definition_attr Last() { return attributes[attributes.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -29745,7 +29448,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr=_attr; source_context = sc; } - protected definition_attribute _attr; /// @@ -29885,7 +29587,6 @@ namespace PascalABCCompiler.SyntaxTree this._stmt=_stmt; source_context = sc; } - protected expression _lock_object; protected statement _stmt; @@ -30069,14 +29770,11 @@ namespace PascalABCCompiler.SyntaxTree this._directives=_directives; source_context = sc; } - // Конструкторы списка public compiler_directive_list(compiler_directive elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _directives=new List(); /// @@ -30095,7 +29793,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public compiler_directive_list Add(compiler_directive elem, SourceContext sc = null) { directives.Add(elem); @@ -30103,22 +29800,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(compiler_directive el) { directives.Insert(0, el); } - + public void AddFirst(IEnumerable els) { directives.InsertRange(0, els); } - + public void AddMany(params compiler_directive[] els) { directives.AddRange(els); } - + private int FindIndexInList(compiler_directive el) { var ind = directives.FindIndex(x => x == el); @@ -30126,55 +29823,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(compiler_directive el, compiler_directive newel) { directives.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(compiler_directive el, IEnumerable newels) { directives.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(compiler_directive el, compiler_directive newel) { directives.Insert(FindIndex(el), newel); } - + public void InsertBefore(compiler_directive el, IEnumerable newels) { directives.InsertRange(FindIndex(el), newels); } - + public bool Remove(compiler_directive el) { return directives.Remove(el); } - + public void ReplaceInList(compiler_directive el, compiler_directive newel) { directives[FindIndexInList(el)] = newel; } - + public void ReplaceInList(compiler_directive el, IEnumerable newels) { var ind = FindIndexInList(el); directives.RemoveAt(ind); directives.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return directives.RemoveAll(match); } - + public compiler_directive Last() { return directives[directives.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -30347,7 +30043,6 @@ namespace PascalABCCompiler.SyntaxTree this._elseif_part=_elseif_part; source_context = sc; } - protected compiler_directive _if_part; protected compiler_directive _elseif_part; @@ -30525,14 +30220,11 @@ namespace PascalABCCompiler.SyntaxTree this._sections=_sections; source_context = sc; } - // Конструкторы списка public documentation_comment_list(documentation_comment_section elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _sections=new List(); /// @@ -30551,7 +30243,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public documentation_comment_list Add(documentation_comment_section elem, SourceContext sc = null) { sections.Add(elem); @@ -30559,22 +30250,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(documentation_comment_section el) { sections.Insert(0, el); } - + public void AddFirst(IEnumerable els) { sections.InsertRange(0, els); } - + public void AddMany(params documentation_comment_section[] els) { sections.AddRange(els); } - + private int FindIndexInList(documentation_comment_section el) { var ind = sections.FindIndex(x => x == el); @@ -30582,55 +30273,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(documentation_comment_section el, documentation_comment_section newel) { sections.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(documentation_comment_section el, IEnumerable newels) { sections.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(documentation_comment_section el, documentation_comment_section newel) { sections.Insert(FindIndex(el), newel); } - + public void InsertBefore(documentation_comment_section el, IEnumerable newels) { sections.InsertRange(FindIndex(el), newels); } - + public bool Remove(documentation_comment_section el) { return sections.Remove(el); } - + public void ReplaceInList(documentation_comment_section el, documentation_comment_section newel) { sections[FindIndexInList(el)] = newel; } - + public void ReplaceInList(documentation_comment_section el, IEnumerable newels) { var ind = FindIndexInList(el); sections.RemoveAt(ind); sections.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return sections.RemoveAll(match); } - + public documentation_comment_section Last() { return sections[sections.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -30756,14 +30446,11 @@ namespace PascalABCCompiler.SyntaxTree this._text=_text; source_context = sc; } - // Конструкторы списка public documentation_comment_tag(documentation_comment_tag_param elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected string _name; protected List _parameters=new List(); protected string _text; @@ -30814,7 +30501,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public documentation_comment_tag Add(documentation_comment_tag_param elem, SourceContext sc = null) { parameters.Add(elem); @@ -30822,22 +30508,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(documentation_comment_tag_param el) { parameters.Insert(0, el); } - + public void AddFirst(IEnumerable els) { parameters.InsertRange(0, els); } - + public void AddMany(params documentation_comment_tag_param[] els) { parameters.AddRange(els); } - + private int FindIndexInList(documentation_comment_tag_param el) { var ind = parameters.FindIndex(x => x == el); @@ -30845,55 +30531,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(documentation_comment_tag_param el, documentation_comment_tag_param newel) { parameters.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(documentation_comment_tag_param el, IEnumerable newels) { parameters.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(documentation_comment_tag_param el, documentation_comment_tag_param newel) { parameters.Insert(FindIndex(el), newel); } - + public void InsertBefore(documentation_comment_tag_param el, IEnumerable newels) { parameters.InsertRange(FindIndex(el), newels); } - + public bool Remove(documentation_comment_tag_param el) { return parameters.Remove(el); } - + public void ReplaceInList(documentation_comment_tag_param el, documentation_comment_tag_param newel) { parameters[FindIndexInList(el)] = newel; } - + public void ReplaceInList(documentation_comment_tag_param el, IEnumerable newels) { var ind = FindIndexInList(el); parameters.RemoveAt(ind); parameters.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return parameters.RemoveAll(match); } - + public documentation_comment_tag_param Last() { return parameters[parameters.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -31019,7 +30704,6 @@ namespace PascalABCCompiler.SyntaxTree this._value=_value; source_context = sc; } - protected string _name; protected string _value; @@ -31155,14 +30839,11 @@ namespace PascalABCCompiler.SyntaxTree this._text=_text; source_context = sc; } - // Конструкторы списка public documentation_comment_section(documentation_comment_tag elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _tags=new List(); protected string _text; @@ -31197,7 +30878,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public documentation_comment_section Add(documentation_comment_tag elem, SourceContext sc = null) { tags.Add(elem); @@ -31205,22 +30885,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(documentation_comment_tag el) { tags.Insert(0, el); } - + public void AddFirst(IEnumerable els) { tags.InsertRange(0, els); } - + public void AddMany(params documentation_comment_tag[] els) { tags.AddRange(els); } - + private int FindIndexInList(documentation_comment_tag el) { var ind = tags.FindIndex(x => x == el); @@ -31228,55 +30908,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(documentation_comment_tag el, documentation_comment_tag newel) { tags.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(documentation_comment_tag el, IEnumerable newels) { tags.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(documentation_comment_tag el, documentation_comment_tag newel) { tags.Insert(FindIndex(el), newel); } - + public void InsertBefore(documentation_comment_tag el, IEnumerable newels) { tags.InsertRange(FindIndex(el), newels); } - + public bool Remove(documentation_comment_tag el) { return tags.Remove(el); } - + public void ReplaceInList(documentation_comment_tag el, documentation_comment_tag newel) { tags[FindIndexInList(el)] = newel; } - + public void ReplaceInList(documentation_comment_tag el, IEnumerable newels) { var ind = FindIndexInList(el); tags.RemoveAt(ind); tags.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return tags.RemoveAll(match); } - + public documentation_comment_tag Last() { return tags[tags.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -31418,7 +31097,6 @@ namespace PascalABCCompiler.SyntaxTree this._tag=_tag; source_context = sc; } - protected object _tag; /// @@ -31559,7 +31237,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - protected DeclarationSpecificator _specificator; protected string _name; @@ -31716,7 +31393,6 @@ namespace PascalABCCompiler.SyntaxTree this._template_params=_template_params; source_context = sc; } - protected addressed_value _name; protected template_param_list _template_params; @@ -31898,7 +31574,6 @@ namespace PascalABCCompiler.SyntaxTree this._template_args=_template_args; source_context = sc; } - protected ident_list _template_args; /// @@ -32036,7 +31711,6 @@ namespace PascalABCCompiler.SyntaxTree this._type_name=_type_name; source_context = sc; } - protected named_type_reference _type_name; /// @@ -32173,7 +31847,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected expression _expr; /// @@ -32314,7 +31987,6 @@ namespace PascalABCCompiler.SyntaxTree this._arguments=_arguments; source_context = sc; } - protected ident _qualifier; protected named_type_reference _type; protected expression_list _arguments; @@ -32498,14 +32170,11 @@ namespace PascalABCCompiler.SyntaxTree this._attributes=_attributes; source_context = sc; } - // Конструкторы списка public simple_attribute_list(attribute elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _attributes=new List(); /// @@ -32524,7 +32193,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public simple_attribute_list Add(attribute elem, SourceContext sc = null) { attributes.Add(elem); @@ -32532,22 +32200,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(attribute el) { attributes.Insert(0, el); } - + public void AddFirst(IEnumerable els) { attributes.InsertRange(0, els); } - + public void AddMany(params attribute[] els) { attributes.AddRange(els); } - + private int FindIndexInList(attribute el) { var ind = attributes.FindIndex(x => x == el); @@ -32555,55 +32223,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(attribute el, attribute newel) { attributes.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(attribute el, IEnumerable newels) { attributes.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(attribute el, attribute newel) { attributes.Insert(FindIndex(el), newel); } - + public void InsertBefore(attribute el, IEnumerable newels) { attributes.InsertRange(FindIndex(el), newels); } - + public bool Remove(attribute el) { return attributes.Remove(el); } - + public void ReplaceInList(attribute el, attribute newel) { attributes[FindIndexInList(el)] = newel; } - + public void ReplaceInList(attribute el, IEnumerable newels) { var ind = FindIndexInList(el); attributes.RemoveAt(ind); attributes.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return attributes.RemoveAll(match); } - + public attribute Last() { return attributes[attributes.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -32725,14 +32392,11 @@ namespace PascalABCCompiler.SyntaxTree this._attributes=_attributes; source_context = sc; } - // Конструкторы списка public attribute_list(simple_attribute_list elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _attributes=new List(); /// @@ -32751,7 +32415,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public attribute_list Add(simple_attribute_list elem, SourceContext sc = null) { attributes.Add(elem); @@ -32759,22 +32422,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(simple_attribute_list el) { attributes.Insert(0, el); } - + public void AddFirst(IEnumerable els) { attributes.InsertRange(0, els); } - + public void AddMany(params simple_attribute_list[] els) { attributes.AddRange(els); } - + private int FindIndexInList(simple_attribute_list el) { var ind = attributes.FindIndex(x => x == el); @@ -32782,55 +32445,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(simple_attribute_list el, simple_attribute_list newel) { attributes.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(simple_attribute_list el, IEnumerable newels) { attributes.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(simple_attribute_list el, simple_attribute_list newel) { attributes.Insert(FindIndex(el), newel); } - + public void InsertBefore(simple_attribute_list el, IEnumerable newels) { attributes.InsertRange(FindIndex(el), newels); } - + public bool Remove(simple_attribute_list el) { return attributes.Remove(el); } - + public void ReplaceInList(simple_attribute_list el, simple_attribute_list newel) { attributes[FindIndexInList(el)] = newel; } - + public void ReplaceInList(simple_attribute_list el, IEnumerable newels) { var ind = FindIndexInList(el); attributes.RemoveAt(ind); attributes.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return attributes.RemoveAll(match); } - + public simple_attribute_list Last() { return attributes[attributes.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -32972,14 +32634,11 @@ namespace PascalABCCompiler.SyntaxTree this._usedkeyword=_usedkeyword; source_context = sc; } - // Конструкторы списка public function_lambda_definition(declaration elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected ident_list _ident_list; protected type_definition _return_type; protected formal_parameters _formal_parameters; @@ -33158,7 +32817,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public function_lambda_definition Add(declaration elem, SourceContext sc = null) { defs.Add(elem); @@ -33166,22 +32824,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(declaration el) { defs.Insert(0, el); } - + public void AddFirst(IEnumerable els) { defs.InsertRange(0, els); } - + public void AddMany(params declaration[] els) { defs.AddRange(els); } - + private int FindIndexInList(declaration el) { var ind = defs.FindIndex(x => x == el); @@ -33189,55 +32847,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(declaration el, declaration newel) { defs.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(declaration el, IEnumerable newels) { defs.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(declaration el, declaration newel) { defs.Insert(FindIndex(el), newel); } - + public void InsertBefore(declaration el, IEnumerable newels) { defs.InsertRange(FindIndex(el), newels); } - + public bool Remove(declaration el) { return defs.Remove(el); } - + public void ReplaceInList(declaration el, declaration newel) { defs[FindIndexInList(el)] = newel; } - + public void ReplaceInList(declaration el, IEnumerable newels) { var ind = FindIndexInList(el); defs.RemoveAt(ind); defs.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return defs.RemoveAll(match); } - + public declaration Last() { return defs[defs.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -33445,7 +33102,6 @@ namespace PascalABCCompiler.SyntaxTree this._parameters=_parameters; source_context = sc; } - protected function_lambda_definition _f_lambda_def; protected expression_list _parameters; @@ -33612,14 +33268,11 @@ namespace PascalABCCompiler.SyntaxTree this._fictive=_fictive; source_context = sc; } - // Конструкторы списка public semantic_check(syntax_tree_node elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected string _CheckName; protected List _param=new List(); protected int _fictive; @@ -33670,7 +33323,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public semantic_check Add(syntax_tree_node elem, SourceContext sc = null) { param.Add(elem); @@ -33678,22 +33330,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(syntax_tree_node el) { param.Insert(0, el); } - + public void AddFirst(IEnumerable els) { param.InsertRange(0, els); } - + public void AddMany(params syntax_tree_node[] els) { param.AddRange(els); } - + private int FindIndexInList(syntax_tree_node el) { var ind = param.FindIndex(x => x == el); @@ -33701,55 +33353,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(syntax_tree_node el, syntax_tree_node newel) { param.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(syntax_tree_node el, IEnumerable newels) { param.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(syntax_tree_node el, syntax_tree_node newel) { param.Insert(FindIndex(el), newel); } - + public void InsertBefore(syntax_tree_node el, IEnumerable newels) { param.InsertRange(FindIndex(el), newels); } - + public bool Remove(syntax_tree_node el) { return param.Remove(el); } - + public void ReplaceInList(syntax_tree_node el, syntax_tree_node newel) { param[FindIndexInList(el)] = newel; } - + public void ReplaceInList(syntax_tree_node el, IEnumerable newels) { var ind = FindIndexInList(el); param.RemoveAt(ind); param.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return param.RemoveAll(match); } - + public syntax_tree_node Last() { return param[param.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -33897,7 +33548,6 @@ namespace PascalABCCompiler.SyntaxTree this._real_type=_real_type; source_context = sc; } - protected object _real_type; /// @@ -34054,7 +33704,6 @@ namespace PascalABCCompiler.SyntaxTree this._ex=_ex; source_context = sc; } - protected expression _ex; /// @@ -34203,7 +33852,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected ident _name; protected expression _expr; @@ -34361,14 +34009,11 @@ namespace PascalABCCompiler.SyntaxTree this._name_expr=_name_expr; source_context = sc; } - // Конструкторы списка public name_assign_expr_list(name_assign_expr elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _name_expr=new List(); /// @@ -34387,7 +34032,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public name_assign_expr_list Add(name_assign_expr elem, SourceContext sc = null) { name_expr.Add(elem); @@ -34395,22 +34039,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(name_assign_expr el) { name_expr.Insert(0, el); } - + public void AddFirst(IEnumerable els) { name_expr.InsertRange(0, els); } - + public void AddMany(params name_assign_expr[] els) { name_expr.AddRange(els); } - + private int FindIndexInList(name_assign_expr el) { var ind = name_expr.FindIndex(x => x == el); @@ -34418,55 +34062,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(name_assign_expr el, name_assign_expr newel) { name_expr.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(name_assign_expr el, IEnumerable newels) { name_expr.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(name_assign_expr el, name_assign_expr newel) { name_expr.Insert(FindIndex(el), newel); } - + public void InsertBefore(name_assign_expr el, IEnumerable newels) { name_expr.InsertRange(FindIndex(el), newels); } - + public bool Remove(name_assign_expr el) { return name_expr.Remove(el); } - + public void ReplaceInList(name_assign_expr el, name_assign_expr newel) { name_expr[FindIndexInList(el)] = newel; } - + public void ReplaceInList(name_assign_expr el, IEnumerable newels) { var ind = FindIndexInList(el); name_expr.RemoveAt(ind); name_expr.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return name_expr.RemoveAll(match); } - + public name_assign_expr Last() { return name_expr[name_expr.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -34594,7 +34237,6 @@ namespace PascalABCCompiler.SyntaxTree this._new_ex=_new_ex; source_context = sc; } - protected name_assign_expr_list _ne_list; protected bool _is_class; protected new_expr _new_ex; @@ -34793,7 +34435,6 @@ namespace PascalABCCompiler.SyntaxTree this._type=_type; source_context = sc; } - protected Object _type; /// @@ -34954,7 +34595,6 @@ namespace PascalABCCompiler.SyntaxTree this._procdef=_procdef; source_context = sc; } - protected procedure_definition _procdef; /// @@ -35113,7 +34753,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -35234,7 +34873,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected expression _left; protected expression _right; @@ -35416,7 +35054,6 @@ namespace PascalABCCompiler.SyntaxTree this._substitution=_substitution; source_context = sc; } - protected dot_node _substitution; /// @@ -35573,7 +35210,6 @@ namespace PascalABCCompiler.SyntaxTree this._elements_type=_elements_type; source_context = sc; } - protected type_definition _elements_type; /// @@ -35747,7 +35383,6 @@ namespace PascalABCCompiler.SyntaxTree this._res=_res; source_context = sc; } - protected type_definition _aloneparam; protected enumerator_list _el; protected type_definition _res; @@ -35946,7 +35581,6 @@ namespace PascalABCCompiler.SyntaxTree this._ex=_ex; source_context = sc; } - protected expression _ex; /// @@ -36104,7 +35738,6 @@ namespace PascalABCCompiler.SyntaxTree this._opname=_opname; source_context = sc; } - protected operator_name_ident _opname; /// @@ -36252,7 +35885,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected Object _expr; /// @@ -36376,7 +36008,6 @@ namespace PascalABCCompiler.SyntaxTree this._exprs=_exprs; source_context = sc; } - protected type_definition _tn; protected statement_list _exprs; @@ -36536,7 +36167,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - protected addressed_value_list _vars; protected expression _expr; @@ -36699,14 +36329,11 @@ namespace PascalABCCompiler.SyntaxTree this._variables=_variables; source_context = sc; } - // Конструкторы списка public addressed_value_list(addressed_value elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _variables=new List(); /// @@ -36725,7 +36352,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public addressed_value_list Add(addressed_value elem, SourceContext sc = null) { variables.Add(elem); @@ -36733,22 +36359,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(addressed_value el) { variables.Insert(0, el); } - + public void AddFirst(IEnumerable els) { variables.InsertRange(0, els); } - + public void AddMany(params addressed_value[] els) { variables.AddRange(els); } - + private int FindIndexInList(addressed_value el) { var ind = variables.FindIndex(x => x == el); @@ -36756,55 +36382,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(addressed_value el, addressed_value newel) { variables.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(addressed_value el, IEnumerable newels) { variables.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(addressed_value el, addressed_value newel) { variables.Insert(FindIndex(el), newel); } - + public void InsertBefore(addressed_value el, IEnumerable newels) { variables.InsertRange(FindIndex(el), newels); } - + public bool Remove(addressed_value el) { return variables.Remove(el); } - + public void ReplaceInList(addressed_value el, addressed_value newel) { variables[FindIndexInList(el)] = newel; } - + public void ReplaceInList(addressed_value el, IEnumerable newels) { var ind = FindIndexInList(el); variables.RemoveAt(ind); variables.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return variables.RemoveAll(match); } - + public addressed_value Last() { return variables[variables.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -36926,7 +36551,6 @@ namespace PascalABCCompiler.SyntaxTree this._el=_el; source_context = sc; } - protected expression_list _el; /// @@ -37082,14 +36706,11 @@ namespace PascalABCCompiler.SyntaxTree this._listunitsections=_listunitsections; source_context = sc; } - // Конструкторы списка public uses_closure(uses_list elem, SourceContext sc = null) { Add(elem, sc); } - - // Окончание конструкторов списка - + protected List _listunitsections=new List(); /// @@ -37108,7 +36729,6 @@ namespace PascalABCCompiler.SyntaxTree } - // Методы списка public uses_closure Add(uses_list elem, SourceContext sc = null) { listunitsections.Add(elem); @@ -37116,22 +36736,22 @@ namespace PascalABCCompiler.SyntaxTree source_context = sc; return this; } - + public void AddFirst(uses_list el) { listunitsections.Insert(0, el); } - + public void AddFirst(IEnumerable els) { listunitsections.InsertRange(0, els); } - + public void AddMany(params uses_list[] els) { listunitsections.AddRange(els); } - + private int FindIndexInList(uses_list el) { var ind = listunitsections.FindIndex(x => x == el); @@ -37139,55 +36759,54 @@ namespace PascalABCCompiler.SyntaxTree throw new Exception(string.Format("У списка {0} не найден элемент {1} среди дочерних\n", this, el)); return ind; } - + public void InsertAfter(uses_list el, uses_list newel) { listunitsections.Insert(FindIndex(el) + 1, newel); } - + public void InsertAfter(uses_list el, IEnumerable newels) { listunitsections.InsertRange(FindIndex(el) + 1, newels); } - + public void InsertBefore(uses_list el, uses_list newel) { listunitsections.Insert(FindIndex(el), newel); } - + public void InsertBefore(uses_list el, IEnumerable newels) { listunitsections.InsertRange(FindIndex(el), newels); } - + public bool Remove(uses_list el) { return listunitsections.Remove(el); } - + public void ReplaceInList(uses_list el, uses_list newel) { listunitsections[FindIndexInList(el)] = newel; } - + public void ReplaceInList(uses_list el, IEnumerable newels) { var ind = FindIndexInList(el); listunitsections.RemoveAt(ind); listunitsections.InsertRange(ind, newels); } - + public int RemoveAll(Predicate match) { return listunitsections.RemoveAll(match); } - + public uses_list Last() { return listunitsections[listunitsections.Count - 1]; } - - // Окончание методов списка + /// Создает копию узла public override syntax_tree_node Clone() { @@ -37337,7 +36956,6 @@ namespace PascalABCCompiler.SyntaxTree this._right=_right; source_context = sc; } - protected addressed_value _left; protected addressed_value _right; @@ -37531,7 +37149,6 @@ namespace PascalABCCompiler.SyntaxTree this._step=_step; source_context = sc; } - protected addressed_value _v; protected expression _from; protected expression _to; @@ -37757,7 +37374,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -37877,7 +37493,6 @@ namespace PascalABCCompiler.SyntaxTree this._name=_name; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -37982,7 +37597,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -38102,7 +37716,6 @@ namespace PascalABCCompiler.SyntaxTree this._attr_list=_attr_list; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { @@ -38221,7 +37834,6 @@ namespace PascalABCCompiler.SyntaxTree this._ex=_ex; source_context = sc; } - protected expression _ex; /// @@ -38361,7 +37973,6 @@ namespace PascalABCCompiler.SyntaxTree this._expr=_expr; source_context = sc; } - /// Создает копию узла public override syntax_tree_node Clone() { diff --git a/Utils/NodesGeneratorNew/NodeGenerator.cs b/Utils/NodesGeneratorNew/NodeGenerator.cs index cb1d8d59e..5cdd14cbe 100644 --- a/Utils/NodesGeneratorNew/NodeGenerator.cs +++ b/Utils/NodesGeneratorNew/NodeGenerator.cs @@ -241,158 +241,6 @@ namespace NodeGenerator } "; - // Шаблоны кода для узлов, содержащих список - - // Методы - - // переменные шаблона: - // list_name имя поля, типа List - // list_element_type тип элементов списка - // node_name название узла - - public static readonly string list_add_many_method = -@" public void AddMany(params list_element_type[] els) - { - list_name.AddRange(els); - } -"; - public static readonly string list_remove_method = -@" public bool Remove(list_element_type el) - { - return list_name.Remove(el); - } -"; - public static readonly string list_find_index_method = -@" private int FindIndexInList(list_element_type el) - { - var ind = list_name.FindIndex(x => x == el); - if (ind == -1) - throw new Exception(string.Format(""У списка {0} не найден элемент {1} среди дочерних\n"", this, el)); - return ind; - } -"; - public static readonly string list_replace_method = -@" public void ReplaceInList(list_element_type el, list_element_type newel) - { - list_name[FindIndexInList(el)] = newel; - } -"; - public static readonly string list_replace_many_method = -@" public void ReplaceInList(list_element_type el, IEnumerable newels) - { - var ind = FindIndexInList(el); - list_name.RemoveAt(ind); - list_name.InsertRange(ind, newels); - } -"; - public static readonly string list_insert_after_method = -@" public void InsertAfter(list_element_type el, list_element_type newel) - { - list_name.Insert(FindIndex(el) + 1, newel); - } -"; - public static readonly string list_insert_before_method = -@" public void InsertBefore(list_element_type el, list_element_type newel) - { - list_name.Insert(FindIndex(el), newel); - } -"; - public static readonly string list_insert_after_many_method = -@" public void InsertAfter(list_element_type el, IEnumerable newels) - { - list_name.InsertRange(FindIndex(el) + 1, newels); - } -"; - public static readonly string list_insert_before_many_method = -@" public void InsertBefore(list_element_type el, IEnumerable newels) - { - list_name.InsertRange(FindIndex(el), newels); - } -"; - public static readonly string list_add_first_method = -@" public void AddFirst(list_element_type el) - { - list_name.Insert(0, el); - } -"; - - public static readonly string list_add_first_many_method = -@" public void AddFirst(IEnumerable els) - { - list_name.InsertRange(0, els); - } -"; - public static readonly string list_add_method = -@" public node_name Add(list_element_type elem, SourceContext sc = null) - { - list_name.Add(elem); - if (sc != null) - source_context = sc; - return this; - } -"; - - public static readonly string list_remove_all_method = -@" public int RemoveAll(Predicate match) - { - return list_name.RemoveAll(match); - } -"; - - public static readonly string list_last_method = -@" public list_element_type Last() - { - return list_name[list_name.Count - 1]; - } -"; - public static readonly string[] list_methods = - { - list_add_method, - list_add_first_method, - list_add_first_many_method, - list_add_many_method, - list_find_index_method, - list_insert_after_method, - list_insert_after_many_method, - list_insert_before_method, - list_insert_before_many_method, - list_remove_method, - list_replace_method, - list_replace_many_method, - list_remove_all_method, - list_last_method - }; - - // !Методы - - // Конструкторы - - // переменные шаблона: - // list_name имя поля, типа List - // list_element_type тип элементов списка - // node_name имя узла - - public static readonly string list_one_element_constructor = -@" public node_name(list_element_type elem, SourceContext sc = null) - { - Add(elem, sc); - } -"; - public static readonly string[] list_constructors = - { - list_one_element_constructor - }; - - // !Конструкторы - - // Свойства - - public static readonly string[] list_properties; - - // !Свойства - - // !Шаблоны кода для узлов, содержащих список - public static string change_word(string where,string from,string to) { Regex rg=new Regex(from); @@ -413,23 +261,6 @@ namespace NodeGenerator return where; } - /// - /// Производит замены в списке строк - /// - /// Список строк, в которых необходимо произвести замену - /// Список замен - /// Результат замен - public static string[] change_words_in_list(string[] list, params string_repl[] replacements) - { - string[] result = new string[list.Count()]; - - for (int i = 0; i < list.Count(); ++i) - result[i] = change_words(list[i], replacements); - - return result; - } - - public static string create_property(string property_type,string property_name,string field_name,string help_context) { return change_words(prop_template,new string_repl("property_type",property_type), @@ -453,51 +284,6 @@ namespace NodeGenerator { return change_words(simple_constructor_template,new string_repl("class_name",class_name)); } - - - /// - /// Генерирует конструкторы для списков, используя - /// - /// Название поля-списка - /// Тип элементов списка - /// Название синтаксического узла - /// Код конструкторов - public static string generate_list_constructors(string list_field_name, string list_elem_type, string node_name) - { - // Для всех шаблонов конструкторов подставляем значения переменных шаблона - string[] constructors = change_words_in_list(list_constructors, - new string_repl("list_name", list_field_name), - new string_repl("list_element_type", list_elem_type), - new string_repl("node_name", node_name)); - - return string.Join(Environment.NewLine, constructors); - } - - /// - /// Генерирует методы для списков, используя - /// - /// Название поля-списка - /// Тип элементов списка - /// Название синтаксического узла - /// Код методов - public static string generate_list_methods(string list_field_name, string list_elem_type, string node_name) - { - string[] methods = change_words_in_list(list_methods, - new string_repl("list_name", list_field_name), - new string_repl("list_element_type", list_elem_type), - new string_repl("node_name", node_name)); - - return string.Join(Environment.NewLine, methods); - } - - /// - /// Генерирует свойства для списков, используя - /// - /// Код свойств - public static string generate_list_properties() - { - throw new NotImplementedException(); - } } public class NodeWriter @@ -562,7 +348,73 @@ namespace NodeGenerator } } - [Serializable] + class StringHelper + { + /// + /// Adds indent after every new line in given string + /// + /// + /// + /// + public static string AddIndent(string str, string indent) + { + if (indent == null || indent == "") + return str; + + return string.Join(Environment.NewLine, str + .Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None) + .Select(s => indent + s)); + } + } + + class SyntaxTemplateManager + { + static readonly string templatesFolder = "./SyntaxTemplates/"; + static readonly string methodsTemplatePath = templatesFolder + "SyntaxWithListMethods.txt"; + static readonly string constructorsTemplatePath = templatesFolder + "SyntaxWithListConstructors.txt"; + + static private string LoadAndPrepareTemplate(string path) + { + return StringHelper.AddIndent(File.ReadAllText(path), "\t\t"); + } + + static private string FillTemplateVariables(string pattern, string nodeName, string listName, string listElemType) + { + return text_consts.change_words( + pattern, + new text_consts.string_repl("<#ListName#>", listName), + new text_consts.string_repl("<#ListElementType#>", listElemType), + new text_consts.string_repl("<#NodeName#>", nodeName)); + } + + /// + /// Получает код методов для узлов со списками + /// + /// Имя узла + /// Имя поля-списка + /// Тип элементов списка + /// + static public string GetListMethodsCode(string nodeName, string listName, string listElemType) + { + string preparedMethods = LoadAndPrepareTemplate(methodsTemplatePath); + return FillTemplateVariables(preparedMethods, nodeName, listName, listElemType); + } + + /// + /// Получает код конструкторов для узлов со списками + /// + /// Имя узла + /// Имя поля-списка + /// Тип элементов списка + /// + static public string GetListConstructorsCode(string nodeName, string listName, string listElemType) + { + string preparedConstructors = LoadAndPrepareTemplate(constructorsTemplatePath); + return FillTemplateVariables(preparedConstructors, nodeName, listName, listElemType); + } + } + + [Serializable] public class HelpContext { @@ -3251,26 +3103,28 @@ namespace NodeGenerator // !Генерация кода для узлов, содержащих список - /// - /// Генерация методов для узлов, содержащих список наследников syntax_tree_node (если такой список есть) - /// - /// Writer потока, в который добавляется сгенерированный код - private void generate_list_methods(StreamWriter sw) - { - // Генерируем методы только для одного поля-списка - // Получаем первый список узлов-наследников syntax_tree_node + simple_element GetListField() + { var list_fields = subnodes.OfType().Where(field => field.val_field_type_name.StartsWith("List<")); simple_element list_field = null; if (list_fields.Count() > 0) list_field = list_fields.First(); - // Записываем код методов, если узел найден - if (list_field != null) - { - sw.WriteLine(text_consts.tab2 + "// Методы списка"); - sw.WriteLine(text_consts.generate_list_methods(list_field.field_name, list_field.list_type, this.node_name)); - sw.WriteLine(text_consts.tab2 + "// Окончание методов списка"); - } + return list_field; + } + + /// + /// Генерация методов для узлов, содержащих список наследников syntax_tree_node (если такой список есть) + /// + /// Writer потока, в который добавляется сгенерированный код + private void generate_list_methods(StreamWriter sw) + { + var listField = GetListField(); + if (listField != null) + sw.WriteLine(SyntaxTemplateManager.GetListMethodsCode( + node_name, + listField.field_name, + listField.list_type)); } /// @@ -3279,31 +3133,12 @@ namespace NodeGenerator /// Writer потока, в который добавляется сгенерированный код private void generate_list_constructors(StreamWriter sw) { - // Генерируем конструкторы только для одного поля-списка - // Получаем первый список узлов-наследников syntax_tree_node - var list_fields = subnodes.OfType().Where(field => field.val_field_type_name.StartsWith("List<")); - simple_element list_field = null; - if (list_fields.Count() > 0) - list_field = list_fields.First(); - - // Записываем код методов, если узел найден - if (list_field != null) - { - sw.WriteLine(text_consts.tab2 + "// Конструкторы списка"); - sw.WriteLine(text_consts.generate_list_constructors(list_field.field_name, list_field.list_type, this.node_name)); - sw.WriteLine(text_consts.tab2 + "// Окончание конструкторов списка"); - } - } - - /// - /// Генерация конструкторов для узлов, содержащих список наследников syntax_tree_node (если такой список есть) - /// - /// Writer потока, в который добавляется сгенерированный код - private void generate_list_properties(StreamWriter sw) - { - // TODO: реализовать генерацию свойств - - //sw.WriteLine(text_consts.generate_list_properties()); + var listField = GetListField(); + if (listField != null) + sw.WriteLine(SyntaxTemplateManager.GetListConstructorsCode( + node_name, + listField.field_name, + listField.list_type)); } // !Генерация кода для узлов, содержащих список @@ -3416,7 +3251,7 @@ namespace NodeGenerator generate_list_constructors(sw); - sw.WriteLine(); + //sw.WriteLine(); foreach (node_field_info nfi in _subnodes) { nfi.generate_field_code(sw); @@ -3433,8 +3268,6 @@ namespace NodeGenerator if (_subnodes.Count>0) sw.WriteLine(); - generate_list_properties(sw); - foreach (method_info mi in _methods) { mi.generate_code(sw, this, hst); diff --git a/Utils/NodesGeneratorNew/NodesGenerator_old/obj/Debug/NodesGenerator_old.csproj.FileListAbsolute.txt b/Utils/NodesGeneratorNew/NodesGenerator_old/obj/Debug/NodesGenerator_old.csproj.FileListAbsolute.txt index 497a30655..8d850cf48 100644 --- a/Utils/NodesGeneratorNew/NodesGenerator_old/obj/Debug/NodesGenerator_old.csproj.FileListAbsolute.txt +++ b/Utils/NodesGeneratorNew/NodesGenerator_old/obj/Debug/NodesGenerator_old.csproj.FileListAbsolute.txt @@ -50,3 +50,16 @@ G:\MMCS\Programming\PABC.NET_GitRepo\Utils\NodesGeneratorNew\NodesGenerator_old\ G:\MMCS\Programming\PABC.NET_GitRepo\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator_old.csproj.GenerateResource.Cache G:\MMCS\Programming\PABC.NET_GitRepo\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.exe G:\MMCS\Programming\PABC.NET_GitRepo\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.pdb +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\bin\Debug\NodesGenerator.exe.config +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\bin\Debug\NodesGenerator.exe +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\bin\Debug\NodesGenerator.pdb +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator_old.csprojResolveAssemblyReference.cache +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.Form1.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.method_editor.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.node_def.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.simple_node_editor.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.subnode_editor.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.template_form.resources +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator_old.csproj.GenerateResource.Cache +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.exe +G:\MMCS\Programming\PascalABC.NET\Utils\NodesGeneratorNew\NodesGenerator_old\obj\Debug\NodesGenerator.pdb diff --git a/bin/Lib/PABCRtl.dll b/bin/Lib/PABCRtl.dll index 0d51ac30c7a29618bf6e804877c30cead6c24900..856ce63c2bd601a6b80f997c274b8b0e58aa203a 100644 GIT binary patch delta 175758 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 delta 175318 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