Исправление var a, var b, var c

This commit is contained in:
miks1965 2016-10-21 09:45:25 +03:00
parent 2fbdeaaa2c
commit 1dbd724756
10 changed files with 967 additions and 1070 deletions

View file

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

View file

@ -1,4 +1,4 @@
%COREVERSION%=0
%REVISION%=1323
%REVISION%=1325
%MINOR%=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-8EAQPI9
// DateTime: 17.10.2016 12:57:52
// DateTime: 19.10.2016 11:16:29
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>

View file

@ -2324,7 +2324,7 @@ var_variable_list
{
$$ = new addressed_value_list($2 as addressed_value,@$);
}
| variable_list tkComma tkVar variable
| var_variable_list tkComma tkVar variable
{
($1 as addressed_value_list).Add($4 as addressed_value);
($1 as addressed_value_list).source_context = LexLocation.MergeAll(@1,@2,@3,@4);

File diff suppressed because it is too large Load diff

View file

@ -135,6 +135,8 @@ script=

View file

@ -1 +1 @@
!define VERSION '3.2.0.1323'
!define VERSION '3.2.0.1325'

Binary file not shown.

View file

@ -3789,110 +3789,6 @@ begin
Result := res;
end;
{type
// Вспомогательный класс для генерации бесконечной последовательности целых, начиная с заданного значения
IntNumbersClass = class(SeqBaseInteger,IEnumerable<integer>,IEnumerator<integer>)
private
first,cur: integer;
public
constructor (first: integer := 0);
begin
Self.first := first;
cur := first-1;
end;
function get_Current: integer; virtual;
begin
Result := cur;
end;
function MoveNext(): boolean; virtual;
begin
Result := True;
cur += 1;
end;
procedure Dispose(); override;
begin
cur := first-1;
end;
end;}
// Вспомогательный класс для генерации рекуррентных последовательностей
{ IterateClass<T> = class(SeqBase<T>,IEnumerable<T>,IEnumerator<T>)
private
first: T;
cur: T;
next: T->T;
isfirst := true;
public
constructor (first: T; next: T->T);
begin
Self.first := first;
cur := first;
Self.next := next;
end;
function get_Current: T; virtual;
begin
Result := cur;
end;
function MoveNext(): boolean; virtual;
begin
Result := True;
if isfirst then
isfirst := false
else cur := next(cur)
end;
procedure Dispose(); override;
begin
cur := first;
isfirst := true;
end;
end;
// Вспомогательный класс для генерации рекуррентных последовательностей по двум предыдущим значениям
Iterate2Class<T> = class(SeqBase<T>,IEnumerable<T>,IEnumerator<T>)
private
first,second: T;
a,b: T;
next: (T,T)->T;
isfirst := true;
public
constructor (first,second: T; next: (T,T)->T);
begin
Self.first := first;
Self.second := second;
a := first;
b := second;
Self.next := next;
end;
function get_Current: T; virtual;
begin
Result := a;
end;
function MoveNext(): boolean; virtual;
begin
Result := True;
if isfirst then
isfirst := false
else
begin
var v := next(a,b);
a := b;
b := v;
end;
end;
procedure Dispose(); override;
begin
a := first;
b := second;
isfirst := true;
end;
end;}
/// Возвращает бесконечную рекуррентную последовательность элементов, задаваемую начальным элементом first и функцией next
function Iterate<T>(first: T; next: T->T): sequence of T;
begin

Binary file not shown.