private static void CheckPrintout(CompileOptions options, ProcessSystem system)
 {
     //Check whether we want to print out a formatted version of the source
     if (options["p"] != "")
     {
         string        format    = options["p"];
         BaseFormatter formatter = null;
         if (format.ToLower() == "html")
         {
             formatter = new BaseFormatter();
         }
         else if (format.ToLower() == "latex" || format.ToLower() == "tex")
         {
             format    = "tex";
             formatter = new LaTeXFormatter();
         }
         else if (format.ToLower() == "txt" || format.ToLower() == "ccs")
         {
             format    = "formatted_ccs"; //So we don't overwrite the original file...
             formatter = new BaseFormatter();
         }
         else
         {
             DieIf(true, "Format for /print options must be one of ccs,html,latex");
         }
         formatter.Start(system);
         string result   = formatter.GetFormatted();
         string filename = Path.ChangeExtension(options.OutputFile, format);
         File.WriteAllText(filename, result);
         Console.WriteLine("Formatted source written to {0}", filename);
     }
 }
Пример #2
0
 public ProcessStateVisualization(ProcessSystem ast, BaseFormatter formatter)
 {
     _ast       = ast;
     _formatter = formatter;
     foreach (ProcessDefinition pd in _ast.ChildNodes)
     {
         _procConstants.Add(pd.Name, pd.Process);
     }
 }
Пример #3
0
        public static void Run(XmlDocument dom, BaseFormatter fmt)
        {
            XmlNodeList event_nodes = dom.SelectNodes("//event");


            foreach (XmlNode event_node in event_nodes)
            {
                fmt.StartEvent(event_node);

                // Find all the objects that are required by the event
                XmlNodeList event_objects = event_node.SelectNodes(".//isobject/..");

                // Put the nodes into a list so that they can be reversed
                // Printing the list in reverse makes it easier to read (IMO)
                System.Collections.ArrayList L = commoncs.libxml.NodeListToArrayList(event_objects);
                L.Reverse();

                foreach (XmlNode event_object in L)
                {
                    fmt.CreateObject(event_object);

                    XmlNodeList field_nodes = event_object.SelectNodes("putfield");

                    foreach (XmlNode field_node in field_nodes)
                    {
                        fmt.StartField(event_object, field_node);

                        XmlNodeList param_nodes = field_node.SelectNodes("params/*");

                        int param_count = 0;
                        foreach (XmlNode param_node in param_nodes)
                        {
                            fmt.FieldParam(event_object, field_node, param_node, param_count);
                            param_count++;
                        }
                        fmt.EndField(event_object, field_node);
                    }
                }

                if (L.Count < 1)
                {
                    fmt.CreateNullObject("Desc1");
                }


                fmt.EndEvent(event_node);
            }
        }
Пример #4
0
 public DynamicFileStore(string baseDirectory, int cacheThreshold, int splitThreshold = 2048)
 {
     _cacheThreshold = cacheThreshold;
     _splitThreshold = splitThreshold;
     _cache          = new Dictionary <string, List <string> >(_cacheThreshold);
     _baseDirectory  = new DirectoryInfo(baseDirectory);
     if (!_baseDirectory.Exists)
     {
         Log.LogError("Could not find dynamic file store base directory at {0}", baseDirectory);
         throw new FileNotFoundException($"Could not find directory at {baseDirectory}");
     }
     _directoryMap = BuildDirectoryMap(_baseDirectory);
     _lineFormat   = new NQuads11Formatter();
     _lineReader   = new VDS.RDF.Parsing.NQuadsParser(NQuadsSyntax.Rdf11);
     _hasher       = MD5.Create();
 }
Пример #5
0
        // Note: The preformatter for the logger is never run on exceptions
        private static void LogException(Logger logger, Exception e)
        {
            string fmsg = null;

            lock (s_logBuilder)
            {
                s_logBuilder.Clear();
                BaseFormatter.FormatException(s_logBuilder, logger, e);
                fmsg = s_logBuilder.ToString();
            }

            lock (s_policyLock)
            {
                foreach (var pol in s_policies.Values)
                {
                    if ((pol.LevelMask & LoggingLevel.Exception) > 0)
                    {
                        pol.Write(logger, LoggingLevel.Exception, fmsg);
                    }
                }
            }
        }
Пример #6
0
        // Performs formatting, then posts the message to the registered logging policies
        // If the logger has a preformatter, it will have already been called
        private static void LogMessage(Logger logger, LoggingLevel ll, string msg)
        {
            string fmsg = null;

            lock (s_logBuilder)
            {
                s_logBuilder.Clear();
                BaseFormatter.FormatMessage(s_logBuilder, logger, ll, msg);
                fmsg = s_logBuilder.ToString();
            }

            lock (s_policyLock)
            {
                foreach (var pol in s_policies.Values)
                {
                    if ((pol.LevelMask & ll) > 0)
                    {
                        pol.Write(logger, ll, fmsg);
                    }
                }
            }
        }