event и yield теперь не требуют экранирования & в a.event, b.yield

Убрал также подсказку по Iterate  и Repeat, расширяющих ЛЮБОЙ класс
This commit is contained in:
miks1965 2016-04-14 22:11:30 +03:00
parent 560122eebc
commit 194b4fde0b
8 changed files with 1315 additions and 1301 deletions

View file

@ -2790,9 +2790,7 @@ namespace CodeFormatters
{
//multiline_stack_push(at);
visit_node(at.vars);
//add_space_before = true;
add_space_after = true;
//sb.Append(" := ");
visit_node(at.expr);
//multiline_stack_pop(at);
}
@ -2803,8 +2801,6 @@ namespace CodeFormatters
var i = 0;
foreach (var av in al.variables)
{
/*if (i > 0)
sb.Append(", ");*/
visit_node(av);
add_space_after = true;
i++;

View file

@ -2,7 +2,7 @@
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: SSM
// DateTime: 09.04.2016 22:21:39
// DateTime: 13.04.2016 11:35:20
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>
@ -2375,24 +2375,32 @@ public static class Keywords
keywords.Add("class",(int)Tokens.tkClass);
keywords.Add("const",(int)Tokens.tkConst);
keywords.Add("constructor",(int)Tokens.tkConstructor);
keywords.Add("default",(int)Tokens.tkDefault);
keywords.Add("destructor",(int)Tokens.tkDestructor);
keywords.Add("downto",(int)Tokens.tkDownto);
keywords.Add("do",(int)Tokens.tkDo);
keywords.Add("else",(int)Tokens.tkElse);
keywords.Add("end",(int)Tokens.tkEnd);
keywords.Add("event",(int)Tokens.tkEvent);
keywords.Add("except",(int)Tokens.tkExcept);
keywords.Add("exports",(int)Tokens.tkExports);
keywords.Add("file",(int)Tokens.tkFile);
keywords.Add("finalization",(int)Tokens.tkFinalization);
keywords.Add("finally",(int)Tokens.tkFinally);
keywords.Add("for",(int)Tokens.tkFor);
keywords.Add("foreach",(int)Tokens.tkForeach);
keywords.Add("function",(int)Tokens.tkFunction);
keywords.Add("goto",(int)Tokens.tkGoto);
keywords.Add("if",(int)Tokens.tkIf);
keywords.Add("implementation",(int)Tokens.tkImplementation);
keywords.Add("inherited",(int)Tokens.tkInherited);
keywords.Add("initialization",(int)Tokens.tkInitialization);
keywords.Add("interface",(int)Tokens.tkInterface);
keywords.Add("label",(int)Tokens.tkLabel);
keywords.Add("lock",(int)Tokens.tkLock);
keywords.Add("nil",(int)Tokens.tkNil);
keywords.Add("procedure",(int)Tokens.tkProcedure);
keywords.Add("of",(int)Tokens.tkOf);
keywords.Add("operator",(int)Tokens.tkOperator);
keywords.Add("property",(int)Tokens.tkProperty);
keywords.Add("raise",(int)Tokens.tkRaise);
@ -2408,17 +2416,9 @@ public static class Keywords
keywords.Add("var",(int)Tokens.tkVar);
keywords.Add("while",(int)Tokens.tkWhile);
keywords.Add("with",(int)Tokens.tkWith);
keywords.Add("nil",(int)Tokens.tkNil);
keywords.Add("goto",(int)Tokens.tkGoto);
keywords.Add("of",(int)Tokens.tkOf);
keywords.Add("label",(int)Tokens.tkLabel);
keywords.Add("lock",(int)Tokens.tkLock);
keywords.Add("program",(int)Tokens.tkProgram);
keywords.Add("event",(int)Tokens.tkEvent);
keywords.Add("default",(int)Tokens.tkDefault);
keywords.Add("template",(int)Tokens.tkTemplate);
keywords.Add("packed",(int)Tokens.tkPacked);
keywords.Add("exports",(int)Tokens.tkExports);
keywords.Add("resourcestring",(int)Tokens.tkResourceString);
keywords.Add("threadvar",(int)Tokens.tkThreadvar);
keywords.Add("sealed",(int)Tokens.tkSealed);

View file

@ -547,24 +547,32 @@ public static class Keywords
keywords.Add("class",(int)Tokens.tkClass);
keywords.Add("const",(int)Tokens.tkConst);
keywords.Add("constructor",(int)Tokens.tkConstructor);
keywords.Add("default",(int)Tokens.tkDefault);
keywords.Add("destructor",(int)Tokens.tkDestructor);
keywords.Add("downto",(int)Tokens.tkDownto);
keywords.Add("do",(int)Tokens.tkDo);
keywords.Add("else",(int)Tokens.tkElse);
keywords.Add("end",(int)Tokens.tkEnd);
keywords.Add("event",(int)Tokens.tkEvent);
keywords.Add("except",(int)Tokens.tkExcept);
keywords.Add("exports",(int)Tokens.tkExports);
keywords.Add("file",(int)Tokens.tkFile);
keywords.Add("finalization",(int)Tokens.tkFinalization);
keywords.Add("finally",(int)Tokens.tkFinally);
keywords.Add("for",(int)Tokens.tkFor);
keywords.Add("foreach",(int)Tokens.tkForeach);
keywords.Add("function",(int)Tokens.tkFunction);
keywords.Add("goto",(int)Tokens.tkGoto);
keywords.Add("if",(int)Tokens.tkIf);
keywords.Add("implementation",(int)Tokens.tkImplementation);
keywords.Add("inherited",(int)Tokens.tkInherited);
keywords.Add("initialization",(int)Tokens.tkInitialization);
keywords.Add("interface",(int)Tokens.tkInterface);
keywords.Add("label",(int)Tokens.tkLabel);
keywords.Add("lock",(int)Tokens.tkLock);
keywords.Add("nil",(int)Tokens.tkNil);
keywords.Add("procedure",(int)Tokens.tkProcedure);
keywords.Add("of",(int)Tokens.tkOf);
keywords.Add("operator",(int)Tokens.tkOperator);
keywords.Add("property",(int)Tokens.tkProperty);
keywords.Add("raise",(int)Tokens.tkRaise);
@ -580,17 +588,9 @@ public static class Keywords
keywords.Add("var",(int)Tokens.tkVar);
keywords.Add("while",(int)Tokens.tkWhile);
keywords.Add("with",(int)Tokens.tkWith);
keywords.Add("nil",(int)Tokens.tkNil);
keywords.Add("goto",(int)Tokens.tkGoto);
keywords.Add("of",(int)Tokens.tkOf);
keywords.Add("label",(int)Tokens.tkLabel);
keywords.Add("lock",(int)Tokens.tkLock);
keywords.Add("program",(int)Tokens.tkProgram);
keywords.Add("event",(int)Tokens.tkEvent);
keywords.Add("default",(int)Tokens.tkDefault);
keywords.Add("template",(int)Tokens.tkTemplate);
keywords.Add("packed",(int)Tokens.tkPacked);
keywords.Add("exports",(int)Tokens.tkExports);
keywords.Add("resourcestring",(int)Tokens.tkResourceString);
keywords.Add("threadvar",(int)Tokens.tkThreadvar);
keywords.Add("sealed",(int)Tokens.tkSealed);

View file

@ -3353,6 +3353,10 @@ keyword
{ $$ = $1; }
| tkParams
{ $$ = $1; }
| tkEvent
{ $$ = $1; }
| tkYield
{ $$ = $1; }
;
reserved_keyword

File diff suppressed because it is too large Load diff

View file

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

Binary file not shown.

View file

@ -7781,13 +7781,15 @@ end;
// -----------------------------------------------------
// Дополнения февраль 2016: Iterate, Step, &Repeat, Cycle
/// Возвращает бесконечную рекуррентную последовательность элементов, задаваемую начальным элементом и функцией next
// Возвращает бесконечную рекуррентную последовательность элементов, задаваемую начальным элементом и функцией next
///--
function Iterate<T>(Self: T; next: T -> T): sequence of T; extensionmethod;
begin
Result := Iterate&<T>(Self,next);
end;
/// Возвращает бесконечную рекуррентную последовательность элементов, задаваемую начальным элементом, следующим за ним элементом и функцией next
// Возвращает бесконечную рекуррентную последовательность элементов, задаваемую начальным элементом, следующим за ним элементом и функцией next
///--
function Iterate<T>(Self,second: T; next: (T,T) -> T): sequence of T; extensionmethod;
begin
Result := Iterate&<T>(Self,second,next);
@ -7813,7 +7815,8 @@ begin
Result := IntNumbersClass.Create().Select(x->x*step+slf);
end;
/// Возвращает бесконечную последовательность элементов, совпадающих с данным
// Возвращает бесконечную последовательность элементов, совпадающих с данным
///--
function &Repeat<T>(Self: T): sequence of T; extensionmethod;
begin
Result := SeqFill(MaxInt,Self);