/// <summary> /// Creates a new Event Assembler code language /// </summary> /// <param name="name">Name of the language</param> /// <param name="pointerMaker">Pointer maker for this language</param> /// <param name="pointerList">Pointer list of this langauge, String is the name of the /// label to point to, List are the priorities that are pointed to.</param> /// <param name="pointerListParameters">Array of amount of pointers per POIN code for pointer list.</param> public EACodeLanguage(string name, IPointerMaker <int> pointerMaker, Tuple <string, List <Priority> >[][] pointerList, ICodeTemplateStorer codeStorer, StringComparer stringComparer) { this.name = name; this.codeStorage = codeStorer; //codeStorage.AddCode(new RawCodeTemplate(stringComparer), Priority.low); //codeStorage.AddCode(new CodeFillerTemplate(stringComparer), Priority.low); //foreach (ICodeTemplate template in codeStorer) //{ // CodeTemplate template2 = template as CodeTemplate; // if (template2 != null) // { // template2.PointerMaker = pointerMaker; // } //} reservedWords = new List <string> { offsetChanger, //Offset changing code alignOffset, //Offset aligning code currentOffset, //Referances current offset messagePrinter, //Print message to message box/something errorPrinter, //Print message to message box/something warningPrinter //Print message to message box/something }; var pres = new IntRepresentation(); this.assembler = new EAExpressionAssembler <int>( codeStorage, new TokenParser <int>(StringExtensions.GetValue), new IntRepresentation(), pointerMaker); this.disassembler = new EACodeLanguageDisassembler <int>( codeStorage, pointerMaker, pointerList, pres); }
/// <summary> /// Creates a new Event Assembler code language /// </summary> /// <param name="name">Name of the language</param> /// <param name="pointerMaker">Pointer maker for this language</param> /// <param name="pointerList">Pointer list of this langauge, String is the name of the /// label to point to, List are the priorities that are pointed to.</param> /// <param name="pointerListParameters">Array of amount of pointers per POIN code for pointer list.</param> public EACodeLanguage(string name, IPointerMaker<int> pointerMaker, Tuple<string, List<Priority>>[][] pointerList, ICodeTemplateStorer codeStorer, StringComparer stringComparer) { this.name = name; this.codeStorage = codeStorer; //codeStorage.AddCode(new RawCodeTemplate(stringComparer), Priority.low); //codeStorage.AddCode(new CodeFillerTemplate(stringComparer), Priority.low); //foreach (ICodeTemplate template in codeStorer) //{ // CodeTemplate template2 = template as CodeTemplate; // if (template2 != null) // { // template2.PointerMaker = pointerMaker; // } //} reservedWords = new List<string> { offsetChanger, //Offset changing code alignOffset, //Offset aligning code currentOffset, //Referances current offset messagePrinter, //Print message to message box/something errorPrinter, //Print message to message box/something warningPrinter //Print message to message box/something }; var pres = new IntRepresentation(); this.assembler = new EAExpressionAssembler<int>( codeStorage, new TokenParser<int>(StringExtensions.GetValue), new IntRepresentation(), pointerMaker); this.disassembler = new EACodeLanguageDisassembler<int>( codeStorage, pointerMaker, pointerList, pres); }