1.

Record Nr.

UNINA9910437583203321

Autore

Crespi Reghizzi Stefano

Titolo

Formal Languages and Compilation [[electronic resource] /] / by Stefano Crespi Reghizzi, Luca Breveglieri, Angelo Morzenti

Pubbl/distr/stampa

London : , : Springer London : , : Imprint : Springer, , 2013

ISBN

1-4471-5514-9

Edizione

[2nd ed. 2013.]

Descrizione fisica

1 online resource (408 p.)

Collana

Texts in Computer Science, , 1868-0941

Disciplina

511.3

Soggetti

Mathematical logic

Mathematical Logic and Formal Languages

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Description based upon print version of record.

Nota di contenuto

Introduction -- Syntax -- Finite Automata as Regular Language Recognizers -- Pushdown Automata and Parsing -- Translation Semantics and Static Analysis.

Sommario/riassunto

This fully revised and expanded new edition elucidates the elegance and simplicity of the fundamental theory underlying Formal Languages and Compilation. Retaining the reader-friendly, minimalist style of the first edition, this uniquely versatile textbook describes the essential principles and methods used for defining the syntax of artificial languages, and for designing efficient parsing algorithms and syntax-directed translators with semantic attributes. A comprehensive selection of topics is presented within a rigorous, unified framework, illustrated by numerous practical examples. Features and topics: Presents a novel conceptual approach to parsing algorithms that applies to extended BNF grammars, together with a parallel parsing algorithm (NEW) Supplies supplementary teaching tools, including course slides and exercises with solutions, at an associated website Unifies the concepts and notations used in different approaches, enabling an extended coverage of methods with a reduced number of definitions Systematically discusses ambiguous forms, allowing readers to avoid pitfalls when designing grammars Describes all algorithms in pseudocode, so that detailed knowledge of a specific programming language is not necessary Makes extensive usage of theoretical models of automata, transducers and formal grammars Includes concise



coverage of algorithms for processing regular expressions and finite automata Introduces static program analysis based on flow equations This clearly-written, classroom-tested textbook is an ideal guide to the fundamentals of this field for advanced undergraduate and graduate students in computer science and computer engineering. Some background in programming is required, and readers should also be familiar with basic set theory, algebra and logic.