Prentice Hall, 2002. - 341 Pages.
This book invites the reader to explore abstractions that are crucial to computer science. The authors bring a sense of excitement to logics, formal languages and automata-motivating topics by linking them to computing and to computational applications, sometime with whole chapters. They achieve exceptional clarity through a plethora of examples and figures, yet without-losing sight of, and indeed celebrating, the precision that is the hallmark of this subject matter.
Features of the book include:
application of logic to program verification
programming in the logic language, Prolog
discussion of "why" and "how" to prove things
relationships between English and programming languages
diagrams-first approach to automata
lex as a tool and an extension of formal language
pushdown automata as parsing strategies
Turing machines as models of computation
This book invites the reader to explore abstractions that are crucial to computer science. The authors bring a sense of excitement to logics, formal languages and automata-motivating topics by linking them to computing and to computational applications, sometime with whole chapters. They achieve exceptional clarity through a plethora of examples and figures, yet without-losing sight of, and indeed celebrating, the precision that is the hallmark of this subject matter.
Features of the book include:
application of logic to program verification
programming in the logic language, Prolog
discussion of "why" and "how" to prove things
relationships between English and programming languages
diagrams-first approach to automata
lex as a tool and an extension of formal language
pushdown automata as parsing strategies
Turing machines as models of computation