pascalabcnet/Compiler/ICompiler.cs

123 lines
2.4 KiB
C#
Raw Permalink Normal View History

2015-06-01 22:15:17 +03:00
// 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)
2015-05-14 22:35:07 +03:00
using System;
using System.Collections.Generic;
using System.Text;
using PascalABCCompiler.SemanticTreeConverters;
2016-05-02 11:26:17 +03:00
using PascalABCCompiler.SyntaxTreeConverters;
2015-05-14 22:35:07 +03:00
using PascalABCCompiler.Errors;
///В разработке DarkStar
2015-05-14 22:35:07 +03:00
namespace PascalABCCompiler
{
public enum CompilerType { Standart, Remote }
public interface ICompiler
{
2016-05-02 11:26:17 +03:00
SyntaxTreeConvertersController SyntaxTreeConvertersController
{
get;
}
2015-05-14 22:35:07 +03:00
SemanticTreeConvertersController SemanticTreeConvertersController
{
get;
}
Parsers.Controller ParsersController
{
get;
}
SemanticTree.IProgramNode SemanticTree
{
get;
}
uint LinesCompiled
{
get;
}
CompilerInternalDebug InternalDebug
{
get;
set;
}
CompilerState State
{
get;
}
SupportedSourceFile[] SupportedSourceFiles
{
get;
}
SupportedSourceFile[] SupportedProjectFiles
{
get;
}
CompilerOptions CompilerOptions
{
get;
set;
}
List<Errors.Error> ErrorsList
{
get;
}
List<CompilerWarning> Warnings
{
get;
}
int BeginOffset
{
get;
}
int VarBeginOffset
{
get;
}
CompilationUnitHashTable UnitTable
{
get;
}
SourceFilesProviderDelegate SourceFilesProvider
{
get;
}
event ChangeCompilerStateEventDelegate OnChangeCompilerState;
void Free();
void Reload();
string Compile();
void StartCompile();
void AddWarnings(List<CompilerWarning> WarningList);
SyntaxTree.compilation_unit ParseText(string FileName, string Text, List<Error> ErrorList, List<CompilerWarning> Warnings);
2015-05-14 22:35:07 +03:00
string GetSourceFileText(string FileName);
CompilerType CompilerType
{
get;
}
}
}