//EventHandler xmlParsingFinishedHandler = XmlParsingFinishedHandler; /*private static void XmlParsingFinishedHandler(object sender, EventArgs eventArgs) * { * * }*/ private void resetWorkspace() { _parcer = new FBClassParcer(ShowMessage, Program.Settings); _selectedFbType = null; _selectedVariable = null; fbTypesView.Nodes.Clear(); smvCodeRichTextBox.Text = ""; messagesRichTextBox.Text = ""; }
private void resetWorkspace(ProjectFileStructure project) { _executionModels = project.ExecutionModels; _parcer = new FBClassParcer(project.Storage, ShowMessage); _selectedFbType = null; _selectedVariable = null; fbTypesView.Nodes.Clear(); smvCodeRichTextBox.Text = ""; messagesRichTextBox.Text = ""; }
static void Main(string[] args) { string filename = args[0]; FBClassParcer parcer = new FBClassParcer(); parcer.ParseRecursive(filename); SmvCodeGenerator translator = new SmvCodeGenerator(parcer.Storage); string outFileName = Path.Combine(Path.GetDirectoryName(filename), Path.GetFileNameWithoutExtension(filename) + ".smv"); StreamWriter wr = new StreamWriter(outFileName); foreach (string fbSmv in translator.TranslateAll()) { wr.Write(fbSmv + "\n"); } wr.Close(); }
public void TestMethod1() { const string filename = @"c:\Users\dim\Projects\fb2smv\tests\full_fb\fb\pnp\PNP_PLANT_MS_CONTROL_FOR_SMV.fbt"; FBClassParcer parcer = new FBClassParcer(del, s); parcer.ParseRecursive(filename, del); List <ExecutionModel> executionModels = ExecutionModelsList.Generate(parcer, true); Settings settings = new Settings(); SmvCodeGenerator translator = new SmvCodeGenerator(parcer.Storage, executionModels, settings, del); foreach (string fbSmv in translator.TranslateAll()) { Tester.Test(fbSmv); } }
static void Main(string[] args) { string filename = args[0]; FBClassParcer parcer = new FBClassParcer(); parcer.ParseRecursive(filename); var compositeBlocks = parcer.Storage.Types.Where((fbType) => fbType.Type == FBClass.Composite); bool solveDispatchingProblem = true; IEnumerable <IDispatcher> dispatchers = DispatchersCreator.Create(compositeBlocks, parcer.Storage.Instances, solveDispatchingProblem); SmvCodeGenerator translator = new SmvCodeGenerator(parcer.Storage, dispatchers); string outFileName = Path.Combine(Path.GetDirectoryName(filename), Path.GetFileNameWithoutExtension(filename) + ".smv"); StreamWriter wr = new StreamWriter(outFileName); foreach (string fbSmv in translator.TranslateAll()) { wr.Write(fbSmv + "\n"); } wr.Close(); }
private static void Main(string[] args) { var filename = args[0]; var settings = new Settings(); var parser = new FBClassParcer(Console.WriteLine, settings); parser.ParseRecursive(filename, Console.WriteLine); var executionModels = ExecutionModelsList.Generate(parser, true); var translator = new SmvCodeGenerator(parser.Storage, executionModels, settings, Console.WriteLine); var outFileName = Path.Combine(Path.GetDirectoryName(filename), Path.GetFileNameWithoutExtension(filename) + ".smv"); var wr = new StreamWriter(outFileName); foreach (var fbSmv in translator.TranslateAll()) { wr.Write(fbSmv + "\n"); } wr.Close(); }
public static List <ExecutionModel> Generate(FBClassParcer parcer, bool solveDispatchingProblem) { List <ExecutionModel> outList = new List <ExecutionModel>(); foreach (FBType fbType in parcer.Storage.Types) { ExecutionModel em = new ExecutionModel(fbType.Name); int basicPriority = 0; foreach (Event ev in parcer.Storage.Events.Where(ev => ev.FBType == fbType.Name && ev.Direction == Direction.Input)) { em.AddInputPriorityEvent(new PriorityEvent(basicPriority++, ev)); } if (fbType.Type == FBClass.Composite) { //create dispatcher IEnumerable <FBInstance> curFbInstances = parcer.Storage.Instances.Where((inst) => inst.FBType == fbType.Name); em.Dispatcher = new CyclicDispatcher(fbType.Name, curFbInstances, solveDispatchingProblem); } outList.Add(em); } return(outList); }