2019-07-28 23:53:15 +03:00
|
|
|
// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
|
2015-06-01 22:15:17 +03:00
|
|
|
// 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;
|
|
|
|
|
|
|
|
|
|
namespace PascalABCCompiler.SemanticTreeConverters
|
|
|
|
|
{
|
|
|
|
|
public enum ConverterType
|
|
|
|
|
{
|
|
|
|
|
Conversion, Analysis, CodeGenerator
|
|
|
|
|
}
|
|
|
|
|
public enum ExecutionOrder
|
|
|
|
|
{
|
|
|
|
|
Undefined, First, Last
|
|
|
|
|
}
|
|
|
|
|
public interface ISemanticTreeConverter
|
|
|
|
|
{
|
|
|
|
|
string Name
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string Version
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string Description
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string Copyright
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ConverterType ConverterType
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ExecutionOrder ExecutionOrder
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SemanticTree.IProgramNode Convert(PascalABCCompiler.ICompiler Compiler, SemanticTree.IProgramNode ProgramNode);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|