From 29422b6949cebcb714df81bc37bbd3aa76d84f8f Mon Sep 17 00:00:00 2001 From: miks1965 Date: Thu, 21 May 2015 23:38:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D1=80=D0=B5=D1=82=D0=B8?= =?UTF-8?q?=D0=BB=20sequence=20of=20=D0=B2=D1=81=D1=8F=D0=BA=D0=B0=D1=8F?= =?UTF-8?q?=20=D0=B3=D0=B0=D0=B4=D0=BE=D1=81=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PascalABCParserNewSaushkin/ABCPascal.cs | 6 +-- .../PascalABCParserNewSaushkin/ABCPascal.y | 8 ++-- .../ABCPascalYacc.cs | 44 +++++++++--------- Parsers/PascalABCParserNewSaushkin/PABC.tags | 1 + Parsers/PascalABCParserNewSaushkin/PABC.ymc | 1 + SyntaxTree/tree/SyntaxTreeStreamReader.cs | 2 +- SyntaxTree/tree/Tree.cs | 14 +++--- SyntaxTree/tree/tree.nin | Bin 184128 -> 184128 bytes .../TreeConversion/syntax_tree_visitor.cs | 2 +- 9 files changed, 40 insertions(+), 38 deletions(-) diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 36a54ef0e..5888b74a4 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -1,9 +1,9 @@ // // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 -// Machine: POMAH -// DateTime: 20.05.2015 11:32:45 -// UserName: ????? +// Machine: SSM +// DateTime: 21.05.2015 23:36:52 +// UserName: ????????? // GPLEX input file // GPLEX frame file // diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index cb86eca07..e17d34465 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -1249,7 +1249,7 @@ unpacked_structured_type ; sequence_type - : tkSequence tkOf type_ref + : tkSequence tkOf template_param { $$ = new sequence_type($3,@$); } @@ -1338,15 +1338,15 @@ proc_type_decl { $$ = new function_header($2 as formal_parameters, null, null, null, $4 as type_definition, @$); } - | identifier tkArrow identifier + | identifier tkArrow template_param { $$ = new modern_proc_type($1,null,$3,@$); } - | tkRoundOpen tkRoundClose tkArrow identifier + | tkRoundOpen tkRoundClose tkArrow template_param { $$ = new modern_proc_type(null,null,$4,@$); } - | tkRoundOpen enumeration_id_list tkRoundClose tkArrow identifier + | tkRoundOpen enumeration_id_list tkRoundClose tkArrow template_param { $$ = new modern_proc_type(null,$2 as enumerator_list,$5,@$); } diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index acb05553a..2cd9c77cd 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -1,10 +1,10 @@ // (see accompanying GPPGcopyright.rtf) // GPPG version 1.3.6 -// Machine: POMAH -// DateTime: 20.05.2015 11:32:46 -// UserName: ????? -// Input file +// Machine: SSM +// DateTime: 21.05.2015 23:36:52 +// UserName: ????????? +// Input file // options: no-lines gplex @@ -56,7 +56,7 @@ public abstract class ScanBase : AbstractScanner { - // Verbatim content from ABCPascal.y + // Verbatim content from D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y // ��� ���������� ����������� � ����� GPPGParser, �������������� ����� ������, ������������ �������� gppg public syntax_tree_node root; // �������� ���� ��������������� ������ @@ -68,7 +68,7 @@ public partial class GPPGParser: ShiftReduceParser scanner) : base(scanner) { } - // End verbatim content from ABCPascal.y + // End verbatim content from D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y #pragma warning disable 649 private static Dictionary aliasses; @@ -299,7 +299,7 @@ public partial class GPPGParser: ShiftReduceParser sequence_type { CurrentSemanticValue.td = ValueStack[ValueStack.Depth-1].td; } break; - case 246: // sequence_type -> tkSequence, tkOf, type_ref + case 246: // sequence_type -> tkSequence, tkOf, template_param { CurrentSemanticValue.td = new sequence_type(ValueStack[ValueStack.Depth-1].td,CurrentLocationSpan); } @@ -3253,20 +3253,20 @@ public partial class GPPGParser: ShiftReduceParser identifier, tkArrow, identifier + case 263: // proc_type_decl -> identifier, tkArrow, template_param { - CurrentSemanticValue.td = new modern_proc_type(ValueStack[ValueStack.Depth-3].id,null,ValueStack[ValueStack.Depth-1].id,CurrentLocationSpan); + CurrentSemanticValue.td = new modern_proc_type(ValueStack[ValueStack.Depth-3].id,null,ValueStack[ValueStack.Depth-1].td,CurrentLocationSpan); } break; - case 264: // proc_type_decl -> tkRoundOpen, tkRoundClose, tkArrow, identifier + case 264: // proc_type_decl -> tkRoundOpen, tkRoundClose, tkArrow, template_param { - CurrentSemanticValue.td = new modern_proc_type(null,null,ValueStack[ValueStack.Depth-1].id,CurrentLocationSpan); + CurrentSemanticValue.td = new modern_proc_type(null,null,ValueStack[ValueStack.Depth-1].td,CurrentLocationSpan); } break; case 265: // proc_type_decl -> tkRoundOpen, enumeration_id_list, tkRoundClose, tkArrow, - // identifier + // template_param { - CurrentSemanticValue.td = new modern_proc_type(null,ValueStack[ValueStack.Depth-4].stn as enumerator_list,ValueStack[ValueStack.Depth-1].id,CurrentLocationSpan); + CurrentSemanticValue.td = new modern_proc_type(null,ValueStack[ValueStack.Depth-4].stn as enumerator_list,ValueStack[ValueStack.Depth-1].td,CurrentLocationSpan); } break; case 266: // proc_type_decl -> identifier, tkArrow, tkRoundOpen, tkRoundClose diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.tags b/Parsers/PascalABCParserNewSaushkin/PABC.tags index 380c566af..b313e4d05 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.tags +++ b/Parsers/PascalABCParserNewSaushkin/PABC.tags @@ -304,6 +304,7 @@ + diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 83d907447..e8b8f2810 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -66,5 +66,6 @@ script= + diff --git a/SyntaxTree/tree/SyntaxTreeStreamReader.cs b/SyntaxTree/tree/SyntaxTreeStreamReader.cs index 44ef474ec..0e9198fa9 100644 --- a/SyntaxTree/tree/SyntaxTreeStreamReader.cs +++ b/SyntaxTree/tree/SyntaxTreeStreamReader.cs @@ -3818,7 +3818,7 @@ namespace PascalABCCompiler.SyntaxTree read_type_definition(_modern_proc_type); _modern_proc_type.aloneparam = _read_node() as ident; _modern_proc_type.el = _read_node() as enumerator_list; - _modern_proc_type.res = _read_node() as ident; + _modern_proc_type.res = _read_node() as type_definition; } } diff --git a/SyntaxTree/tree/Tree.cs b/SyntaxTree/tree/Tree.cs index aadcb7d8e..cce1242b7 100644 --- a/SyntaxTree/tree/Tree.cs +++ b/SyntaxTree/tree/Tree.cs @@ -28183,7 +28183,7 @@ namespace PascalABCCompiler.SyntaxTree /// ///Конструктор с параметрами. /// - public modern_proc_type(ident _aloneparam,enumerator_list _el,ident _res) + public modern_proc_type(ident _aloneparam,enumerator_list _el,type_definition _res) { this._aloneparam=_aloneparam; this._el=_el; @@ -28193,7 +28193,7 @@ namespace PascalABCCompiler.SyntaxTree /// ///Конструктор с параметрами. /// - public modern_proc_type(ident _aloneparam,enumerator_list _el,ident _res,SourceContext sc) + public modern_proc_type(ident _aloneparam,enumerator_list _el,type_definition _res,SourceContext sc) { this._aloneparam=_aloneparam; this._el=_el; @@ -28204,7 +28204,7 @@ namespace PascalABCCompiler.SyntaxTree /// ///Конструктор с параметрами. /// - public modern_proc_type(type_definition_attr_list _attr_list,ident _aloneparam,enumerator_list _el,ident _res) + public modern_proc_type(type_definition_attr_list _attr_list,ident _aloneparam,enumerator_list _el,type_definition _res) { this._attr_list=_attr_list; this._aloneparam=_aloneparam; @@ -28215,7 +28215,7 @@ namespace PascalABCCompiler.SyntaxTree /// ///Конструктор с параметрами. /// - public modern_proc_type(type_definition_attr_list _attr_list,ident _aloneparam,enumerator_list _el,ident _res,SourceContext sc) + public modern_proc_type(type_definition_attr_list _attr_list,ident _aloneparam,enumerator_list _el,type_definition _res,SourceContext sc) { this._attr_list=_attr_list; this._aloneparam=_aloneparam; @@ -28226,7 +28226,7 @@ namespace PascalABCCompiler.SyntaxTree protected ident _aloneparam; protected enumerator_list _el; - protected ident _res; + protected type_definition _res; /// /// @@ -28261,7 +28261,7 @@ namespace PascalABCCompiler.SyntaxTree /// /// /// - public ident res + public type_definition res { get { @@ -28322,7 +28322,7 @@ namespace PascalABCCompiler.SyntaxTree el = (enumerator_list)value; break; case 3: - res = (ident)value; + res = (type_definition)value; break; } } diff --git a/SyntaxTree/tree/tree.nin b/SyntaxTree/tree/tree.nin index f4670d9f0d1e2416d089d44dcadc8136187b489c..38193c7c3379dc96b2b79ac6641ce0376256e834 100644 GIT binary patch delta 37305 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 AK>z>% delta 37293 zcmZr(2YeL8+s)IkR6MMT5`qDD~! z>?mrmi_&a}g<|i1&pWe|yYT<~nPK1OdFGw6v(t8O_vFs-lRLu?pJ~Uhw~LRfZ3_u; zPRTFInd!~-P4$~~V8`<2*J2H`E^ppGF`*s+PfmWe-=76RUSVEoUQwZ0pJ%nNpVEND z`Pox^`Gwg9zO4K_f2o&_{ANSGr+sN=Bk*wrzS8MMxmkpJ=~y0_jX@3J-FwCG@!xko z+WfXFHh$sVcs7d1c5TQ;^DbR$u`xWmYfQtj5Ju$skb{zJO4@6VBcy1GucW9jD=*hq zSZa<3lEe>hOgj2%*J&mn)_Wqmn?K&WuCda_+byka++*X@->l2O?A?0f&Dyp#P{;B; zolwNJyjh?4#B~6oa^X$=tIgmb*q4=En43izGVkaA^sU9V z^2~lyjBPgF<>y*9-`rAjJ3rJfjqTv4`=zj*{HuPA*e>qrKfnHN_=qg@&5@DiX)*T@ z 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

#mMta4G6D_H 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 UP=4!$ofkWRCz)?O4>X7y07`jJdH?_b diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index ef3742b25..0fc4fc905 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -17944,7 +17944,7 @@ namespace PascalABCCompiler.TreeConverter t.Add(new named_type_reference(en.enumerators[i].name, en.enumerators[i].name.source_context)); } } - t.Add(new named_type_reference(_modern_proc_type.res, _modern_proc_type.res.source_context)); + t.Add(_modern_proc_type.res, _modern_proc_type.res.source_context); t.source_context = _modern_proc_type.source_context; var ttr = new template_type_reference(new named_type_reference(l), t, _modern_proc_type.source_context); visit(ttr);