using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ScriptTool { public interface IControlCode { bool IsEnd { get; } bool IsCompressedString { get; } bool IsMatch(byte[] rom, int address); bool IsMatch(string[] codeStrings); bool IsValid(string[] codeStrings); bool HasReferences { get; } bool AbsoluteAddressing { get; } bool SuppressNextEnd { get; } int ComputeLength(byte[] rom, int address); IList GetReferences(byte[] rom, int address); IList GetCodeStrings(byte[] rom, int address); string GetCompressedString(byte[] rom, int address); void Compile(string[] codeStrings, IList buffer, ref int referenceAddress, IDictionary addressMap); } }