Browse Source

Derive Grammer

reports
Peter Forstmeier 13 years ago
parent
commit
880f2b8154
  1. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  2. 25
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/ReportingLanguageGrammer.cs
  3. 29
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/ReportingLanguageRuntime.cs
  4. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/IronyGeneral.cs

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -109,6 +109,8 @@ @@ -109,6 +109,8 @@
<Compile Include="Src\ExportRenderer\FixedDocumentCreator.cs" />
<Compile Include="Src\Expressions\ExpressionHelper.cs" />
<Compile Include="Src\Expressions\ExpressionRunner.cs" />
<Compile Include="Src\Expressions\Irony\ReportingLanguageGrammer.cs" />
<Compile Include="Src\Expressions\Irony\ReportingLanguageRuntime.cs" />
<Compile Include="Src\Factories\ExportColumnFactory.cs" />
<Compile Include="Src\Factories\ReportCreatorFactory.cs" />
<Compile Include="Src\Globals\CreateGraphics.cs" />
@ -154,6 +156,7 @@ @@ -154,6 +156,7 @@
<ItemGroup>
<Folder Include="Src\DataSource\Comparer" />
<Folder Include="Src\Exporter\Visitors" />
<Folder Include="Src\Expressions\Irony" />
<Folder Include="Src\Interfaces" />
<Folder Include="Src\Globals" />
<Folder Include="Src" />

25
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/ReportingLanguageGrammer.cs

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using Irony;
using Irony.Interpreter;
using Irony.Interpreter.Evaluator;
using Irony.Parsing;
namespace ICSharpCode.Reporting.Expressions.Irony
{
/// <summary>
/// Description of ReportingLanguageGrammer.
/// </summary>
public class ReportingLanguageGrammer:ExpressionEvaluatorGrammar
{
public ReportingLanguageGrammer()
{
}
public override LanguageRuntime CreateRuntime(LanguageData language)
{
return new ReportingLanguageRuntime(language);
}
}
}

29
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/ReportingLanguageRuntime.cs

@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using Irony.Interpreter;
using Irony.Parsing;
namespace ICSharpCode.Reporting.Expressions.Irony
{
/// <summary>
/// Description of ReportingLanguageRuntime.
/// </summary>
public class ReportingLanguageRuntime:LanguageRuntime
{
public ReportingLanguageRuntime(LanguageData language):base(language)
{
}
public override void Init()
{
base.Init();
//add built-in methods, special form IIF, import Math and Environment methods
// BuiltIns.AddMethod(BuiltInPrintMethod, "print");
// BuiltIns.AddMethod(BuiltInFormatMethod, "format");
BuiltIns.AddSpecialForm(SpecialFormsLibrary.Iif, "iif", 3, 3);
BuiltIns.ImportStaticMembers(typeof(System.Math));
BuiltIns.ImportStaticMembers(typeof(Environment));
}
}
}

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/IronyGeneral.cs

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Reporting.Expressions.Irony;
using Irony.Interpreter.Evaluator;
using NUnit.Framework;
@ -63,7 +64,7 @@ namespace ICSharpCode.Reporting.Test.Expressions @@ -63,7 +64,7 @@ namespace ICSharpCode.Reporting.Test.Expressions
[SetUp]
public void Initialize() {
grammar = new ExpressionEvaluatorGrammar();
grammar = new ReportingLanguageGrammer();
evaluator = new ExpressionEvaluator(grammar);
}
}

Loading…
Cancel
Save