Вложенные \(\(a,b),y) завершены

This commit is contained in:
Mikhalkovich Stanislav 2021-03-07 19:05:05 +03:00
parent 65e7bb188b
commit 91d96a8513
5 changed files with 9 additions and 6 deletions

View file

@ -2,7 +2,7 @@
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: DESKTOP-G8V08V4
// DateTime: 06.03.2021 10:59:03
// DateTime: 07.03.2021 18:27:21
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>

View file

@ -4734,11 +4734,11 @@ lambda_unpacked_params
;
lambda_unpacked_params_or_id
: lambda_unpacked_params
: lambda_unpacked_params // ident_or_list
{
$$ = new List<ident_or_list>($1 as List<ident_or_list>);
$$ = new ident_or_list($1 as List<ident_or_list>);
}
| identifier
| identifier // ident_or_list
{
$$ = new ident_or_list($1 as ident);
}

View file

@ -2,7 +2,7 @@
// GPPG version 1.3.6
// Machine: DESKTOP-G8V08V4
// DateTime: 06.03.2021 10:59:03
// DateTime: 07.03.2021 18:27:22
// UserName: ?????????
// Input file <D:\PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y>
@ -7280,7 +7280,7 @@ public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, Lex
break;
case 956: // lambda_unpacked_params_or_id -> lambda_unpacked_params
{
CurrentSemanticValue.ob = new List<ident_or_list>(ValueStack[ValueStack.Depth-1].ob as List<ident_or_list>);
CurrentSemanticValue.ob = new ident_or_list(ValueStack[ValueStack.Depth-1].ob as List<ident_or_list>);
}
break;
case 957: // lambda_unpacked_params_or_id -> identifier

View file

@ -321,5 +321,6 @@ script=

View file

@ -121,6 +121,8 @@ namespace TreeConverter.LambdaExpressions
public override void visit(semantic_check_sugared_statement_node st)
{
// Это единственная семантическая проверка в сахарной конструкции где порождаются новые переменные
// В остальных случаях семантические проверки в этом визиторе пропускаются
if (st.typ as System.Type == typeof(assign_var_tuple))
{
var idents = st.lst[0] as ident_list;