diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 61690b953..a27a8773e 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "7"; public const string Build = "1"; - public const string Revision = "2772"; + public const string Revision = "2774"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index a5abcc843..a5491d713 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %COREVERSION%=1 -%REVISION%=2772 +%REVISION%=2774 %MINOR%=7 %MAJOR%=3 diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 0d9ff1fdb..af75ff147 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: DESKTOP-G8V08V4 -// DateTime: 14.12.2020 21:18:08 +// DateTime: 25.12.2020 21:59:53 // UserName: ????????? // GPLEX input file // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y index 3f8a8a315..dcc937463 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.y +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.y @@ -200,9 +200,9 @@ parse_goal var stl = $2 as statement_list; stl.left_logical_bracket = $1; var un = new unit_or_namespace(new ident_list("SF"),null); - var un1 = new unit_or_namespace(new ident_list("School"),null); + //var un1 = new unit_or_namespace(new ident_list("School"),null); var ul = new uses_list(un,null); - ul.Add(un1); + //ul.Add(un1); root = $$ = NewProgramModule(null, null, ul, new block(null, stl, @$), new token_info(""), @$); } ; diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index 73888bc17..d6e15b05e 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,9 +2,9 @@ // GPPG version 1.3.6 // Machine: DESKTOP-G8V08V4 -// DateTime: 14.12.2020 21:18:09 +// DateTime: 25.12.2020 21:59:54 // UserName: ????????? -// Input file +// Input file // options: no-lines gplex @@ -59,7 +59,7 @@ public abstract class ScanBase : AbstractScanner { - // Verbatim content from D:\PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y + // Verbatim content from ABCPascal.y // ��� ���������� ����������� � ����� GPPGParser, �������������� ����� ������, ������������ �������� gppg public syntax_tree_node root; // �������� ���� ��������������� ������ @@ -71,7 +71,7 @@ public partial class GPPGParser: ShiftReduceParser scanner) : base(scanner) { } - // End verbatim content from D:\PABC_Git\Parsers\PascalABCParserNewSaushkin\ABCPascal.y + // End verbatim content from ABCPascal.y #pragma warning disable 649 private static Dictionary aliasses; @@ -2824,9 +2824,9 @@ public partial class GPPGParser: ShiftReduceParser(left, right: string) := string.CompareOrdinal(left, right) > 0; +///-- function string.operator>=(left, right: string) := string.CompareOrdinal(left, right) >= 0; -/// Повторяет строку str n раз +///-- function string.operator*(str: string; n: integer): string; begin var sb := new StringBuilder; @@ -4086,7 +4094,7 @@ begin Result := sb.ToString; end; -/// Повторяет строку str n раз +///-- function string.operator*(n: integer; str: string): string; begin var sb := new StringBuilder; @@ -4095,7 +4103,7 @@ begin Result := sb.ToString; end; -/// Повторяет символ c n раз +///-- function char.operator*(c: char; n: integer): string; begin if n <= 0 then @@ -4109,7 +4117,7 @@ begin Result := sb.ToString; end; -/// Повторяет символ c n раз +///-- function char.operator*(n: integer; c: char): string; begin if n <= 0 then @@ -4123,18 +4131,23 @@ begin Result := sb.ToString; end; -/// Добавляет к строке str строковое представление числа n +// Добавляет к строке str строковое представление числа n +///-- function string.operator+(str: string; n: integer) := str + n.ToString; -/// Добавляет к строке str строковое представление числа n +// Добавляет к строке str строковое представление числа n +///-- function string.operator+(n: integer; str: string) := n.ToString + str; -/// Добавляет к строке str строковое представление числа r +// Добавляет к строке str строковое представление числа r +///-- function string.operator+(str: string; r: real) := str + r.ToString(nfi); -/// Добавляет к строке str строковое представление числа r +// Добавляет к строке str строковое представление числа r +///-- function string.operator+(r: real; str: string) := r.ToString(nfi) + str; +///-- procedure string.operator+=(var left: string; right: integer); begin left := left + right.ToString; @@ -12349,10 +12362,10 @@ begin Result := Self.Split(delim, System.StringSplitOptions.RemoveEmptyEntries); end; -const AllWordDelimiters = ' <>=^`|~$№§!"#%&''()*,+-./:;?@[\]_{}«­·»'#9#10#13; +const SpaceDelimiters = ' '+#9#10#13; /// Преобразует строку в массив слов, используя в качестве разделителей символы из строки delim -function ToWords(Self: string; delim: string := AllWordDelimiters): array of string; extensionmethod; +function ToWords(Self: string; delim: string := SpaceDelimiters): array of string; extensionmethod; begin Result := Self.Split(delim.ToCharArray, System.StringSplitOptions.RemoveEmptyEntries); end; @@ -12859,59 +12872,59 @@ function operator>=(Self: (T1, T2, T3, T4,T5,T6,T7); v: (T // ------------------------------------------- // Дополнения февраль 2016 -// Добавляет поле к кортежу +/// Добавляет поле к кортежу function Add(Self: (T1, T2); v: T3): (T1, T2, T3); extensionmethod; begin Result := (Self[0], Self[1], v); end; -// Добавляет поле к кортежу +/// Добавляет поле к кортежу function Add(Self: (T1, T2, T3); v: T4): (T1, T2, T3, T4); extensionmethod; begin Result := (Self[0], Self[1], Self[2], v); end; -// Добавляет поле к кортежу +/// Добавляет поле к кортежу function Add(Self: (T1, T2, T3, T4); v: T5): (T1, T2, T3, T4, T5); extensionmethod; begin Result := (Self[0], Self[1], Self[2], Self[3], v); end; -// Добавляет поле к кортежу +/// Добавляет поле к кортежу function Add(Self: (T1, T2, T3, T4, T5); v: T6): (T1, T2, T3, T4, T5, T6); extensionmethod; begin Result := (Self[0], Self[1], Self[2], Self[3], Self[4], v); end; -// Добавляет поле к кортежу +/// Добавляет поле к кортежу function Add(Self: (T1, T2, T3, T4, T5, T6); v: T7): (T1, T2, T3, T4, T5, T6, T7); extensionmethod; begin Result := (Self[0], Self[1], Self[2], Self[3], Self[4], Self[5], v); end; -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2)); extensionmethod := Print(Self); -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2, T3)); extensionmethod := Print(Self); -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2, T3, T4)); extensionmethod := Print(Self); -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2, T3, T4, T5)); extensionmethod := Print(Self); -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2, T3, T4, T5, T6)); extensionmethod := Print(Self); -// Выводит кортеж +/// Выводит кортеж procedure Print(Self: (T1, T2, T3, T4, T5, T6, T7)); extensionmethod := Print(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2)); extensionmethod := Println(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2, T3)); extensionmethod := Println(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2, T3, T4)); extensionmethod := Println(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2, T3, T4, T5)); extensionmethod := Println(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2, T3, T4, T5, T6)); extensionmethod := Println(Self); -// Выводит кортеж и переходит на новую строку +/// Выводит кортеж и переходит на новую строку procedure Println(Self: (T1, T2, T3, T4, T5, T6, T7)); extensionmethod := Println(Self);