This commit is contained in:
miks1965 2015-05-17 21:15:48 +03:00
parent dcdfa3e6ac
commit 955d9699ee
11 changed files with 2473 additions and 2233 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "2";
public const string Minor = "2";
public const string Build = "0";
public const string Revision = "944";
public const string Revision = "945";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=2
%REVISION%=944
%REVISION%=945
%MAJOR%=2
%COREVERSION%=0

View file

@ -1,9 +1,9 @@
//
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: IVAN-PC
// DateTime: 14.05.2015 11:52:36
// UserName: Ivan
// Machine: SSM
// DateTime: 17.05.2015 21:07:31
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>
//

View file

@ -1138,6 +1138,81 @@ simple_type
{
$$ = new enum_type_definition($2 as enumerator_list, @$);
}
| identifier tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = new template_param_list();
t.Add(new named_type_reference($1,@1));
t.Add(new named_type_reference($3,@3));
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen tkRoundClose tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = new template_param_list();
t.Add(new named_type_reference($4,@4));
t.source_context = @4;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen enumeration_id_list tkRoundClose tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = new template_param_list();
var en = $2 as enumerator_list;
if (en.enumerators.Count == 1)
parsertools.AddErrorFromResource("ONE_TYPE_PARAMETER_MUSTBE_WITHOUT_PARENTHESES",en.enumerators[0].name.source_context);
for (int i=0; i<en.enumerators.Count; i++)
{
if (en.enumerators[i].value != null)
parsertools.AddErrorFromResource("ONE_TKIDENTIFIER",en.enumerators[i].name.source_context);
t.Add(new named_type_reference(en.enumerators[i].name,en.enumerators[i].name.source_context));
}
t.Add(new named_type_reference($5,@5));
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| identifier tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
var t = new template_param_list();
t.Add(new named_type_reference($1,@1));
t.source_context = @1;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen tkRoundClose tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
$$ = new named_type_reference(l,@$);
}
| tkRoundOpen enumeration_id_list tkRoundClose tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
var t = new template_param_list();
var en = $2 as enumerator_list;
if (en.enumerators.Count == 1)
parsertools.AddErrorFromResource("ONE_TYPE_PARAMETER_MUSTBE_WITHOUT_PARENTHESES",en.enumerators[0].name.source_context);
for (int i=0; i<en.enumerators.Count; i++)
{
if (en.enumerators[i].value != null)
parsertools.AddErrorFromResource("ONE_TKIDENTIFIER",en.enumerators[i].name.source_context);
t.Add(new named_type_reference(en.enumerators[i].name,en.enumerators[i].name.source_context));
}
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
;
range_expr
@ -1338,6 +1413,67 @@ proc_type_decl
{
$$ = new function_header($2 as formal_parameters, null, null, null, $4 as type_definition, @$);
}
/* | identifier tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = new template_param_list();
t.Add(new named_type_reference($1,@1));
t.Add(new named_type_reference($3,@3));
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen tkRoundClose tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = new template_param_list();
t.Add(new named_type_reference($4,@4));
t.source_context = @4;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen identifier tkComma template_param_list tkRoundClose tkArrow identifier
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Func"));
var t = $4 as template_param_list;
t.Add(new named_type_reference($7,@7));
t.params_list.Insert(0,new named_type_reference($2,@2));
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| identifier tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
var t = new template_param_list();
t.Add(new named_type_reference($1,@1));
t.source_context = @1;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen tkRoundClose tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
var t = new template_param_list();
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}
| tkRoundOpen identifier tkComma template_param_list tkRoundClose tkArrow tkRoundOpen tkRoundClose
{
var l = new List<ident>();
l.Add(new ident("System"));
l.Add(new ident("Action"));
var t = $4 as template_param_list;
t.params_list.Insert(0,new named_type_reference($2,@2));
t.source_context = @$;
$$ = new template_type_reference(new named_type_reference(l), t, @$);
}*/
;
object_type

File diff suppressed because it is too large Load diff

View file

@ -292,7 +292,6 @@
<name value="type_decl_type" />
<name value="type_ref" />
<name value="template_type" />
<name value="simple_type" />
<name value="pointer_type" />
<name value="structured_type" />
<name value="unpacked_structured_type" />
@ -303,6 +302,7 @@
<name value="procedural_type" />
<name value="object_type" />
<name value="record_type" />
<name value="proc_type_decl" />
</tag>
<tag value="Ключевые слова">
<name value="meth_modificator" />

View file

@ -6,10 +6,12 @@ yaccGen=D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin\GPLex_GPP
lexGenOpt=/unicode
yaccGenOpt=/gplex
useGenOpt=False
scriptWorkingDir=D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin
scriptWorkingDir=D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin
script=
"D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin\GPLex_GPPG\gplex.exe" /unicode "D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin\ABCPascal.lex"
"D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin\GPLex_GPPG\gppg.exe" /no-lines /gplex "D:\PascalABC.NET\!PABC_SVN1\Parsers\PascalABCParserNewSaushkin\ABCPascal.y"
"D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\GPLex_GPPG\gplex.exe" /unicode "D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.lex"
"D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\GPLex_GPPG\gppg.exe" /no-lines /gplex "D:\PascalABC.NET\!PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y"

View file

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VisualPascalABCNET", "VisualPascalABCNET", "{26843C5D-9D7E-4C2C-AC14-2D227FA5592E}"
EndProject
@ -411,6 +411,7 @@ Global
{CFC683F8-0165-4A9F-9C3F-BB8C5BAB507F} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
{BC35F816-54EE-47E0-89FC-1C66EAC155A9} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
{EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
{A5A3667E-8A3B-4569-BA0E-AD49E12D07E7} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
{DBE875B5-6187-45D8-8B75-2E43CC513A60} = {EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}
{43879684-ADBE-470A-AAC6-2ACA36603971} = {EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}
{3F74B986-7711-42B1-93D7-51952A71FF2E} = {EC68A3D8-6D63-4A79-ABA6-BF8E9D7756D7}
@ -430,19 +431,15 @@ Global
{10679470-FE1B-4193-A203-D940CF0AEA54} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{1AB15F6E-C22E-499A-A7ED-54BA7DE5CFA6} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{BB6973BA-B3A2-4B31-A986-7CB008F22C4F} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{1D51D03C-FB74-4AB2-84B4-09EB077BEAFE} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
{94EED2FF-0641-4562-8167-CBC280A733AF} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{146083AD-6684-4EBC-A539-AAD749A16364} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{1D51D03C-FB74-4AB2-84B4-09EB077BEAFE} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
{1443F539-DCC7-4491-B4FD-B716C739DB3C} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
{C2CAC65A-B2AE-4CCC-B067-E6B8E75DF73A} = {94EED2FF-0641-4562-8167-CBC280A733AF}
{613E0DDA-AA8A-437C-AC45-507B47429FF9} = {94EED2FF-0641-4562-8167-CBC280A733AF}
{A5A3667E-8A3B-4569-BA0E-AD49E12D07E7} = {26843C5D-9D7E-4C2C-AC14-2D227FA5592E}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {A5A3667E-8A3B-4569-BA0E-AD49E12D07E7}
{146083AD-6684-4EBC-A539-AAD749A16364} = {F8CE2712-826B-450B-A72F-D32D80C99858}
{1443F539-DCC7-4491-B4FD-B716C739DB3C} = {BB6973BA-B3A2-4B31-A986-7CB008F22C4F}
EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal

View file

@ -1 +1 @@
!define VERSION '2.2.0.944'
!define VERSION '2.2.0.945'

View file

@ -49,4 +49,5 @@ ONE_OPERATOR=Expected operator
ONE_STMT=Expected statement
DUPLICATE_NAMES_IN_ANON_TYPE=Duplicate field names in anonymous type
BAD_ANON_TYPE=Bad field name in anonymous type
BAD_ANON_TYPE=Bad field name in anonymous type
ONE_TYPE_PARAMETER_MUSTBE_WITHOUT_PARENTHESES=The alone typed parameter must be without parentheses

View file

@ -50,3 +50,4 @@ ONE_STMT=Ожидался оператор
DUPLICATE_NAMES_IN_ANON_TYPE=Анонимный тип не может содержать поля с одинаковыми именами
BAD_ANON_TYPE=Неверное определение имени поля анонимного типа
ONE_TYPE_PARAMETER_MUSTBE_WITHOUT_PARENTHESES=Одинокий типовой параметр не должен заключаться в скобки