public static void Main(string [] args) { var tp = new TrivialParser(); tp.Run(args); }
public static void Main (string [] args) { var tp = new TrivialParser (); tp.Run (args); }
public void Generate(string extraAttribute) { var copy = decls; var properties = (from d in copy let sel = d.selector where sel.StartsWith("set") && sel.EndsWith(":") && Count(sel, ':') == 1 let getter1 = Char.ToLower(sel [3]) + sel.Substring(4).Trim(':') let getter2 = "is" + sel.Substring(3).Trim(':') let getter = HasGetter(getter1, getter2) where getter != null let r = Remove(sel) select getter).ToList(); foreach (var d in decls) { if (ignore.Contains(d.selector) || properties.Contains(d.selector)) { continue; } if (extraAttribute != null) { gencs.WriteLine("\t\t[{0}]", extraAttribute); } if (d.is_abstract) { gencs.WriteLine("\t\t[Abstract]"); } if (d.is_static) { gencs.WriteLine("\t\t[Static]"); } if (d.appearance) { gencs.WriteLine("\t\t[Appearance]"); } gencs.WriteLine("\t\t[Export (\"{0}\")]", d.selector); gencs.WriteLine("\t\t{0} {1} ({2});", d.retval, TrivialParser.AsMethod(TrivialParser.CleanSelector(d.selector)), d.parameters); gencs.WriteLine(); } if (properties.Count > 0) { gencs.WriteLine("\t\t//Detected properties"); } foreach (var d in properties) { var decl = (from x in decls where x.selector == d select x).FirstOrDefault(); var sel = decl.selector; if (sel.StartsWith("is")) { sel = Char.ToLower(sel [2]) + sel.Substring(3); } if (decl.is_abstract) { gencs.WriteLine("\t\t[Abstract]"); } if (decl.is_static) { gencs.WriteLine("\t\t[Static]"); } gencs.WriteLine("\t\t[Export (\"{0}\")]", sel); gencs.WriteLine("\t\t{0} {1} {{ {2}get; set; }}", decl.retval, TrivialParser.AsMethod(sel), d.StartsWith("is") ? "[Bind (\"" + d + "\")]" : ""); gencs.WriteLine(); } }