{"id":62,"date":"2011-01-20T22:28:58","date_gmt":"2011-01-20T22:28:58","guid":{"rendered":"http:\/\/www.ericwhite.com\/home2\/bm8qcmjy\/public_html\/blog\/"},"modified":"2016-01-28T01:22:54","modified_gmt":"2016-01-28T01:22:54","slug":"recursive-descent-parser","status":"publish","type":"page","link":"https:\/\/www.ericwhite.com\/blog\/map\/recursive-descent-parser\/","title":{"rendered":"Recursive Descent Parser"},"content":{"rendered":"<p class=\"eric-para\" style=\"font-family: Calibri; font-size: medium;\">This post is one in a series on using LINQ to write a recursive-descent parser for SpreadsheetML formulas.<\/p>\n<ol>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/06\/29\/writing-a-recursive-descent-parser-using-c-and-linq.aspx\" class=\"eric-link broken_link\">Writing a Recursive Descent Parser using C# and LINQ<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/07\/06\/recursive-descent-parser-using-linq-the-augmented-backus-naur-form-grammar.aspx\" class=\"eric-link broken_link\">Recursive Descent Parser using LINQ: The Augmented Backus-Naur Form Grammar<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/07\/13\/recursive-descent-parser-a-simple-grammar.aspx\" class=\"eric-link broken_link\">Recursive Descent Parser: A Simple Grammar<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/07\/15\/creating-a-collection-from-singletons-and-collections-using-linq.aspx\" class=\"eric-link broken_link\">Creating a Collection from Singletons and Collections using LINQ<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/07\/30\/building-a-simple-recursive-descent-parser.aspx\" class=\"eric-link broken_link\">Building a Simple Recursive Descent Parser<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/08\/03\/building-a-simple-recursive-descent-parser-continued.aspx\" class=\"eric-link broken_link\">Building a Simple Recursive Descent Parser (continued)<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"http:\/\/blogs.msdn.com\/b\/ericwhite\/archive\/2010\/09\/24\/building-a-simple-recursive-descent-parser-completed-simple-parser.aspx\" class=\"eric-link broken_link\">Building a Simple Recursive Descent Parser (Completed Simple Parser)<\/a> <\/li>\n<li class=\"eric-para\" style=\"font-family: Calibri; font-size: medium; color: black;\"><a href=\"https:\/\/www.ericwhite.com\/blog\/recursive-descent-parser-code\/\" class=\"eric-link\">Code for Recursive Descent Parser<\/a> <\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This post is one in a series on using LINQ to write a recursive-descent parser for SpreadsheetML formulas. Writing a Recursive Descent Parser using C# and LINQ Recursive Descent Parser using LINQ: The Augmented Backus-Naur Form Grammar Recursive Descent Parser: A Simple Grammar Creating a Collection from Singletons and Collections using LINQ Building a Simple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":41,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_s2mail":"","footnotes":""},"class_list":["post-62","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/comments?post=62"}],"version-history":[{"count":6,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/62\/revisions"}],"predecessor-version":[{"id":1802,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/62\/revisions\/1802"}],"up":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/pages\/41"}],"wp:attachment":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/media?parent=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}