I want to learn what are the fundamental concepts (data structures + algorithms) on how to build a parser.<p>I don't want to build a compiler, but I'd like to parse some semi-structured NLP (i.e. bibliography data at the end of scientific papers).<p>I am not sure building it from scratch is optimal, but it does sound fun.<p>So far the only concrete resource that I have is Ch 6 of "The Awk Programming Language(1988)" mentioned here on HN a while back [0].<p>But since this is a personal project, id like to maybe join it with learning a functional language, such as Scala or Haskell. Also, maybe, a more modern resource would be nice, I am not sure.<p>Also, is there some known bibliography parser suited for programming with out there?<p>[0]: https://news.ycombinator.com/item?id=13451454
"Functional Programming in Scala" has a chapter dedicated to building parsers (Chapter 9).<p><a href="https://www.manning.com/books/functional-programming-in-scala" rel="nofollow">https://www.manning.com/books/functional-programming-in-scal...</a>
there are some parsing urls on this page:<p><a href="https://github.com/melling/ComputerLanguages/blob/master/compilers.org" rel="nofollow">https://github.com/melling/ComputerLanguages/blob/master/com...</a>