This commit is contained in:
Бондарев Иван 2016-12-18 14:53:56 +01:00
parent 7b450b8ff4
commit ff58e3ea80
4 changed files with 36 additions and 11 deletions

View file

@ -2824,6 +2824,31 @@ namespace CodeFormatters
visit_node(yn.ex);
}
public override void visit(assign_var_tuple _assign_var_tuple)
{
read_from_beg_pos = true;
for (int i = 0; i < _assign_var_tuple.vars.variables.Count; i++)
{
if (options.SpaceBetweenArguments == 1)
{
add_space_after = true;
}
visit_node(_assign_var_tuple.vars.variables[i]);
add_space_before = true;
}
visit_node(_assign_var_tuple.expr);
}
public override void visit(slice_expr _slice_expr)
{
visit_node(_slice_expr.v);
if (_slice_expr.from != null)
visit_node(_slice_expr.from);
if (_slice_expr.to != null)
visit_node(_slice_expr.to);
if (_slice_expr.step != null)
visit_node(_slice_expr.step);
}
#endregion
}
}

View file

@ -1,9 +1,9 @@
//
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: DESKTOP-8EAQPI9
// DateTime: 12.12.2016 11:36:35
// UserName: ?????????
// Machine: IVAN-PC
// DateTime: 18.12.2016 12:52:06
// UserName: Ivan
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>
//

View file

@ -3086,7 +3086,7 @@ variable
if (el.expressions.Count==1 && el.expressions[0] is format_expr)
{
var fe = el.expressions[0] as format_expr;
$$ = new slice_expr($1 as addressed_value,fe.expr,fe.format1,fe.format2,fe.source_context);
$$ = new slice_expr($1 as addressed_value,fe.expr,fe.format1,fe.format2,@$);
}
else $$ = new indexer($1 as addressed_value,el, @$);
}

View file

@ -1,10 +1,10 @@
// (see accompanying GPPGcopyright.rtf)
// GPPG version 1.3.6
// Machine: DESKTOP-8EAQPI9
// DateTime: 12.12.2016 11:36:36
// UserName: ?????????
// Input file <J:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y>
// Machine: IVAN-PC
// DateTime: 18.12.2016 12:52:08
// UserName: Ivan
// Input file <ABCPascal.y>
// options: no-lines gplex
@ -56,7 +56,7 @@ public abstract class ScanBase : AbstractScanner<PascalABCSavParser.Union,LexLoc
public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, LexLocation>
{
// Verbatim content from J:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y
// Verbatim content from ABCPascal.y
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> GPPGParser, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gppg
public syntax_tree_node root; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ -68,7 +68,7 @@ public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, Lex
public ParserLambdaHelper lambdaHelper = new ParserLambdaHelper();
public GPPGParser(AbstractScanner<PascalABCSavParser.Union, LexLocation> scanner) : base(scanner) { }
// End verbatim content from J:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y
// End verbatim content from ABCPascal.y
#pragma warning disable 649
private static Dictionary<int, string> aliasses;
@ -5029,7 +5029,7 @@ public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, Lex
if (el.expressions.Count==1 && el.expressions[0] is format_expr)
{
var fe = el.expressions[0] as format_expr;
CurrentSemanticValue.ex = new slice_expr(ValueStack[ValueStack.Depth-4].ex as addressed_value,fe.expr,fe.format1,fe.format2,fe.source_context);
CurrentSemanticValue.ex = new slice_expr(ValueStack[ValueStack.Depth-4].ex as addressed_value,fe.expr,fe.format1,fe.format2,CurrentLocationSpan);
}
else CurrentSemanticValue.ex = new indexer(ValueStack[ValueStack.Depth-4].ex as addressed_value,el, CurrentLocationSpan);
}