Parsing

Reading

Wikipedia
Introduction to Parsing , by Koen Van Damme
Includes examples in Tcl, Python, and C++

Tools

grammar::peg
Parser Tools
an evolutionary improvement over grammar::peg
ParseTools
Tcl/Tk 8.x extension which provides script level access to the Tcl tokenizer, as well as generic query and abstract syntax tree query and manipulation commands.
Tcl_ParseCommand

Curriculum

Exercise
Splitting strings with embedded strings includes an example HTML scanner, and also a description of how the state matrix was generated. Implement your own version his Imaginary ad-hoc Scanner Generator Tool.
parsing with coroutine, by DKF
Concise, well-designed example for the advanced student. Note the construct involving yield that simulates pushing data back onto the stream.

See Also

Regular Expressions Are Not A Good Idea for Parsing XML, HTML, or e-mail Addresses
UPL: The Language Parser(s)/Interpreter(s)
A parser's monolog
Expression parsing
parser
Parser Combinators
parser generator
Parser using recursive descent
Parsing csv strings
Playing with parsing
Scripted Parsing
Syntax parsing in Tcl
Techniques for reading and writing application configuration files