static void Main(string[] args) { try { Lexer l = new Lexer(); Parser p = new Parser(l.Lex(File.ReadAllText(args[0]))); Chunk c = p.Parse(); var doc = ExtractDocumentationComments.Extract(c); File.WriteAllText(Path.ChangeExtension(args[0], ".xml"), Documentation.Write(doc)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
private static void TestExtractDocComments() { string str = @" ---<summary> --- somefin ---</summary> ---<returns>nothing</returns> function a() end ---<summary> --- ugh. ---</summary> function tbl.dosomething() end ---<summary> --- a var ---</summary> ---<returns>wut?</returns> x = 1 "; Lexer l = new Lexer(); Parser p = new Parser(l.Lex(str)); Chunk c = p.Parse(); List <DocumentationComment> docs = ExtractDocumentationComments.Extract(c); foreach (DocumentationComment d in docs) { Console.WriteLine("Documentation comment: " + d.Text + "Var: " + (d.Ident == null ? "<none>" : d.Ident)); } string s = Documentation.Write(docs); Console.WriteLine(s); Console.WriteLine(Documentation.Read(s).Count); if (docs.Count == 0) { Console.WriteLine("No doc comments. Wut?"); } }