public void Go(bool withExamples, RuleLanguage lang, string langCode) { StringBuilder sb = new StringBuilder(); sb.AppendLine("var ChandamAPI={};"); sb.AppendLine("ChandamAPI.Version = '" + version + "';"); sb.AppendLine("var Config = {};"); sb.AppendLine("Config.Mode = 0;"); sb.AppendLine("Config.Language = " + (int)lang + ";"); sb.AppendLine("Config.ExternalRules=" + new ExportRules().ToJSON(false, lang, langCode)); if (withExamples) { sb.AppendLine("Config.ExternalExamples=" + new ExportRules().OnlySamplesJSON(lang, langCode)); sb.AppendLine(new ExportRules().AddStringArray2("Config.Samples", new MyFavPoems().Poems)); } string s = sb.ToString().Replace(",},", "},"); string fileName = (withExamples ? "config." + langCode + ".examples.js" : "config." + langCode + ".js"); File.WriteAllText(root + fileName, s, Encoding.UTF8); }
public void RuleLanguageDirectiveParse_Succeeds(string ruleCode, RuleLanguage expectedLanguage = RuleLanguage.Csharp) { (IPreprocessedRule ppRule, bool parsingSuccess) = RuleFileParser.Read(ruleCode.Mince()); Assert.True(parsingSuccess); Assert.Equal(expectedLanguage, ppRule.Language); }
public void RuleLanguageDirectiveParse_Fails(string ruleCode, RuleLanguage expectedLanguage = RuleLanguage.Unknown) { (IPreprocessedRule ppRule, bool parsingSuccess) = RuleFileParser.Read(ruleCode.Mince()); Assert.False(parsingSuccess); Assert.Equal(expectedLanguage, ppRule.Language); }
private string GetLanaguage(RuleLanguage ruleLanguage) { switch (ruleLanguage) { case RuleLanguage.Sanskrit: return("సంస్కృత ఛందస్సులు"); default: case RuleLanguage.Telugu: return("తెలుగు ఛందస్సులు"); } }
private HyperLink GetLangLink(RuleLanguage ruleLanguage) { switch (ruleLanguage) { case RuleLanguage.Sanskrit: return(GetSans()); default: case RuleLanguage.Telugu: return(GetTel()); } }
private string GetName(string nm, RuleLanguage lang) { switch (lang) { case RuleLanguage.Kannada: return(Converter.Convert(nm, Language.Telugu, Language.Kannada)); default: return(nm); } }
private void Go(RuleLanguage lang) { string langCode = Helper3.GetLangCode(lang); APIBuilder Builder = new APIBuilder(root, version); Builder.Go(true, lang, langCode); Builder.Go(false, lang, langCode); PackAll(langCode); ListIdentifiers(lang, langCode); }
public static string GetLangCode(RuleLanguage lang) { switch (lang) { case RuleLanguage.Kannada: return("kn"); default: case RuleLanguage.Telugu: return("te"); } }
private void ListIdentifiers(RuleLanguage lang, string langCode) { StreamWriter sw = new StreamWriter(root + @"\id." + langCode + ".txt", false, Encoding.UTF8); Rule[] Rules = Manager.Rules(); foreach (Rule R in Rules) { sw.Write("<tr>"); sw.Write("<td>" + R.Identifier + "</td>"); sw.Write("<td>" + R.Name + "</td>"); sw.Write("<td><a href='/?chandassu=" + R.Identifier + "' target='_blank'>లక్షణాలు</a></td>"); sw.WriteLine("</tr>"); } sw.Close(); }
private string[] GetStrings(string[] arr, RuleLanguage lang) { switch (lang) { default: case RuleLanguage.Telugu: return(arr); case RuleLanguage.Kannada: List <string> L = new List <string>(); foreach (string s in arr) { L.Add(Converter.Convert(s, Language.Telugu, Language.Kannada)); } return(L.ToArray()); } }
public string OnlySamplesJSON(RuleLanguage lang, string langCode) { Rule[] Rules = Manager.Rules(); StringBuilder sb = new StringBuilder(); sb.AppendLine("{"); foreach (Rule R in Rules) { if (R.Examples == null || R.Examples.Length == 0) { continue; } sb.Append(AddStringArray(R.Identifier, GetStrings(R.Examples, lang))); sb.AppendLine(""); } sb.AppendLine("}"); return(sb.ToString()); }
/// <summary> /// ctor /// </summary> /// <param name="str">Input String</param> /// <param name="Lang">Rule Language to be Applied</param> public GanaVibhajana(string str, RuleLanguage Lang) { try { this.Language = Lang; this.CharSet = GetLangCharSet(); Init(); _RawString = str; if (str != null) { this.Analyse(); } } catch (Exception ex) { throw new Exception("Analysis failed as .." + ex.Message); } }
private static RuleLanguage _GetTarget() { RuleLanguage lang = RuleLanguage.Telugu; try { lang = (RuleLanguage)Window2.Language; } catch { } switch (lang) { case RuleLanguage.Telugu: default: return(RuleLanguage.Telugu); case RuleLanguage.Kannada: return(RuleLanguage.Kannada); } }
private string AddEnum(string name, RuleLanguage val) { return(name + ":" + (int)val + ","); }
public string ToXML(bool withExamples, RuleLanguage lang, string langCode) { bool compact = true; //Why not Serialisation?? Rule[] Rules = Manager.Rules(); XmlDocument doc = new XmlDocument(); XmlElement RulesNode = doc.CreateElement("Rules"); RulesNode.SetAttribute("lang", Helper3.GetLangCode(lang)); foreach (Rule R in Rules) { XmlElement RuleNode = doc.CreateElement("Rule"); RuleNode.SetAttribute("identifier", R.Identifier); { XmlNode nameNode = doc.CreateElement("name"); nameNode.InnerText = GetName(R.Name, lang); RuleNode.AppendChild(nameNode); } { XmlNode linesNode = doc.CreateElement("lines"); linesNode.InnerText = R.Lines.ToString(); RuleNode.AppendChild(linesNode); } { XmlElement thresholdNode = doc.CreateElement("threshold"); thresholdNode.InnerText = R.Threshold.ToString(); if (R.DeferThresold) { thresholdNode.SetAttribute("deferThresold", R.DeferThresold.ToString()); } RuleNode.AppendChild(thresholdNode); } { XmlNode padyamTypeNode = doc.CreateElement("padyamType"); padyamTypeNode.InnerText = EnumText(R.PadyamType); RuleNode.AppendChild(padyamTypeNode); } { XmlNode node = doc.CreateElement("padyamSubType"); node.InnerText = EnumText(R.PadyamSubType); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("ruleType"); node.InnerText = EnumText(R.RuleType); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("rules"); node.InnerXml = GetRulesXml(R.RuleType, R.Rules); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("prasa"); node.InnerText = R.Prasa ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("prasaYati"); node.InnerText = R.PrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("onlyPrasaYati"); node.InnerText = R.OnlyPrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("onlyPrasaYati"); node.InnerText = R.OnlyPrasaYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("anthyaPrasa"); node.InnerText = R.AnthyaPrasa ? "1" : "0"; RuleNode.AppendChild(node); } if (lang == RuleLanguage.Kannada) { //NOTHING at this point of time } else { { XmlNode node = doc.CreateElement("yatiMode"); node.InnerText = EnumText(R.YatiMode); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("yatiRecycle"); node.InnerText = R.YatiRecycle ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("reverseYati"); node.InnerText = R.ReverseYati ? "1" : "0"; RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("yati"); //node.InnerText = R.Yati; RuleNode.AppendChild(node); } } { XmlNode node = doc.CreateElement("frequency"); node.InnerText = EnumText(R.Frequency); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("language"); node.InnerText = EnumText(lang); RuleNode.AppendChild(node); } { XmlNode node = doc.CreateElement("infiniteLength"); node.InnerText = R.InfiniteLength ? "1" : "0"; RuleNode.AppendChild(node); } if (withExamples) { XmlNode node = doc.CreateElement("rules"); node.InnerXml = GetExamplesXml(R.Examples, lang); RuleNode.AppendChild(node); } if (lang != RuleLanguage.Kannada) { { XmlNode node = doc.CreateElement("references"); node.InnerXml = GetArrayXml(R.References); RuleNode.AppendChild(node); } if (compact) { XmlNode node = doc.CreateElement("ruleText"); XmlCDataSection ruleTextSection = doc.CreateCDataSection(R.RuleText); node.AppendChild(ruleTextSection); RuleNode.AppendChild(node); } } doc.AppendChild(RuleNode); } return(doc.ToString()); }
public MachinePoem() { lang = RuleLanguage.Telugu; }
private string GetExamplesXml(string[] p, RuleLanguage lang) { throw new NotImplementedException(); }
public string ToJSON(bool withExamples, RuleLanguage lang, string langCode) { bool compact = true; Rule[] Rules = Manager.Rules(); StringBuilder sb = new StringBuilder(); sb.AppendLine("["); foreach (Rule R in Rules) { sb.Append("{"); sb.Append(AddString("identifier", R.Identifier)); sb.Append(AddString("name", GetName(R.Name, lang))); sb.Append(AddInt("lines", R.Lines)); sb.Append(AddInt("threshold", R.Threshold)); if (R.DeferThresold) { sb.Append(AddBool("deferThresold", R.DeferThresold)); } sb.Append(AddEnum("padyamType", R.PadyamType)); sb.Append(AddEnum("padyamSubType", R.PadyamSubType)); sb.Append(AddEnum("ruleType", R.RuleType)); sb.Append(AddRules("rules", R.RuleType, R.Rules)); sb.Append(AddBool("prasa", R.Prasa)); sb.Append(AddBool("prasaYati", R.PrasaYati)); sb.Append(AddBool("onlyPrasaYati", R.OnlyPrasaYati)); sb.Append(AddBool("anthyaPrasa", R.AnthyaPrasa)); if (lang == RuleLanguage.Kannada) { //TODO... } else { sb.Append(AddEnum("yatiMode", R.YatiMode)); sb.Append(AddBool("yatiRecycle", R.YatiRecycle)); sb.Append(AddBool("reverseYati", R.ReverseYati)); sb.Append(AddYati("yati", R.Yati)); } sb.Append(AddEnum("frequency", R.Frequency)); sb.Append(AddBool("infiniteLength", R.InfiniteLength)); sb.Append(AddEnum("language", lang)); // if (withExamples) { sb.Append(AddStringArray("examples", GetStrings(R.Examples, lang))); } if (lang != RuleLanguage.Kannada) { sb.Append(AddStringArray("references", R.References)); if (compact) { sb.Append(AddString("ruleText", R.RuleText)); } } sb.AppendLine("},"); } sb.AppendLine("]"); return(sb.ToString()); }
public YatiPrasaTester() { lang = RuleLanguage.Telugu; }