Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am working on a project that needs parsing and text processing functionality.

I searched the web about parsing and I found that my best choice for parsing is python.

What is a good, fast, and complete reference for learning text processing and parsing?

share|improve this question
If Python is your best choice for parsing because you already know Python, cool. Otherwise, Haskell is definitely worth looking at. – Matthew Flynn Mar 12 '12 at 17:23
1  
I was thinking of asking this. Thanks for saving me the time - I eagerly await the answers. – MathAttack Mar 12 '12 at 17:29

3 Answers

up vote 2 down vote accepted

Read Lex and Yacc 2nd Edition. Then look at using flex and bison, or one of the python parsing libraries. Good choices are:

share|improve this answer

The first edition of Parsing Techniques: A Practical Guide is out of print, but is available to download (PDF format) from the author without charge. I imagine it is a little dated as it was originally published back in 1990. What I read I found it informative, but must admit that I didn't read all of it (which is no reflection on the book, but rather my needs at the time).

share|improve this answer
1  
I've read the second edition and it is too extensive (it aims at a comprehensive analysis of the parsing techniques, and for that purpose it is quite good). I don't know if the first edition had also this characteristic. – AProgrammer Mar 12 '12 at 16:52

I've always enjoyed using Java for text processing and string parsing/handling. Java offers a very robust set of classes dedicated to this type of work, and others have said it is on par with Python in this arena.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.