This textbook presents a focused guide to the conceptual foundations of compilation, by explaining the fundamental principles and algorithms used for defining the syntax of languages and for implementing simple translators. This significantly updated and expanded third edition has been enhanced with an additional coverage of regular expressions, visibly pushdown languages, bottom-up and top-down deterministic parsing algorithms, and new grammar models. The book describes the principles and methods used in designing syntax-directed applications, such as parsing and regular expression matching. It covers translations, semantic functions (attribute grammars), and static program analysis by data flow equations. It introduces an efficient method for string matching and parsing suitable for ambiguous regular expressions. It presents a focus on extended BNF grammars with their general parser and with LR(1) and LL(1) parsers. It introduces a parallel parsing algorithm that exploits multiple processing threads to speed up syntax analysis of large files. It discusses recent formal models of input-driven automata and languages. It includes an extensive use of theoretical models of automata, transducers and formal grammars, and it describes all the algorithms in pseudocode. It contains numerous illustrative examples, and it supplies a large set of exercises with solutions at an associated website. Advanced undergraduate and graduate students of computer science will find this textbook to be a guide to the essential concepts of syntax-directed compilation. The fundamental paradigms of language structures are elegantly explained in terms of the underlying theory, without requiring the use of software tools or knowledge of implementation, and through algorithms simple enough to be practiced by paper and pencil.

Formal Languages and Compilation

Crespi Reghizzi, Stefano;Breveglieri, Luca;Morzenti, Angelo
2019-01-01

Abstract

This textbook presents a focused guide to the conceptual foundations of compilation, by explaining the fundamental principles and algorithms used for defining the syntax of languages and for implementing simple translators. This significantly updated and expanded third edition has been enhanced with an additional coverage of regular expressions, visibly pushdown languages, bottom-up and top-down deterministic parsing algorithms, and new grammar models. The book describes the principles and methods used in designing syntax-directed applications, such as parsing and regular expression matching. It covers translations, semantic functions (attribute grammars), and static program analysis by data flow equations. It introduces an efficient method for string matching and parsing suitable for ambiguous regular expressions. It presents a focus on extended BNF grammars with their general parser and with LR(1) and LL(1) parsers. It introduces a parallel parsing algorithm that exploits multiple processing threads to speed up syntax analysis of large files. It discusses recent formal models of input-driven automata and languages. It includes an extensive use of theoretical models of automata, transducers and formal grammars, and it describes all the algorithms in pseudocode. It contains numerous illustrative examples, and it supplies a large set of exercises with solutions at an associated website. Advanced undergraduate and graduate students of computer science will find this textbook to be a guide to the essential concepts of syntax-directed compilation. The fundamental paradigms of language structures are elegantly explained in terms of the underlying theory, without requiring the use of software tools or knowledge of implementation, and through algorithms simple enough to be practiced by paper and pencil.
2019
Springer-Verlag
978-3-030-04878-5
978-3-030-04879-2
Programming, Formal language, Translation, Compiler, Automaton, Language theory
File in questo prodotto:
File Dimensione Formato  
formal_languages_and_compilation_3rd_edition.pdf

Accesso riservato

Descrizione: Libro - Book
: Publisher’s version
Dimensione 9.59 MB
Formato Adobe PDF
9.59 MB Adobe PDF   Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11311/1120728
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact