SIL.FieldWorks.WordWorks.Parser.M3ToXAmpleTransformer.MakeAmpleFiles C# (CSharp) Method

MakeAmpleFiles() public method

public MakeAmpleFiles ( XDocument model ) : void
model XDocument
return void
		public void MakeAmpleFiles(XDocument model)
		{
			using (var writer = new StreamWriter(Path.Combine(Path.GetTempPath(), m_database + "adctl.txt")))
				AdctlTransform.Transform(model.CreateNavigator(), null, writer);

			using (var writer = new StreamWriter(Path.Combine(Path.GetTempPath(), m_database + "gram.txt")))
				GrammarTransform.Transform(model.CreateNavigator(), null, writer);

			// TODO: Putting this here is not necessarily efficient because it happens every time
			//       the parser is run.  It would be more efficient to run this only when the user
			//       is trying a word.  But we need the "model" to apply this transform an it is
			//       available here, so we're doing this for now.
			using (var writer = new StreamWriter(Path.Combine(Path.GetTempPath(), m_database + "XAmpleWordGrammarDebugger.xsl")))
				GrammarDebuggingTransform.Transform(model.CreateNavigator(), null, writer);

			using (var writer = new StreamWriter(Path.Combine(Path.GetTempPath(), m_database + "lex.txt")))
				LexTransform.Transform(model.CreateNavigator(), null, writer);
		}

Usage Example

Example #1
0
        /// <summary>
        /// Loads the parser.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="template">The template.</param>
        protected override void LoadParser(ref XmlDocument model, XmlDocument template)
        {
            var transformer = new M3ToXAmpleTransformer(m_projectName, m_taskUpdateHandler);
            var startTime   = DateTime.Now;

            // PrepareTemplatesForXAmpleFiles adds orderclass elements to MoInflAffixSlot elements
            transformer.PrepareTemplatesForXAmpleFiles(ref model, template);
            var ttlTicks = DateTime.Now.Ticks - startTime.Ticks;

            Trace.WriteLineIf(m_tracingSwitch.TraceInfo, "GAFAWS prep took : " + ttlTicks);

            transformer.MakeAmpleFiles(model);

            int     maxAnalCount     = 20;
            XmlNode maxAnalCountNode = model.SelectSingleNode("/M3Dump/ParserParameters/XAmple/MaxAnalysesToReturn");

            if (maxAnalCountNode != null)
            {
                maxAnalCount = Convert.ToInt16(maxAnalCountNode.FirstChild.Value);
                if (maxAnalCount < 1)
                {
                    maxAnalCount = -1;
                }
            }

            m_xample.SetParameter("MaxAnalysesToReturn", maxAnalCount.ToString());

            string tempPath = Path.GetTempPath();

            m_xample.LoadFiles(DirectoryFinder.FWCodeDirectory + @"/Language Explorer/Configuration/Grammar",
                               tempPath, m_projectName);
        }
All Usage Examples Of SIL.FieldWorks.WordWorks.Parser.M3ToXAmpleTransformer::MakeAmpleFiles