diff --git a/SyntaxTree/tree/TreeHelper.cs b/SyntaxTree/tree/TreeHelper.cs
index c933f0edc..248583b1b 100644
--- a/SyntaxTree/tree/TreeHelper.cs
+++ b/SyntaxTree/tree/TreeHelper.cs
@@ -1401,5 +1401,10 @@ namespace PascalABCCompiler.SyntaxTree
// end frninja
+ // SSM 02/06/16 - пробуем добавить кеш для семантического выражения
+ public partial class expression
+ {
+ }
+
}
diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs
index 2e1675e97..114c2b344 100644
--- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs
+++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs
@@ -817,6 +817,7 @@ namespace PascalABCCompiler.TreeConverter
expression_node en = ret.visit(expr);
//en.loc=get_location(expr);
+
return en;
}
diff --git a/Yield/YieldConversionSyntax/YieldConversionSyntax.csproj b/Yield/YieldConversionSyntax/YieldConversionSyntax.csproj
index 911305df4..a03654cfb 100644
--- a/Yield/YieldConversionSyntax/YieldConversionSyntax.csproj
+++ b/Yield/YieldConversionSyntax/YieldConversionSyntax.csproj
@@ -17,7 +17,7 @@
true
full
false
- bin\Debug\
+ ..\..\bin\
DEBUG;TRACE
prompt
4
diff --git a/Yield/tests/yield1.pas b/Yield/tests/yield1.pas
index 18d0c9482..c29bcbe0f 100644
--- a/Yield/tests/yield1.pas
+++ b/Yield/tests/yield1.pas
@@ -5,7 +5,7 @@ begin
end;
begin
- var q := Gen();
+ var q := Gen;
foreach var x in q do
Print(x);
end.
\ No newline at end of file
diff --git a/bin/Lib/GraphABC.pas b/bin/Lib/GraphABC.pas
index fc19b5aa4..97bc0aadf 100644
--- a/bin/Lib/GraphABC.pas
+++ b/bin/Lib/GraphABC.pas
@@ -333,6 +333,12 @@ procedure DrawTextCentered(x,y,x1,y1: integer; s: string);
procedure DrawTextCentered(x,y,x1,y1: integer; n: integer);
/// Выводит вещественное значение r, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
procedure DrawTextCentered(x,y,x1,y1: integer; r: real);
+/// Выводит строку s, отцентрированное по точке с координатами (x,y)
+procedure DrawTextCentered(x,y: integer; s: string);
+/// Выводит целое n, отцентрированное по точке с координатами (x,y)
+procedure DrawTextCentered(x,y: integer; n: integer);
+/// Выводит вещественное r, отцентрированное по точке с координатами (x,y)
+procedure DrawTextCentered(x,y: integer; r: real);
/// Заливает область одного цвета цветом c, начиная с точки (x,y).
procedure FloodFill(x,y: integer; c: Color);
@@ -837,7 +843,7 @@ type
/// Тип рисунка GraphABC
Picture = class
- private
+ public
bmp,savedbmp: Bitmap;
gb: Graphics;
istransp: boolean;
@@ -2571,6 +2577,30 @@ begin
DrawTextCentered(x,y,x1,y1,r.ToString(nfi));
end;
+procedure DrawTextCentered(x,y: integer; s: string);
+begin
+ Monitor.Enter(f);
+ if NotLockDrawing then
+ DrawTextCentered(x,y,s,gr);
+ if DrawInBuffer then
+ DrawTextCentered(x,y,s,gbmp);
+ Monitor.Exit(f);
+end;
+
+procedure DrawTextCentered(x,y: integer; n: integer);
+begin
+ DrawTextCentered(x,y,n.ToString);
+end;
+
+procedure DrawTextCentered(x,y: integer; r: real);
+begin
+ var nfi := new System.Globalization.NumberFormatInfo();
+ nfi.NumberGroupSeparator := '.';
+
+ DrawTextCentered(x,y,r.ToString(nfi));
+end;
+
+
function Pnt(x,y: integer): Point;
begin
Result := new Point(x,y);
diff --git a/bin/Lib/GraphABCHelper.pas b/bin/Lib/GraphABCHelper.pas
index bef2c407e..271187116 100644
--- a/bin/Lib/GraphABCHelper.pas
+++ b/bin/Lib/GraphABCHelper.pas
@@ -1,4 +1,4 @@
-// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt)
+// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
unit GraphABCHelper;
@@ -47,6 +47,7 @@ procedure ClosedCurve(a: array of Point; gr: Graphics);
procedure TextOut(x,y: integer; s: string; gr: Graphics);
procedure DrawTextCentered(x,y,x1,y1: integer; s: string; gr: Graphics);
+procedure DrawTextCentered(x,y: integer; s: string; gr: Graphics);
function GetView(b: Bitmap; r: System.Drawing.Rectangle): Bitmap;
function ImageIntersect(b1,b2: Bitmap): boolean;
@@ -386,6 +387,14 @@ begin
gr.DrawString(s,Font.NETFont,_CurrentTextBrush,new System.Drawing.RectangleF(x,y,x1-x,y1-y),sf);
end;
+procedure DrawTextCentered(x,y: integer; s: string; gr: Graphics);
+begin
+ var sf := new StringFormat();
+ sf.Alignment := StringAlignment.Center;
+ sf.LineAlignment := StringAlignment.Center;
+
+ gr.DrawString(s,Font.NETFont,_CurrentTextBrush,x,y,sf);
+end;
var __initialized := false;
diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas
index 738f8241f..f75377895 100644
--- a/bin/Lib/PABCSystem.pas
+++ b/bin/Lib/PABCSystem.pas
@@ -117,7 +117,7 @@ type
/// Представляет базовый класс для реализации интерфейса IComparer
Comparer = System.Collections.Generic.Comparer;
- IComparable = System.Collections.Generic.IComparable;
+ IComparable = System.IComparable;
/// Представляет множество значений, реализованное на базе хеш-таблицы
HashSet = System.Collections.Generic.HashSet;