Example #1
0
File: Form1.cs Project: vi34/fb2smv
        //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 = "";
        }
Example #2
0
File: Form1.cs Project: vi34/fb2smv
 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 = "";
 }
Example #3
0
        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();
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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();
        }
Example #6
0
        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();
        }
Example #7
0
            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);
            }