public Language(string _name, string _lineChar, List <string> _keywords, arrangement _setup) { name = _name; lineChar = _lineChar; keywords = _keywords; setup = _setup; }
public void Start() { //TODO: For and Foreach Loops & cases //TODO: Spaces on Ifs and functions //TODO: add names and stars when edited //TODO: over prepared //TODO: VB #region Setup List <string> cSharpWords = new List <string> { "if", "for", "foreach", "Char", "string", "int", "", "as", "", "", "void", "", "", "}", "=", "=", "if", "while", "class", "else", "true", "false", "do" }; List <string> pseudoCodeWords = new List <string> { "IF", "FOR", "FOREACH", "CHAR", "STRING", "INT", "DEFINE", "AS", "SUBROUTINE", "SUBROUTINE", "VOID", "DO", "THEN", "END", "TO", "TO", "IF", "WHILE", "CLASS", "ELSE", "TRUE", "FALSE", "DO" }; // redo List <string> cFlatKeywords = new List <string> { "If", "For", "Foreach", "Char", "String", "Int", "Def", "As", "Function", "Sub", "Void", "", "", "End", "ASG", "VAL", "If", "While", "Class", "Else", "True", "False", "Do" }; arrangement cSharpSetup = new arrangement("{0} void {1} {2} {", "{0} {3} {1} {2} {", "{0} class {1} {", "{0} {1};", "{0} = {1};", "{0} {1} = {2};", "if ( {0} ) {", "while ( {0} ) {", "{0} {1} {2};", "{0} {1} {2} = {3};", "void {0} {1} {", "{2} {0} {1} {", "class {0}", "}"); arrangement pseudoCodeSetup = new arrangement("{0} SUBROUTINE {1} {2}", "{0} {3} SUBROUTINE {1} {2}", "{0} CLASS {1}", "DEFINE {1} AS {0}", "SET {0} TO {1}", "DEFINE {1} AS {0} = {2}", "IF {0} THEN", "WHILE {0} DO", "DEFINE {2} AS {0} {1}", "DEFINE {2} AS {0} {1} = {3}", "SUBROUTINE {0} {1}", "{2} SUBROUTINE {0} {1}", "CLASS {0}", "END {0}"); arrangement cFlatSetup = new arrangement("{0} Sub {1} {2} NRS", "{0} Function {1} {2} RT {3} FS", "{0} Class {1} CP", "Def {0} {1}", "{0} VAL {1}", "Def {0} {1} ASG {2}", "If {0} AGO", "While {0} BEG", "{0} Def {1} {2}", "{0} Def {1} {2} ASG {3}", "Sub {0} {1} NRS", "Function {0} {1} RT {2} FS", "Class {0} CP", "End {0}"); #endregion Cs = new Language("C#", ";", cSharpWords, cSharpSetup); PseudoCode = new Language("PseudoCode", "", pseudoCodeWords, pseudoCodeSetup); Cb = new Language("C flat", "", cFlatKeywords, cFlatSetup); languages.AddRange(new List <Language> { PseudoCode, Cs, Cb }); foreach (Language lang in languages) { fromComboBox.Items.Add(lang.name); toComboBox.Items.Add(lang.name); } // 0 and 1 fromComboBox.SelectedIndex = 0; toComboBox.SelectedIndex = 1; }