コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: vi34/fb2smv
        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);
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: vi34/fb2smv
        private void loadFbSystem(string filename)
        {
            try
            {
                _parcer.ParseRecursive(filename, ShowMessage);
            }
            catch (Exception exception)
            {
                Program.ErrorMessage(exception.Message);
                return;
            }
            //fillTreeView();

            var  compositeBlocks         = _parcer.Storage.Types.Where((fbType) => fbType.Type == FBClass.Composite);
            bool solveDispatchingProblem = true;

            //_dispatchers = DispatchersCreator.Create(compositeBlocks, _parcer.Storage.Instances, solveDispatchingProblem);

            _executionModels = ExecutionModelsList.Generate(_parcer, solveDispatchingProblem);
        }
コード例 #3
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();
        }