{"id":198,"date":"2009-11-02T05:51:58","date_gmt":"2009-11-02T13:51:58","guid":{"rendered":"http:\/\/boost-spirit.com\/home\/?page_id=198"},"modified":"2009-11-02T19:56:24","modified_gmt":"2009-11-03T03:56:24","slug":"links","status":"publish","type":"page","link":"http:\/\/boost-spirit.com\/home\/info\/links\/","title":{"rendered":"Links"},"content":{"rendered":"<h2>Links<\/h2>\n<p>This page contains a wealth of links related to Spirit, parsing and programming. If you know of another useful link to add to the list, I&#8217;ll leave this page open for comments.<\/p>\n<h4>C++<\/h4>\n<p><a href=\"http:\/\/www.langer.camelot.de\/Articles\/Articles.htm#CUJ\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.langer.camelot.de\/Articles\/Articles.htm#CUJ<\/p>\n<p><a href=\"http:\/\/www.adtmag.com\/joop\/index.asp\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.adtmag.com\/joop\/index.asp<\/p>\n<p><a href=\"http:\/\/siesta.cs.wustl.edu\/%7Eschmidt\/report-doc.html\">C++ Report Archive <\/a><br \/>\nhttp:\/\/siesta.cs.wustl.edu\/~schmidt\/report-doc.html<\/p>\n<p><a href=\"http:\/\/www.moderncppdesign.com\/publications\/main.html\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.moderncppdesign.com\/publications\/main.html<\/p>\n<p><a href=\"http:\/\/www.aristeia.com\/publications.html\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.aristeia.com\/publications.html<\/p>\n<p><a href=\"http:\/\/www.bleading-edge.com.\/Publications\/list.htm\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.bleading-edge.com.\/Publications\/list.htm<\/p>\n<p><a href=\"http:\/\/www.research.ibm.com\/designpatterns\/publications.htm\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.research.ibm.com\/designpatterns\/publications.htm<\/p>\n<p><a href=\"http:\/\/www.objectmentor.com\/resources\/articleIndex\">C++ Report Archive <\/a><br \/>\nhttp:\/\/www.objectmentor.com\/resources\/articleIndex<\/p>\n<p><a href=\"http:\/\/www.comeaucomputing.com\/booklist\/\">Comeau&#8217;s C++, C, OO Literature, Book Suggestions <\/a><br \/>\nContains a list of a lot of great C++ resources.<\/p>\n<p><a href=\"http:\/\/www.research.att.com\/%7Ebs\/whitespace98.pdf\">Generalizing Overloading for C++2000 <\/a><br \/>\nPDF file. Overload, Issue 25. April 1, 1998.<\/p>\n<p><a href=\"http:\/\/www.sgi.com\/tech\/stl\/\">Standard Template Library Programmer&#8217;s Guide <\/a><br \/>\nAwesome online reference to the STL.<\/p>\n<p><a href=\"http:\/\/root.cern.ch\/root\/Cint.html\">The CINT C\/C++ Interpreter <\/a><br \/>\nA C\/C++ interpreter.<\/p>\n<h4>Compilers<\/h4>\n<p><a href=\"http:\/\/www.compilers.net\/\">compilers.net <\/a><br \/>\nA large collection of compiler information.<\/p>\n<p><a href=\"http:\/\/theoryx5.uwinnipeg.ca\/gnu\/gcc\/gxxint_toc.html\">G++ Internals <\/a><br \/>\nInformation about how g++ is implemented.<\/p>\n<p><a href=\"http:\/\/groups.google.com\/groups?hl=en&amp;group=comp.compilers\">Read comp.compilers on the web. <\/a><br \/>\nGoogle interface to read comp.compilers newsgroup.<\/p>\n<h4>EBNF<\/h4>\n<p><a href=\"http:\/\/www.cl.cam.ac.uk\/%7Emgk25\/iso-14977.pdf\">ISO-EBNF <\/a><br \/>\nThe official ISO standard for EBNF notation (ISO\/IEC 14977: 1996(E)). PDF file.<\/p>\n<p><a href=\"http:\/\/www.masswerk.at\/algol60\/report.htm\">Report on the Algorithmic Language ALGOL 60 <\/a><br \/>\nAbout the &#8220;N&#8221; in BNF.<br \/>\nPeter Naur (ed.).<\/p>\n<p><a href=\"http:\/\/www.csci.csusb.edu\/dick\/maths\/intro_ebnf.html\">XBNF <\/a><br \/>\nRichard J. Botting, Ph.D<br \/>\nCalifornia State University, San Bernardino, 1998.<\/p>\n<h4>Generic programming<\/h4>\n<p><a href=\"http:\/\/www.coldewey.com\/europlop2000\/papers\/geraud+duret.zip\">Generic Programming Redesign of Patterns <\/a><br \/>\nGeneric Programming Redesign of Patterns Proceedings of the 5th European Conference on Pattern Languages of Programs. Thierry G\u00e9raud and Alexandre Duret-Lutz<br \/>\n(EuroPLoP&#8217;2000) Irsee, Germany, July 2000.<\/p>\n<p><a href=\"http:\/\/www.boost.org\/more\/generic_programming.html\">Generic Programming Techniques <\/a><br \/>\nThere is the boost page on generic programming by David Abrahams and Jeremy Siek.<\/p>\n<p><a href=\"http:\/\/www.informit.com\/content\/index.asp?session_id=%7B99638772-0602-4C42-8659-5EE3D55DF19A%7D&amp;product_id=%7B7CBDD5B1-129D-427A-9C36-9C506D3DFABA%7D&amp;t=%7B94AE5B48-1D7D-462A-A4A6-83CE19EC0705%7D&amp;p=%7B7CBDD5B1-129D-427A-9C36-9C506D3DFABA%7D\">Policy Based Smart Pointers <\/a><br \/>\nFrom the book Modern C++ design by Andrei Alexandrescu<\/p>\n<p><a href=\"http:\/\/www.informit.com\/content\/index.asp?session_id=%7B99638772-0602-4C42-8659-5EE3D55DF19A%7D&amp;product_id=%7B8A3DCB14-9FEB-498B-89B1-2CDBC13F7058%7D&amp;t=%7B94AE5B48-1D7D-462A-A4A6-83CE19EC0705%7D&amp;p=%7B8A3DCB14-9FEB-498B-89B1-2CDBC13F7058%7D\">Policy-Based Design <\/a><br \/>\nFrom the book Modern C++ design by Andrei Alexandrescu<\/p>\n<p><a href=\"http:\/\/extreme.indiana.edu\/%7Etveldhui\/papers\/techniques\/\">Techniques for Scientific C++ <\/a><br \/>\nCool C++ techniques and tricks used by Blitz++ C++ class library.<\/p>\n<h4>Languages<\/h4>\n<p><a href=\"http:\/\/www.haskell.org\/\">Haskell <\/a><br \/>\nHaskell is a general purpose, purely functional programming language.<\/p>\n<p><a href=\"http:\/\/www.w3.org\/TR\/REC-xml\">XML 1.0 Recommendation <\/a><br \/>\nThis is the official XML spec.<\/p>\n<h4>Meta-programming<\/h4>\n<p><a href=\"http:\/\/www.extreme.indiana.edu\/%7Etveldhui\/papers\/Expression-Templates\/exprtmpl.html\">Expression Templates <\/a><br \/>\nC++ Report, June 1995.<\/p>\n<h4>Parser generators<\/h4>\n<p><a href=\"http:\/\/cs.ru.ac.za\/homes\/cspt\/cocor.htm\">Coco\/R compiler generator <\/a><br \/>\nCoco\/r generates recursive descent LL(1) parsers and their associated scanners from attributed grammars written in EBNF syntax with attributes and semantic actions.<\/p>\n<p><a href=\"http:\/\/www.compilers.net\/ParserGens.htm\">compilers.net : parser generators <\/a><br \/>\nA long list of parser generator links.<\/p>\n<p><a href=\"http:\/\/www.cs.uu.nl\/groups\/ST\/Software\/UU_Parsing\/\">Fast, Error Repairing Parser Combinators <\/a><br \/>\nInline Parsing in Haskell<br \/>\nS. Doaitse Swierstra<br \/>\nthe Netherlands<br \/>\nhttp:\/www.cs.uu.nl\/people\/doaitse\/<\/p>\n<p><a href=\"http:\/\/www.antlr.org\/papers\/pcctsbk.pdf\">PCCTS Reference Manual (Version 1.00) <\/a><br \/>\nPCCTS Reference Manual (Version 1.00).<br \/>\nT. J. Parr, H. G. Dietz, and W. E. Cohen.<br \/>\nSchool of Electrical Engineering, Purdue University, West Lafayette, August 1991. (PDF)<\/p>\n<p><a href=\"ftp:\/\/ftp.cs.rhul.ac.uk\/pub\/rdp\">RDP, A Recursive Descent Compiler Compiler <\/a><br \/>\nAdrian Johnstone and Elizabeth Scott.<br \/>\nTechnical Report CSD TR 97 25, Dept. of Computer Science, Egham, Surrey, England, Dec. 20, 1997.<\/p>\n<h4>Parsing<\/h4>\n<p><a href=\"http:\/\/www.garshol.priv.no\/download\/text\/bnf.html\">BNF and EBNF What are they and how do they work <\/a><br \/>\n(E)BNF Basics<br \/>\nLars Marius Garshol<\/p>\n<p><a href=\"http:\/\/www.cs.vu.nl\/%7Edick\/PTAPG.html\">Parsing Techniques: A Practical Guide <\/a><br \/>\nDick Grune and Ceriel Jacobs.<br \/>\nEllis Horwood Ltd.: West Sussex, England, 1990. (electronic copy, 1998)<\/p>\n<p><a href=\"http:\/\/www.csr.uvic.ca\/%7Enigelh\/Publications\/rad.pdf\">Recursive Ascent-Descent Parsing <\/a><br \/>\nR. Nigel Horspool<br \/>\nJournal of Computer Languages, vol. 18, no. 1, 1993, pp 1-16.<\/p>\n<h4>Research<\/h4>\n<p><a href=\"http:\/\/citeseer.nj.nec.com\/cs\">ResearchIndex <\/a><br \/>\nAn excellent scientific literature search engine.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>Share<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-198\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-198\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-pinterest\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-pinterest-198\" class=\"share-pinterest sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=pinterest\" target=\"_blank\" title=\"Click to share on Pinterest\" ><span>Pinterest<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-198\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\" ><span>Reddit<\/span><\/a><\/li><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\" ><span>Tumblr<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Links This page contains a wealth of links related to Spirit, parsing and programming. If you know of another useful link to add to the list, I&#8217;ll leave this page open for comments. C++ C++ Report Archive http:\/\/www.langer.camelot.de\/Articles\/Articles.htm#CUJ C++ Report Archive http:\/\/www.adtmag.com\/joop\/index.asp C++ Report Archive http:\/\/siesta.cs.wustl.edu\/~schmidt\/report-doc.html C++ Report Archive http:\/\/www.moderncppdesign.com\/publications\/main.html C++ Report Archive http:\/\/www.aristeia.com\/publications.html C++ [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>Share<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-198\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-198\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-pinterest\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-pinterest-198\" class=\"share-pinterest sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=pinterest\" target=\"_blank\" title=\"Click to share on Pinterest\" ><span>Pinterest<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-198\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\" ><span>Reddit<\/span><\/a><\/li><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"http:\/\/boost-spirit.com\/home\/info\/links\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\" ><span>Tumblr<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":2,"featured_media":0,"parent":42,"menu_order":5,"comment_status":"open","ping_status":"open","template":"","meta":{"_s2mail":"","spay_email":""},"jetpack_shortlink":"https:\/\/wp.me\/PIHdZ-3c","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/pages\/198"}],"collection":[{"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":4,"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/pages\/198\/revisions"}],"predecessor-version":[{"id":200,"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/pages\/198\/revisions\/200"}],"up":[{"embeddable":true,"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/pages\/42"}],"wp:attachment":[{"href":"http:\/\/boost-spirit.com\/home\/wp-json\/wp\/v2\/media?parent=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}