<p>I've found a few resources on the subject, but they all require a deep understanding of <a href="http://en.wikipedia.org/wiki/Smalltalk" rel="noreferrer">SmallTalk</a> or <a href="http://en.wikipedia.org/wiki/Haskell_%28programming_language%29" rel="noreferrer">Haskell</a>, neither of which I know.</p>

[{'answer_id': 18103, 'author': 'Anders Sandvig', 'author_id': 1709, 'author_profile': 'https://Stackoverflow.com/users/1709', 'pm_score': 2, 'selected': False, 'text': '<p>I found <a href="http://blogs.msdn.com/lukeh/archive/2007/08/19/monadic-parser-combinators-using-c-3-0.aspx" rel="nofollow noreferrer">an interesting article about implementing a parser combinator in C#</a>. It also references some more general papers on the subject.</p>\n\n<p><a href="http://en.wikipedia.org/wiki/Parser_Combinator" rel="nofollow noreferrer">The Wikipedia article on the subject</a> also has a general explaination of the concept. </p>\n'}, {'answer_id': 27699, 'author': 'Antti Kissaniemi', 'author_id': 2948, 'author_profile': 'https://Stackoverflow.com/users/2948', 'pm_score': 4, 'selected': True, 'text': '<p>Here are some parser combinator libraries in more mainstream languages:</p>\n\n<ul>\n<li><a href="http://spirit.sourceforge.net/documentation.html" rel="noreferrer">Spirit</a> (C++)</li>\n<li><a href="http://jparsec.codehaus.org/" rel="noreferrer">Jparsec</a> (Java)</li>\n</ul>\n'}, {'answer_id': 145655, 'author': 'Brian', 'author_id': 19299, 'author_profile': 'https://Stackoverflow.com/users/19299', 'pm_score': 4, 'selected': False, 'text': '<p>I wrote 8 longish blog entries on monadic parser combinators in C# and F#; see <a href="http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!123.entry" rel="noreferrer">here</a> for the first one.</p>\n\n<p>See also <a href="http://www.quanttec.com/fparsec/" rel="noreferrer">FParsec</a> (Parsec for F#)</p>\n'}, {'answer_id': 145662, 'author': 'Torsten Marek', 'author_id': 9567, 'author_profile': 'https://Stackoverflow.com/users/9567', 'pm_score': 2, 'selected': False, 'text': '<p>If you know Python, there\'s <a href="http://pyparsing.wikispaces.com/" rel="nofollow noreferrer">PyParsing</a>.</p>\n'}, {'answer_id': 283385, 'author': 'namin', 'author_id': 34596, 'author_profile': 'https://Stackoverflow.com/users/34596', 'pm_score': 2, 'selected': False, 'text': '<p>Chrise Double wrote <a href="http://www.bluishcoder.co.nz/2007/10/javascript-parser-combinators.html" rel="nofollow noreferrer">a parser combinator in Javascript</a>.</p>\n'}, {'answer_id': 283421, 'author': 'Lars Westergren', 'author_id': 15627, 'author_profile': 'https://Stackoverflow.com/users/15627', 'pm_score': 1, 'selected': False, 'text': '<p><s>Cay Horstmann has <a href="http://horstmann.com/sjsu/cs152/schedule.html" rel="nofollow noreferrer">4 combinator parser lectures in Scala</a>, with exercises.</s> There is an example of parsing external DSLs in Scala <a href="http://debasishg.blogspot.com/2008/04/external-dsls-made-easy-with-scala.html" rel="nofollow noreferrer">here</a>.</p>\n'}, {'answer_id': 311123, 'author': 'Brian', 'author_id': 19299, 'author_profile': 'https://Stackoverflow.com/users/19299', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://www.cc.gatech.edu/grads/l/lorgon/Talks/MonPar/monpar.html" rel="nofollow noreferrer">Here</a> is a link to a talk (slides and script) on monadic parser combinators in C++.</p>\n'}, {'answer_id': 1991060, 'author': 'Nicholas Blumhardt', 'author_id': 138206, 'author_profile': 'https://Stackoverflow.com/users/138206', 'pm_score': 2, 'selected': False, 'text': '<p>There are some great articles on the web describing parser combinators in C#, but no maintainable source repository, so I\'ve created one at:</p>\n\n<p><a href="http://code.google.com/p/sprache/" rel="nofollow noreferrer">http://code.google.com/p/sprache/</a></p>\n\n<p>Someone knowledgeable about parser combinators could probably do a lot to improve it (please step forward if this sounds like you :))</p>\n'}, {'answer_id': 2898305, 'author': 'PetPaulsen', 'author_id': 240125, 'author_profile': 'https://Stackoverflow.com/users/240125', 'pm_score': 2, 'selected': False, 'text': '<p>For me <a href="http://www.cs.nott.ac.uk/~gmh/monparsing.ps" rel="nofollow noreferrer">this</a> paper was extremly useful. It is almost languange neutral. Just in some small places they are reffering to <a href="http://en.wikipedia.org/wiki/Gofer_%28programming_language%29" rel="nofollow noreferrer">Gofer</a>.</p>\n'}, {'answer_id': 7419624, 'author': 'schmmd', 'author_id': 568393, 'author_profile': 'https://Stackoverflow.com/users/568393', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://www.codecommit.com/blog/scala/the-magic-behind-parser-combinators" rel="nofollow">http://www.codecommit.com/blog/scala/the-magic-behind-parser-combinators</a></p>\n'}]
['https://Stackoverflow.com/questions/17840', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1190/']