This commit is contained in:
Mikhalkovich Stanislav 2021-12-28 19:09:27 +03:00
parent 5c4f818994
commit e6aa9e838f
12 changed files with 2478 additions and 2535 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "8";
public const string Build = "2";
public const string Revision = "3044";
public const string Revision = "3045";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%COREVERSION%=2
%REVISION%=3044
%MINOR%=8
%REVISION%=3045
%COREVERSION%=2
%MAJOR%=3

View file

@ -2,7 +2,7 @@
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: DESKTOP-G8V08V4
// DateTime: 25.12.2021 20:53:32
// DateTime: 28.12.2021 18:50:18
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>

View file

@ -2806,7 +2806,7 @@ assignment
($4 as syntax_tree_node).source_context = LexLocation.MergeAll(@1,@2,@3,@4,@5);
$$ = new assign_tuple($4 as addressed_value_list, $7, @$);
}
| variable tkQuestionSquareOpen format_expr tkSquareClose assign_operator expr
/* | variable tkQuestionSquareOpen format_expr tkSquareClose assign_operator expr
{
var fe = $3 as format_expr;
if (!parsertools.build_tree_for_formatter)
@ -2818,7 +2818,7 @@ assignment
}
var left = new slice_expr_question($1 as addressed_value,fe.expr,fe.format1,fe.format2,@$);
$$ = new assign(left, $6, $5.type, @$);
}
}*/
;
variable_list

View file

@ -245,7 +245,7 @@ namespace PascalABCSavParser
public void AddError(string message, LexLocation loc)
{
errors.Add(new SyntaxError(message, CurrentFileName, loc, null));
errors.Add(new SyntaxError(message, CurrentFileName, loc, null));
}
public void AddErrorFromResource(string res, PascalABCCompiler.SyntaxTree.SourceContext loc, params string[] pars)

File diff suppressed because it is too large Load diff

View file

@ -15,11 +15,6 @@
<name value="record_const" />
<name value="const_term" />
<name value="const_set" />
<name value="allowable_expr_as_stmt" />
<name value="expr_l1" />
<name value="typeof_expr" />
<name value="question_expr" />
<name value="new_expr" />
<name value="relop_expr" />
<name value="as_is_expr" />
<name value="term" />
@ -28,8 +23,6 @@
<name value="one_literal" />
<name value="literal" />
<name value="literal_list" />
<name value="expr" />
<name value="expr_with_func_decl_lambda" />
</tag>
<tag value="Списки">
<name value="decl_sect_list" />
@ -69,18 +62,11 @@
<name value="fp_list" />
<name value="fp_sect_list" />
<name value="param_name_list" />
<name value="stmt_list" />
<name value="case_list" />
<name value="case_label_list" />
<name value="exception_handler_list" />
<name value="expr_list" />
<name value="optional_expr_list_with_bracket" />
<name value="optional_expr_list" />
<name value="elem_list" />
<name value="elem_list1" />
<name value="literal_list" />
<name value="full_lambda_fp_list" />
<name value="list_fields_in_unnamed_object" />
</tag>
<tag value="Элементы списка">
<name value="const_elem" />
@ -100,9 +86,6 @@
<name value="parameter_decl" />
<name value="fp_sect" />
<name value="param_name" />
<name value="case_item" />
<name value="case_label" />
<name value="exception_handler" />
<name value="elem" />
<name value="lambda_simple_fp_sect" />
<name value="const_field" />
@ -133,7 +116,6 @@
<name value="const_simple_expr" />
<name value="as_is_constexpr" />
<name value="const_variable_2" />
<name value="optional_array_initializer" />
<name value="literal_or_number" />
<name value="one_literal" />
<name value="literal" />
@ -185,20 +167,6 @@
<name value="unlabelled_stmt" />
<name value="var_stmt" />
<name value="assignment" />
<name value="goto_stmt" />
<name value="compound_stmt" />
<name value="if_stmt" />
<name value="case_stmt" />
<name value="repeat_stmt" />
<name value="while_stmt" />
<name value="lock_stmt" />
<name value="foreach_stmt" />
<name value="for_stmt" />
<name value="with_stmt" />
<name value="try_stmt" />
<name value="raise_stmt" />
<name value="expr_as_stmt" />
<name value="allowable_expr_as_stmt" />
<name value="lambda_procedure_body" />
</tag>
<tag value="Имена">
@ -216,9 +184,6 @@
<name value="func_name_with_template_args" />
<name value="func_name_ident" />
<name value="external_directive_ident" />
<name value="exception_identifier" />
<name value="exception_class_type_identifier" />
<name value="exception_variable" />
<name value="identifier" />
<name value="identifier_or_keyword" />
<name value="identifier_keyword_operatorname" />
@ -253,7 +218,6 @@
<name value="constr_destr_header" />
<name value="proc_header" />
<name value="func_header" />
<name value="try_handler" />
</tag>
<tag value="Типы">
<name value="type_decl_type" />
@ -285,11 +249,7 @@
<name value="proc_func_decl_noclass" />
<name value="inclass_proc_func_decl_noclass" />
</tag>
<tag value="new_expr">
<name value="new_expr" />
<name value="field_in_unnamed_object" />
<name value="list_fields_in_unnamed_object" />
</tag>
<tag value="new_expr" />
<tag value="TemplateTypeName">
<name value="type_decl_identifier" />
<name value="template_identifier_with_equal" />
@ -298,7 +258,6 @@
<tag value="FuncName">
<name value="func_name" />
<name value="simple_type_identifier" />
<name value="simple_or_template_type_reference" />
</tag>
<tag value="Проблема с атрибутами">
<name value="type_decl_sect" />

View file

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

View file

@ -1 +1 @@
3.8.2.3044
3.8.2.3045

View file

@ -1 +1 @@
!define VERSION '3.8.2.3044'
!define VERSION '3.8.2.3045'

View file

@ -12992,7 +12992,7 @@ function ToIntegers(Self: string; N: integer): array of integer; extensionmethod
begin
// SSM Скорость работы на 30% выше чем у ToIntegers без параметров
Result := new integer[N];
var from := 1;
var from := 0;
for var i:=0 to N-1 do
Result[i] := Self.ReadInteger(from);
end;

6
TestSuite/qsliceSum.pas Normal file
View file

@ -0,0 +1,6 @@
begin
var a := |1, 2, 4|;
var s := a?[:2].Sum;
Assert(s = 3);
Assert(a?[:2].Sum = 3);
end.