pascalabcnet/Compiler/ICompiler.cs
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

116 lines
2 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using PascalABCCompiler.SemanticTreeConverters;
using PascalABCCompiler.Errors;
///Â ðàçðàáîòêå DarkStar
namespace PascalABCCompiler
{
public enum CompilerType { Standart, Remote }
public interface ICompiler
{
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);
string GetSourceFileText(string FileName);
CompilerType CompilerType
{
get;
}
}
}