Merge branch 'master' of github.com:pascalabcnet/pascalabcnet

This commit is contained in:
Бондарев Иван 2018-06-12 21:56:36 +02:00
commit 27e7e66c49
10 changed files with 17 additions and 8 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3"; public const string Major = "3";
public const string Minor = "4"; public const string Minor = "4";
public const string Build = "0"; public const string Build = "0";
public const string Revision = "1673"; public const string Revision = "1674";
public const string MainVersion = Major + "." + Minor; public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%COREVERSION%=0
%REVISION%=1673
%MINOR%=4 %MINOR%=4
%REVISION%=1674
%COREVERSION%=0
%MAJOR%=3 %MAJOR%=3

Binary file not shown.

View file

@ -2,7 +2,7 @@
// This CSharp output file generated by Gardens Point LEX // This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301 // Version: 1.1.3.301
// Machine: DESKTOP-A6LT9RI // Machine: DESKTOP-A6LT9RI
// DateTime: 12.06.2018 21:27:13 // DateTime: 12.06.2018 22:19:29
// UserName: ????????? // UserName: ?????????
// GPLEX input file <ABCPascal.lex> // GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource> // GPLEX frame file <embedded resource>

View file

@ -2128,6 +2128,9 @@ proc_func_decl_noclass
} }
| tkFunction func_name fp_list optional_method_modificators1 tkAssign expr_l1 tkSemiColon | tkFunction func_name fp_list optional_method_modificators1 tkAssign expr_l1 tkSemiColon
{ {
if ($6 is dot_question_node)
parsertools.AddErrorFromResource("DOT_QUECTION_IN_SHORT_FUN",@6);
$$ = SyntaxTreeBuilder.BuildShortFuncDefinition($3 as formal_parameters, $4 as procedure_attributes_list, $2 as method_name, null, $6, @1.Merge(@4)); $$ = SyntaxTreeBuilder.BuildShortFuncDefinition($3 as formal_parameters, $4 as procedure_attributes_list, $2 as method_name, null, $6, @1.Merge(@4));
} }
| tkFunction func_name fp_list tkColon fptype optional_method_modificators1 tkAssign func_decl_lambda tkSemiColon | tkFunction func_name fp_list tkColon fptype optional_method_modificators1 tkAssign func_decl_lambda tkSemiColon

View file

@ -2,7 +2,7 @@
// GPPG version 1.3.6 // GPPG version 1.3.6
// Machine: DESKTOP-A6LT9RI // Machine: DESKTOP-A6LT9RI
// DateTime: 12.06.2018 21:27:14 // DateTime: 12.06.2018 22:19:30
// UserName: ????????? // UserName: ?????????
// Input file <ABCPascal.y> // Input file <ABCPascal.y>
@ -4370,6 +4370,9 @@ public partial class GPPGParser: ShiftReduceParser<PascalABCSavParser.Union, Lex
// optional_method_modificators1, tkAssign, expr_l1, // optional_method_modificators1, tkAssign, expr_l1,
// tkSemiColon // tkSemiColon
{ {
if (ValueStack[ValueStack.Depth-2].ex is dot_question_node)
parsertools.AddErrorFromResource("DOT_QUECTION_IN_SHORT_FUN",LocationStack[LocationStack.Depth-2]);
CurrentSemanticValue.stn = SyntaxTreeBuilder.BuildShortFuncDefinition(ValueStack[ValueStack.Depth-5].stn as formal_parameters, ValueStack[ValueStack.Depth-4].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-6].stn as method_name, null, ValueStack[ValueStack.Depth-2].ex, LocationStack[LocationStack.Depth-7].Merge(LocationStack[LocationStack.Depth-4])); CurrentSemanticValue.stn = SyntaxTreeBuilder.BuildShortFuncDefinition(ValueStack[ValueStack.Depth-5].stn as formal_parameters, ValueStack[ValueStack.Depth-4].stn as procedure_attributes_list, ValueStack[ValueStack.Depth-6].stn as method_name, null, ValueStack[ValueStack.Depth-2].ex, LocationStack[LocationStack.Depth-7].Merge(LocationStack[LocationStack.Depth-4]));
} }
break; break;

View file

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

View file

@ -1 +1 @@
!define VERSION '3.4.0.1673' !define VERSION '3.4.0.1674'

View file

@ -62,4 +62,5 @@ OVERLOAD_IS_NOT_USED=overload is not used in PascalABC.NET
ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Tuple allows only base assignment := ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Tuple allows only base assignment :=
BAD_FORMAT_STRING=Interpolated string has invalid format BAD_FORMAT_STRING=Interpolated string has invalid format
TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Count of Tuple elements must be <=7 TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Count of Tuple elements must be <=7
TWO_NILS_IN_QUESTION_EXPR=The conditional expression cannot contain nil constants on both branches TWO_NILS_IN_QUESTION_EXPR=The conditional expression cannot contain nil constants on both branches
DOT_QUECTION_IN_SHORT_FUN=Expression with ?. cannot appear in a short function definition without a return value

View file

@ -61,4 +61,5 @@ OVERLOAD_IS_NOT_USED=overload не используется в PascalABC.NET
ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Для кортежа допустимо только обычное присваивание := ONLY_BASE_ASSIGNMENT_FOR_TUPLE=Для кортежа допустимо только обычное присваивание :=
BAD_FORMAT_STRING=Встречена неправильная форматная строка BAD_FORMAT_STRING=Встречена неправильная форматная строка
TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Количество элементов кортежа не должно быть больше 7 TUPLE_ELEMENTS_COUNT_MUST_BE_LESSEQUAL_7=Количество элементов кортежа не должно быть больше 7
TWO_NILS_IN_QUESTION_EXPR=Условное выражение не может содержать константы nil по обеим веткам TWO_NILS_IN_QUESTION_EXPR=Условное выражение не может содержать константы nil по обеим веткам
DOT_QUECTION_IN_SHORT_FUN=Выражение с ?. не может фигурировать в коротком определении функции без возвращаемого значения