diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 82a8d6d45..13e13c799 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -2,7 +2,7 @@ // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 // Machine: SSM -// DateTime: 11.02.2016 15:02:40 +// DateTime: 11.02.2016 15:50:10 // UserName: ????????? // GPLEX input file // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index bcf24b8c2..e9dec6877 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -28,7 +28,7 @@ %start parse_goal -%token tkDirectiveName tkAmpersend tkColon tkDotDot tkPoint tkRoundOpen tkRoundClose tkSemiColon tkSquareOpen tkSquareClose tkQuestion tkMatching +%token tkDirectiveName tkAmpersend tkColon tkDotDot tkPoint tkRoundOpen tkRoundClose tkSemiColon tkSquareOpen tkSquareClose tkQuestion tkMatching tkQuestionPoint %token tkSizeOf tkTypeOf tkWhere tkArray tkCase tkClass tkAuto tkConst tkConstructor tkDestructor tkElse tkExcept tkFile tkFor tkForeach tkFunction %token tkIf tkImplementation tkInherited tkInterface tkProcedure tkOperator tkProperty tkRaise tkRecord tkSet tkType tkThen tkUses tkVar tkWhile tkWith tkNil %token tkGoto tkOf tkLabel tkLock tkProgram tkEvent tkDefault tkTemplate tkPacked tkExports tkResourceString tkThreadvar tkSealed tkPartial tkTo tkDownto @@ -53,7 +53,7 @@ %type attribute_declarations %type ot_visibility_specifier %type one_attribute attribute_variable -%type const_factor const_variable_2 const_term const_variable var_specifiers literal_or_number unsigned_number +%type const_factor const_variable_2 const_term const_variable literal_or_number unsigned_number %type program_block %type optional_var class_attribute class_attributes class_attributes1 %type member_list_section optional_component_list_seq_end @@ -2984,36 +2984,33 @@ variable { $$ = new dot_node($1 as addressed_value, $3 as addressed_value, @$); } - | variable var_specifiers + | variable tkSquareOpen expr_list tkSquareClose { - $$ = NewVariable($1 as addressed_value, $2, @$); + $$ = new indexer($1 as addressed_value,$3 as expression_list, @$); + } + | variable tkRoundOpen optional_expr_list tkRoundClose + { + $$ = new method_call($1 as addressed_value,$3 as expression_list, @$); + } + | variable tkPoint identifier_keyword_operatorname + { + $$ = new dot_node($1 as addressed_value, $3 as addressed_value, @$); + } + | variable tkQuestionPoint identifier_keyword_operatorname + { + $$ = new dot_node($1 as addressed_value, $3 as addressed_value, @$); + } + | variable tkDeref + { + $$ = new roof_dereference($1 as addressed_value,@$); + } + | variable tkAmpersend template_type_params + { + $$ = new ident_with_templateparams($1 as addressed_value, $3 as template_param_list, @$); + //($$ as ident_with_templateparams).name = (addressed_value_funcname)$1; } ; - -var_specifiers - : tkSquareOpen expr_list tkSquareClose - { - $$ = new indexer($2 as expression_list, @$); - } - | tkRoundOpen optional_expr_list tkRoundClose - { - $$ = new method_call($2 as expression_list, @$); - } - | tkPoint identifier_keyword_operatorname - { - $$ = new dot_node(null, $2 as addressed_value, @$); - } - | tkDeref - { - $$ = new roof_dereference(); - $$.source_context = @$; - } - | tkAmpersend template_type_params - { - $$ = new ident_with_templateparams(null, $2 as template_param_list, @$); - } - ; - + optional_expr_list : expr_list { $$ = $1; } diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index 4ee558bcd..26e02b899 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,9 +2,9 @@ // GPPG version 1.3.6 // Machine: SSM -// DateTime: 11.02.2016 15:02:41 +// DateTime: 11.02.2016 15:50:10 // UserName: ????????? -// Input file +// Input file // options: no-lines gplex @@ -24,28 +24,28 @@ namespace GPPGParserScanner public enum Tokens { error=1,EOF=2,tkDirectiveName=3,tkAmpersend=4,tkColon=5,tkDotDot=6, tkPoint=7,tkRoundOpen=8,tkRoundClose=9,tkSemiColon=10,tkSquareOpen=11,tkSquareClose=12, - tkQuestion=13,tkMatching=14,tkSizeOf=15,tkTypeOf=16,tkWhere=17,tkArray=18, - tkCase=19,tkClass=20,tkAuto=21,tkConst=22,tkConstructor=23,tkDestructor=24, - tkElse=25,tkExcept=26,tkFile=27,tkFor=28,tkForeach=29,tkFunction=30, - tkIf=31,tkImplementation=32,tkInherited=33,tkInterface=34,tkProcedure=35,tkOperator=36, - tkProperty=37,tkRaise=38,tkRecord=39,tkSet=40,tkType=41,tkThen=42, - tkUses=43,tkVar=44,tkWhile=45,tkWith=46,tkNil=47,tkGoto=48, - tkOf=49,tkLabel=50,tkLock=51,tkProgram=52,tkEvent=53,tkDefault=54, - tkTemplate=55,tkPacked=56,tkExports=57,tkResourceString=58,tkThreadvar=59,tkSealed=60, - tkPartial=61,tkTo=62,tkDownto=63,tkCycle=64,tkSequence=65,tkYield=66, - tkNew=67,tkOn=68,tkName=69,tkPrivate=70,tkProtected=71,tkPublic=72, - tkInternal=73,tkRead=74,tkWrite=75,tkParseModeExpression=76,tkParseModeStatement=77,tkParseModeType=78, - tkBegin=79,tkEnd=80,tkAsmBody=81,tkILCode=82,tkError=83,INVISIBLE=84, - tkRepeat=85,tkUntil=86,tkDo=87,tkComma=88,tkFinally=89,tkTry=90, - tkInitialization=91,tkFinalization=92,tkUnit=93,tkLibrary=94,tkExternal=95,tkParams=96, - tkAssign=97,tkPlusEqual=98,tkMinusEqual=99,tkMultEqual=100,tkDivEqual=101,tkMinus=102, - tkPlus=103,tkSlash=104,tkStar=105,tkEqual=106,tkGreater=107,tkGreaterEqual=108, - tkLower=109,tkLowerEqual=110,tkNotEqual=111,tkCSharpStyleOr=112,tkArrow=113,tkOr=114, - tkXor=115,tkAnd=116,tkDiv=117,tkMod=118,tkShl=119,tkShr=120, - tkNot=121,tkAs=122,tkIn=123,tkIs=124,tkImplicit=125,tkExplicit=126, - tkAddressOf=127,tkDeref=128,tkIdentifier=129,tkStringLiteral=130,tkAsciiChar=131,tkAbstract=132, - tkForward=133,tkOverload=134,tkReintroduce=135,tkOverride=136,tkVirtual=137,tkExtensionMethod=138, - tkInteger=139,tkFloat=140,tkHex=141}; + tkQuestion=13,tkMatching=14,tkQuestionPoint=15,tkSizeOf=16,tkTypeOf=17,tkWhere=18, + tkArray=19,tkCase=20,tkClass=21,tkAuto=22,tkConst=23,tkConstructor=24, + tkDestructor=25,tkElse=26,tkExcept=27,tkFile=28,tkFor=29,tkForeach=30, + tkFunction=31,tkIf=32,tkImplementation=33,tkInherited=34,tkInterface=35,tkProcedure=36, + tkOperator=37,tkProperty=38,tkRaise=39,tkRecord=40,tkSet=41,tkType=42, + tkThen=43,tkUses=44,tkVar=45,tkWhile=46,tkWith=47,tkNil=48, + tkGoto=49,tkOf=50,tkLabel=51,tkLock=52,tkProgram=53,tkEvent=54, + tkDefault=55,tkTemplate=56,tkPacked=57,tkExports=58,tkResourceString=59,tkThreadvar=60, + tkSealed=61,tkPartial=62,tkTo=63,tkDownto=64,tkCycle=65,tkSequence=66, + tkYield=67,tkNew=68,tkOn=69,tkName=70,tkPrivate=71,tkProtected=72, + tkPublic=73,tkInternal=74,tkRead=75,tkWrite=76,tkParseModeExpression=77,tkParseModeStatement=78, + tkParseModeType=79,tkBegin=80,tkEnd=81,tkAsmBody=82,tkILCode=83,tkError=84, + INVISIBLE=85,tkRepeat=86,tkUntil=87,tkDo=88,tkComma=89,tkFinally=90, + tkTry=91,tkInitialization=92,tkFinalization=93,tkUnit=94,tkLibrary=95,tkExternal=96, + tkParams=97,tkAssign=98,tkPlusEqual=99,tkMinusEqual=100,tkMultEqual=101,tkDivEqual=102, + tkMinus=103,tkPlus=104,tkSlash=105,tkStar=106,tkEqual=107,tkGreater=108, + tkGreaterEqual=109,tkLower=110,tkLowerEqual=111,tkNotEqual=112,tkCSharpStyleOr=113,tkArrow=114, + tkOr=115,tkXor=116,tkAnd=117,tkDiv=118,tkMod=119,tkShl=120, + tkShr=121,tkNot=122,tkAs=123,tkIn=124,tkIs=125,tkImplicit=126, + tkExplicit=127,tkAddressOf=128,tkDeref=129,tkIdentifier=130,tkStringLiteral=131,tkAsciiChar=132, + tkAbstract=133,tkForward=134,tkOverload=135,tkReintroduce=136,tkOverride=137,tkVirtual=138, + tkExtensionMethod=139,tkInteger=140,tkFloat=141,tkHex=142}; // Abstract base class for GPLEX scanners public abstract class ScanBase : AbstractScanner { @@ -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,72 +68,72 @@ 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; #pragma warning restore 649 private static Rule[] rules = new Rule[791]; - private static State[] states = new State[1258]; + private static State[] states = new State[1259]; private static string[] nonTerms = new string[] { "parse_goal", "unit_key_word", "assignment", "optional_array_initializer", "attribute_declarations", "ot_visibility_specifier", "one_attribute", "attribute_variable", - "const_factor", "const_variable_2", "const_term", "const_variable", "var_specifiers", - "literal_or_number", "unsigned_number", "program_block", "optional_var", - "class_attribute", "class_attributes", "class_attributes1", "member_list_section", - "optional_component_list_seq_end", "const_decl", "only_const_decl", "const_decl_sect", - "object_type", "record_type", "member_list", "method_decl_list", "field_or_const_definition_list", - "case_stmt", "case_list", "program_decl_sect_list", "int_decl_sect_list1", - "inclass_decl_sect_list1", "interface_decl_sect_list", "decl_sect_list", - "decl_sect_list1", "inclass_decl_sect_list", "field_or_const_definition", - "abc_decl_sect", "decl_sect", "int_decl_sect", "type_decl", "simple_type_decl", - "simple_field_or_const_definition", "res_str_decl_sect", "method_decl_withattr", - "method_or_property_decl", "property_definition", "fp_sect", "default_expr", - "expr_as_stmt", "exception_block", "external_block", "exception_handler", - "exception_handler_list", "exception_identifier", "typed_const_list1", - "typed_const_list", "optional_expr_list", "elem_list", "optional_expr_list_with_bracket", - "expr_list", "const_elem_list1", "const_func_expr_list", "case_label_list", - "const_elem_list", "optional_const_func_expr_list", "elem_list1", "enumeration_id", - "expr_l1_list", "enumeration_id_list", "const_simple_expr", "term", "typed_const", - "typed_const_or_new", "expr", "const_expr", "elem", "range_expr", "const_elem", - "array_const", "factor", "relop_expr", "expr_l1", "simple_expr", "range_term", - "range_factor", "external_directive_ident", "init_const_expr", "case_label", - "variable", "var_reference", "for_cycle_type", "format_expr", "foreach_stmt", - "for_stmt", "yield_stmt", "fp_list", "fp_sect_list", "file_type", "sequence_type", - "var_address", "goto_stmt", "func_name_ident", "param_name", "const_field_name", - "func_name_with_template_args", "identifier_or_keyword", "unit_name", "exception_variable", - "const_name", "func_meth_name_ident", "label_name", "type_decl_identifier", - "template_identifier_with_equal", "program_param", "identifier", "identifier_keyword_operatorname", - "func_class_name_ident", "optional_identifier", "visibility_specifier", - "property_specifier_directives", "non_reserved", "if_stmt", "initialization_part", - "template_arguments", "label_list", "ident_or_keyword_pointseparator_list", - "ident_list", "param_name_list", "inherited_message", "implementation_part", - "interface_part", "abc_interface_part", "simple_type_list", "literal", - "one_literal", "literal_list", "label_decl_sect", "lock_stmt", "func_name", - "proc_name", "optional_proc_name", "qualified_identifier", "new_expr", - "allowable_expr_as_stmt", "parts", "inclass_block", "block", "proc_func_external_block", - "exception_class_type_identifier", "simple_type_identifier", "base_class_name", - "base_classes_names_list", "optional_base_classes", "one_compiler_directive", - "optional_head_compiler_directives", "head_compiler_directives", "program_heading_2", - "optional_tk_point", "program_param_list", "optional_semicolon", "operator_name_ident", - "const_relop", "const_addop", "assign_operator", "const_mulop", "relop", - "addop", "mulop", "sign", "overload_operator", "typecast_op", "property_specifiers", - "array_defaultproperty", "meth_modificators", "optional_method_modificators", - "optional_method_modificators1", "meth_modificator", "proc_call", "proc_func_constr_destr_decl", - "proc_func_decl", "inclass_proc_func_decl", "inclass_proc_func_decl_noclass", - "constr_destr_decl", "inclass_constr_destr_decl", "method_decl", "proc_func_constr_destr_decl_with_attr", - "proc_func_decl_noclass", "method_header", "proc_type_decl", "procedural_type_kind", - "proc_header", "procedural_type", "constr_destr_header", "proc_func_header", - "func_header", "method_procfunc_header", "int_func_header", "int_proc_header", - "property_interface", "program_file", "program_header", "parameter_decl", - "parameter_decl_list", "property_parameter_list", "const_set", "question_expr", - "question_constexpr", "record_const", "const_field_list_1", "const_field_list", - "const_field", "repeat_stmt", "raise_stmt", "pointer_type", "attribute_declaration", - "one_or_some_attribute", "stmt_list", "else_case", "exception_block_else_branch", - "compound_stmt", "string_type", "sizeof_expr", "simple_prim_property_definition", - "simple_property_definition", "stmt_or_expression", "unlabelled_stmt", - "stmt", "case_item", "set_type", "as_is_expr", "as_is_constexpr", "unsized_array_type", - "simple_type_or_", "simple_type", "array_name_for_new_expr", "foreach_stmt_ident_dype_opt", + "const_factor", "const_variable_2", "const_term", "const_variable", "literal_or_number", + "unsigned_number", "program_block", "optional_var", "class_attribute", + "class_attributes", "class_attributes1", "member_list_section", "optional_component_list_seq_end", + "const_decl", "only_const_decl", "const_decl_sect", "object_type", "record_type", + "member_list", "method_decl_list", "field_or_const_definition_list", "case_stmt", + "case_list", "program_decl_sect_list", "int_decl_sect_list1", "inclass_decl_sect_list1", + "interface_decl_sect_list", "decl_sect_list", "decl_sect_list1", "inclass_decl_sect_list", + "field_or_const_definition", "abc_decl_sect", "decl_sect", "int_decl_sect", + "type_decl", "simple_type_decl", "simple_field_or_const_definition", "res_str_decl_sect", + "method_decl_withattr", "method_or_property_decl", "property_definition", + "fp_sect", "default_expr", "expr_as_stmt", "exception_block", "external_block", + "exception_handler", "exception_handler_list", "exception_identifier", + "typed_const_list1", "typed_const_list", "optional_expr_list", "elem_list", + "optional_expr_list_with_bracket", "expr_list", "const_elem_list1", "const_func_expr_list", + "case_label_list", "const_elem_list", "optional_const_func_expr_list", + "elem_list1", "enumeration_id", "expr_l1_list", "enumeration_id_list", + "const_simple_expr", "term", "typed_const", "typed_const_or_new", "expr", + "const_expr", "elem", "range_expr", "const_elem", "array_const", "factor", + "relop_expr", "expr_l1", "simple_expr", "range_term", "range_factor", "external_directive_ident", + "init_const_expr", "case_label", "variable", "var_reference", "for_cycle_type", + "format_expr", "foreach_stmt", "for_stmt", "yield_stmt", "fp_list", "fp_sect_list", + "file_type", "sequence_type", "var_address", "goto_stmt", "func_name_ident", + "param_name", "const_field_name", "func_name_with_template_args", "identifier_or_keyword", + "unit_name", "exception_variable", "const_name", "func_meth_name_ident", + "label_name", "type_decl_identifier", "template_identifier_with_equal", + "program_param", "identifier", "identifier_keyword_operatorname", "func_class_name_ident", + "optional_identifier", "visibility_specifier", "property_specifier_directives", + "non_reserved", "if_stmt", "initialization_part", "template_arguments", + "label_list", "ident_or_keyword_pointseparator_list", "ident_list", "param_name_list", + "inherited_message", "implementation_part", "interface_part", "abc_interface_part", + "simple_type_list", "literal", "one_literal", "literal_list", "label_decl_sect", + "lock_stmt", "func_name", "proc_name", "optional_proc_name", "qualified_identifier", + "new_expr", "allowable_expr_as_stmt", "parts", "inclass_block", "block", + "proc_func_external_block", "exception_class_type_identifier", "simple_type_identifier", + "base_class_name", "base_classes_names_list", "optional_base_classes", + "one_compiler_directive", "optional_head_compiler_directives", "head_compiler_directives", + "program_heading_2", "optional_tk_point", "program_param_list", "optional_semicolon", + "operator_name_ident", "const_relop", "const_addop", "assign_operator", + "const_mulop", "relop", "addop", "mulop", "sign", "overload_operator", + "typecast_op", "property_specifiers", "array_defaultproperty", "meth_modificators", + "optional_method_modificators", "optional_method_modificators1", "meth_modificator", + "proc_call", "proc_func_constr_destr_decl", "proc_func_decl", "inclass_proc_func_decl", + "inclass_proc_func_decl_noclass", "constr_destr_decl", "inclass_constr_destr_decl", + "method_decl", "proc_func_constr_destr_decl_with_attr", "proc_func_decl_noclass", + "method_header", "proc_type_decl", "procedural_type_kind", "proc_header", + "procedural_type", "constr_destr_header", "proc_func_header", "func_header", + "method_procfunc_header", "int_func_header", "int_proc_header", "property_interface", + "program_file", "program_header", "parameter_decl", "parameter_decl_list", + "property_parameter_list", "const_set", "question_expr", "question_constexpr", + "record_const", "const_field_list_1", "const_field_list", "const_field", + "repeat_stmt", "raise_stmt", "pointer_type", "attribute_declaration", "one_or_some_attribute", + "stmt_list", "else_case", "exception_block_else_branch", "compound_stmt", + "string_type", "sizeof_expr", "simple_prim_property_definition", "simple_property_definition", + "stmt_or_expression", "unlabelled_stmt", "stmt", "case_item", "set_type", + "as_is_expr", "as_is_constexpr", "unsized_array_type", "simple_type_or_", + "simple_type", "array_name_for_new_expr", "foreach_stmt_ident_dype_opt", "fptype", "type_ref", "fptype_noproctype", "array_type", "template_param", "structured_type", "unpacked_structured_type", "simple_or_template_type_reference", "type_ref_or_secific", "for_stmt_decl_or_assign", "type_decl_type", "type_ref_and_secific_list", @@ -150,27 +150,27 @@ public partial class GPPGParser: ShiftReduceParser variable, var_specifiers + case 609: // variable -> variable, tkSquareOpen, expr_list, tkSquareClose { - CurrentSemanticValue.ex = NewVariable(ValueStack[ValueStack.Depth-2].ex as addressed_value, ValueStack[ValueStack.Depth-1].ex, CurrentLocationSpan); + CurrentSemanticValue.ex = new indexer(ValueStack[ValueStack.Depth-4].ex as addressed_value,ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); } break; - case 610: // var_specifiers -> tkSquareOpen, expr_list, tkSquareClose -{ - CurrentSemanticValue.ex = new indexer(ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); - } + case 610: // variable -> variable, tkRoundOpen, optional_expr_list, tkRoundClose +{ + CurrentSemanticValue.ex = new method_call(ValueStack[ValueStack.Depth-4].ex as addressed_value,ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); + } break; - case 611: // var_specifiers -> tkRoundOpen, optional_expr_list, tkRoundClose -{ - CurrentSemanticValue.ex = new method_call(ValueStack[ValueStack.Depth-2].stn as expression_list, CurrentLocationSpan); - } + case 611: // variable -> variable, tkPoint, identifier_keyword_operatorname +{ + CurrentSemanticValue.ex = new dot_node(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); + } break; - case 612: // var_specifiers -> tkPoint, identifier_keyword_operatorname -{ - CurrentSemanticValue.ex = new dot_node(null, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); - } + case 612: // variable -> variable, tkQuestionPoint, identifier_keyword_operatorname +{ + CurrentSemanticValue.ex = new dot_node(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].id as addressed_value, CurrentLocationSpan); + } break; - case 613: // var_specifiers -> tkDeref -{ - CurrentSemanticValue.ex = new roof_dereference(); - CurrentSemanticValue.ex.source_context = CurrentLocationSpan; - } + case 613: // variable -> variable, tkDeref +{ + CurrentSemanticValue.ex = new roof_dereference(ValueStack[ValueStack.Depth-2].ex as addressed_value,CurrentLocationSpan); + } break; - case 614: // var_specifiers -> tkAmpersend, template_type_params -{ - CurrentSemanticValue.ex = new ident_with_templateparams(null, ValueStack[ValueStack.Depth-1].stn as template_param_list, CurrentLocationSpan); - } + case 614: // variable -> variable, tkAmpersend, template_type_params +{ + CurrentSemanticValue.ex = new ident_with_templateparams(ValueStack[ValueStack.Depth-3].ex as addressed_value, ValueStack[ValueStack.Depth-1].stn as template_param_list, CurrentLocationSpan); + //($$ as ident_with_templateparams).name = (addressed_value_funcname)$1; + } break; case 615: // optional_expr_list -> expr_list { CurrentSemanticValue.stn = ValueStack[ValueStack.Depth-1].stn; } diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index 7ccfe673b..753e0b6e1 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -118,6 +118,8 @@ script= + + diff --git a/bin/Lib/PABCRtl.dll b/bin/Lib/PABCRtl.dll index b9d76fe17..11a9b43be 100644 Binary files a/bin/Lib/PABCRtl.dll and b/bin/Lib/PABCRtl.dll differ