Picture of author.
20 Værker 2,606 Medlemmer 13 Anmeldelser 4 Favorited

Om forfatteren

Image credit: Alfred V. Aho

Serier

Værker af Alfred V. Aho

Compilers: Principles, Techniques, and Tools (1986) — Forfatter — 1,289 eksemplarer, 1 anmeldelse
Data Structures and Algorithms (1983) 306 eksemplarer, 1 anmeldelse
The AWK Programming Language (1988) — Forfatter — 286 eksemplarer, 4 anmeldelser
The Design and Analysis of Computer Algorithms (1974) 239 eksemplarer, 2 anmeldelser
Principles of Compiler Design (1977) 184 eksemplarer, 1 anmeldelse
Compilerbau, 2 Tle., Tl.1 (1997) 17 eksemplarer
Compilerbau, 2 Tle., Tl.2 (1995) 13 eksemplarer
Compilerbau 1 (1989) 11 eksemplarer
Compilerbau. - Teil 2 (1995) 9 eksemplarer

Satte nøgleord på

Almen Viden

Medlemmer

Anmeldelser

Indeholder "Preface", "Chapter 1 Introduction to Compilers", " 1.1 Compilers and translators", " 1.2 Why do we need translators?", " 1.3 The structure of a compiler", " 1.4 Lexical analysis", " 1.5 Syntax analysis", " 1.6 Intermediate code generation", " 1.7 Optimization", " 1.8 Code generation", " 1.9 Bookkeeping", " 1.10 Error handling", " 1.11 Compiler-writing tools", " 1.12 Getting started", "Chapter 2 Programming Languages", " 2.1 High-level programming languages", " 2.2 Definitions of programming languages", " 2.3 The lexical and syntactic structure of a language", " 2.4 Data elements", " 2.5 Data structures", " 2.6 Operators", " 2.7 Assignment", " 2.8 Statements", " 2.9 Program units", " 2.10 Data environments", " 2.11 Parameter transmission", " 2.12 Storage management", "Chapter 3 Finite Automata and Lexical Analysis", " 3.1 The role of the lexical analyzer", " 3.2 A simple approach to the design of lexical analyzers", " 3.3 Regular expressions", " 3.4 Finite automata", " 3.5 From regular expressions to finite automata", " 3.6 Minimizing the number of states of a DFA", " 3.7 A language for specifying lexical analyzers", " 3.8 Implementation of a lexical analyzer", " 3.9 The scanner generator as Swiss army knife", "Chapter 4 The Syntactic Specification of Programming Languages", " 4.1 Context-free grammars", " 4.2 Derivations and parse trees", " 4.3 Capabilities of context-free grammars", "Chapter 5 Basic Parsing Techniques", " 5.1 Parsers", " 5.2 Shift-reduce parsing", " 5.3 Operator-precedence parsing", " 5.4 Top-down parsing", " 5.5 Predictive parsers", "Chapter 6 Automatic Construction of Efficient Parsers", " 6.1 LR parsers", " 6.2 The canonical collection of LR(0) items", " 6.3 Constructing SLR parsing tables", " 6.4 Constructing canonical LR parsing tables", " 6.5 Constructing LALR parsing tables", " 6.6 Using ambiguous grammars", " 6.7 An automatic parser generator", " 6.8 Implementation of LR parsing tables", " 6.9 Constructing LALR sets of items", "Chapter 7 Syntax-Directed Translation", " 7.1 Syntax-directed translation schemes", " 7.2 Implementation of syntax-directed translators", " 7.3 Intermediate code", " 7.4 Postfix notation", " 7.5 Parse trees and syntax trees", " 7.6 Three-address code, quadruples, and triples", " 7.7 Translation of assignment statements", " 7.8 Boolean expressions", " 7.9 Statements that alter the flow of control", " 7.10 Postfix translations", " 7.11 Translation with a top-down parser", "Chapter 8 More About Translation", " 8.1 Array, references in arithmetic expressions", " 8.2 Procedure calls", " 8.3 Declarations", " 8.4 Case statements", " 8.5 Record structures", " 8.6 PL/I-style structures", "Chapter 9 Symbol Tables", " 9.1 The contents of a symbol table", " 9.2 Data structures for symbol tables", " 9.3 Representing scope information", "Chapter 10 Run-time Storage Administration", " 10.1 Implementation of a simple stack allocation scheme", " 10.2 Implementation of block-structured languages", " 10.3 Storage allocation in FORTRAN", " 10.4 Storage allocation in block-structured languages", "Chapter 11 Error Detection and Recovery", " 11.1 Errors", " 11.2 Lexical-phase errors", " 11.3 Syntactic-phase errors", " 11.4 Semantic errors", "Chapter 12 Introduction to Code Optimization", " 12.1 The principal sources of optimization", " 12.2 Loop optimization", " 12.3 The DAG representation of basic blocks", " 12.4 Value numbers and algebraic laws", " 12.5 Global data-flow analysis", "Chapter 13 More About Loop Optimization", " 13.1 Dominators", " 13.2 Reducible flow graphs", " 13.3 Depth-first search", " 13.4 Loop-invariant computations", " 13.5 Induction variable elimination", " 13.6 Some other loop optimizations", "Chapter 14 More About Data-Flow Analysis", " 14.1 Reaching definitions again", " 14.2 Available expressions", " 14.3 Copy propagation", " 14.4 Backward flow problems", " 14.5 Very busy expressions and code hoisting", " 14.6 The four kinds of data-flow analysis problems", " 14.7 Handling pointers", " 14.8 Interprocedural data-flow analysis", " 14.9 Putting it all together", "Chapter 15 Code Generation", " 15.1 Object programs", " 15.2 Problems in code generation", " 15.3 A machine model", " 15.4 A simple code generator", " 15.5 Register allocation and assignment", " 15.6 Code generation from DAG's", " 15.7 Peephole optimization", "Appendix A A Look at Some Compilers", " A.1 The C compilers", " A.2 The FORTRAN H compiler", " A.3 The BLISS/11 compiler", "Appendix B A Compiler Project", " B.1 Introduction", " B.2 A PASCAL Subset", " B.3 Program structure", " B.4 Lexical conventions", " B.5 Suggested exercises", " B.6 Some extensions", "Bibliography", "Index".
Standardlærebogen i compilerdesign, dvs hvordan man skriver en oversætter til et højniveausprog.

I 1981 skrev Michael Schwartzbach en oversætter fra Aka til Pascal og jeg skrev runtimebiblioteket. I 1982 skrev Michael en oversætter til mellemkode og jeg skrev fortolkeren af A-kode. Michael var på vej til USA, så han skrev compileren først. Så skrev jeg fortolkeren og en seddel med underligheder i oversætteren, så da han kom tilbage fra USA gik der et par dage med at rette og så virkede systemet ellers fint i flere år. En af superbrugerne var instruktoren Per Frederik Vilhelm Hasle Harlung, som blandt andet fandt en memory leak. Gad vide om ikke vi kiggede lidt i den her bog undervejs?
… (mere)
 
Markeret
bnielsen | Mar 19, 2015 |
Indeholder "Contents", "Preface", "Chapter 1: An Awk Tutorial", "1.1 Getting Started", " The Structure of an AWK Program", " Running an AWK Program", " Errors", "1.2 Simple Output", " Printing Every Line", " Printing Certain Fields", " NF, the Number of Fields", " Computing and Printing", " Printing Line Numbers", " Putting Text in the Output", "1.3 Fancier Output", " Lining Up Fields", " Sorting the Output", "1.4 Selection", " Selection by Comparison", " Selection by Computation", " Selection by Text Content", " Combinations of Patterns", " Data Validation", " BEGIN and END", "1.5 Computing with AWK", " Counting", " Computing Sums and Averages", " Handling Text", " String Concatenation", " Printing the Last Input Line", " Built-in Functions", " Counting Lines, Words, and Characters", "1.6 Control-Flow Statements", " lf-Else Statement", " While Statement", " For Statement", "1.7 Arrays", "1.8 A Handful of Useful "One-liners"", "1.9 What Next?", "Chapter 2: The Awk Language", " The Input File countries", " Program Format", "2.1 Patterns", " BEGIN and END", " Expressions as Patterns", " String-Matching Patterns", " Regular Enpressions", " Compound Patterns", " Range patterns", " Summary of Patterns", "2.2 Actions", " Expressions", " Control-Flow Statements", " Empty Statement", " Arrays", "2.3 User-Defined Functions", "2.4 Output", " The print Statement", " Output Separators", " The printf Statement", " Output into Files", " Output into Pipes", " Closing Files and Pipes", "2.5 Input", " Input Separators", " Multiline Records", " The getline Function", " Command-Line Variable Assignments", " Command-Line Arguments", "2.6 Interaction with Other Programs", " The system Function", " Making a Shell Command from an AWK Program", "2.7 Summary", "Chapter 3: Data Processing", "3.1 Data Transformation and Reduction", " Summing Columns", " Computing Percentages and quantiles", " Numbers with Commas", " Fixed-Field Input", " Program Cross-Reference Checking", " Formatted Output", "3.2 Data Validation", " Balanced Delimiters", " Password-File Checking", " Generating Data-Validation Programs", " Which Version of AWK?", "3.3 Bundle and Unbundle", "3.4 Multiline Records", " Records Separated by Blank Lines", " Processing Multiline Records", " Records with Headers and Trailers", " Name-Value Data", "3.5 Summary", "Chapter 4: Reports and Databases", "4.1 Generating Reports", " A Simple Report", " A More Complex Report", "4.2 Packaged Queries and Reports", " Form Letters", "4.3 A Relational Database System", " Natural Joins", " The relfile", " q, an awk-like query language", " qawk, a q-to-awk translator", "4.4 Summary", "Chapter 5: Processing words", "5.1 Random Text Generation", " Random Choices", " Cliche Generation", " Random Sentences", "5.2 Interactive Text-Manipulation", " Skills Testing: Arithmetic", " Skills Testing: Quiz", "5.3 Text Processing", " Word Count", " Text Formatting", " Maintaining Cross-References in Manuscripts", " Making a KWIC Index", " Making Indexes", "5.4 Summary", "Chapter 6: Little Languages", "6.1 An Assembler and Interpreter", "6.2 A Language for Drawing Graphs", "6.3 A Sort Generator", "6.4 A Reverse-Polish Calculator", "6.5 An Infix Calculator", "6.6 Recursive-Descent Parsing", "6.7 Summary", "Chapter 7: Experiments with Algorithms", "7.1 Sorting", " Insertion Sort", " Quicksort", " Heapsort", "7.2 Profiling", "7.3 Topological Sorting", " Breadth-First Topological Sort", " Depth-First Search", " Depth-First Topological Sort", "7.4 Make: A File Updating Program", "7.5 Summary", "Chapter 8: Epilog", "8.1 AWK as a Language", "8.2 Performance", "8.3 Conclusion", "Appendix A: AWK Summary", "Appendix B: Answers to selected Exercises", "Index".

Et spøjst tekstbehandlingssprog forfattet af tre kloge hoveder på AT&T. Sproget er ikke helt rart og nogle overraskelser gemmer sig i krogene af implementationerne, så kig evt efter "A Supplemental Document For AWK -or- Things Al, Pete, And Brian Didn't Mention Much".
Ellers er bogen faktisk udmærket med nyttige! eksempler strøet rundt omkring. AWK har inspireret Perl en hel del. Jeg foretrækker Perl, men en masse af mine programmer er inspireret af eksempler i den her bog.
… (mere)
 
Markeret
bnielsen | 3 andre anmeldelser | Jun 11, 2012 |
Indeholder "Preface", "0. Mathematical preliminaries", " 0.1 Concepts from Set Theory", " 0.1.1 Sets", " 0.1.2 Operations on Sets", " 0.1.3 Relations", " 0.1.4 Closures of Relations", " 0.1.5 Ordering Relations", " 0.1.6 Mappings", " Exercises ", " 0.2 Sets of Strings", " 0.2.1 Strings", " 0.2.2 Languages", " 0.2.3 Operations on Languages", " Exercises", " 0.3 Concepts from Logic", " 0.3.1 Proofs", " 0.3.2 Proofs by Induction", " 0.3.3 Logical Connectives", " Exercises", " Bibliograpic Notes", " 0.4 Procedures and Algorithms", " 0.4.1 Procedures", " 0.4.2 Algorithms", " 0.4.3 Recursive Functions", " 0.4.4 Specification of Procedures", " 0.4.5 Problems", " 0.4.6 Post's Correspondence Problem", " Exercises", " Bibliograpic Notes", " 0.5 Concepts from Graph Theory", " 0.5.1 Directed Graphs", " 0.5.2 Directed Acyclic Graphs", " 0.5.3 Trees", " 0.5.4 Ordered Graphs", " 0.5.5 Inductive Proofs Involving Dags", " 0.5.6 Linear Orders from Partial Orders", " 0.5.7 Representations for Trees", " 0.5.8 Paths Through a Graph", " Exercises", " Bibliograpic Notes", "1. An Introduction to Compiling", " 1.1 Programming Languages", " 1.1.1 Specification of Programming Languages", " 1.1.2 Syntax and Semantics", " Bibliographic Notes", " 1.2 An Overview of Compiling", " 1.2.1 The Portions of a Compiler", " 1.2.2 Lexical Analysis", " 1.2.3 Bookkeeping", " 1.2.4 Parsing", " 1.2.5 Code Generation", " 1.2.6 Code Optimization", " 1.2.7 Error Analysis and Recovery", " 1.2.8 Summary", " Exercises", " Bibliograpic Notes", " 1.3 Other Applications of Parsing and Translating Algorithms", " 1.3.1 Natural Languages", " 1.3.2 Structural Description of Patterns", " Bibliograpic Notes", "2. Elements of Language Theory", " 2.1 Representations for Languages", " 2.1.1 Motivation", " 2.1.2 Grammars", " 2.1.3 Restricted Grammars", " 2.1.4 Recognizers", " Exercises", " Bibliographic Notes", " 2.2 Regular Sets, Their Generators, and Their Recognizers", " 2.2.1 Regular Sets and Regular Expressions", " 2.2.2 Regular Sets and Right-Linear Grammars", " 2.2.3 Finite Automata", " 2.2.4 Finite Automata and Regular Sets", " 2.2.5 Summary", " Exercises", " Bibliographic Notes", " 2.3 Properties of Regular Sets", " 2.3.1 Minimization of Finite Automata", " 2.3.2 The Pumping Lemma for Regular Sets", " 2.3.3 Closure Properties of Regular Sets", " 2.3.4 Decidable Questions About Regular Sets", " Exercises", " Bibliographic Notes", " 2.4 Context free Languages", " 2.4.1 Derivation Trees", " 2.4.2 Transformations on Context-Free Grammars", " 2.4.3 Chomsky Normal Form", " 2.4.4 Greibach Normal Form", " 2.4.5 An Alternative Method of Achieving Greibach Normal Form", " Exercises", " Bibliographic Notes", " 2.5 Pushdown Automata", " 2.5.1 The Basic Definition", " 2.5.2 Variants of Pushdown Automata", " 2.5.3 Equivalence of PDA Languages and CFL's", " 2.5.4 Deterministic Pushdown Automata", " Exercises", " Bibliographic Notes", " 2.6 Properties of Context Free Languages", " 2.6.1 Ogden's Lemma", " 2.6.2 Closure Properties of CFL's", " 2.6.3 Decidability Results", " 2.6.4 Properties of Deterministic CFL's", " 2.6.5 Ambiguity", " Exercises", " Bibliographic Notes", "3. Theory of Translation", " 3.1 Formalisms for Translations", " 3.1.1 Translation and Semantics", " 3.1.2 Syntax-Directed Translation Schemata", " 3.1.3 Finite Transducers", " 3.1.4 Pushdown Transducers", " Exercises", " Bibliographic Notes", " 3.2 Properties of Syntax Directed Translations", " 3.2.1 Characterizing Languages", " 3.2.2 Properties of Simple SDT's", " 3.2.3 A Hierarchy of SDT's", " Exercises", " Bibliographic Notes", " 3.3 Lexical nalysis", " 3.3.1 An Extended Language for Regular Expressions", " 3.3.2 Indirect Lexical Analysis", " 3.3.3 Direct Lexical Analysis", " 3.3.4 Software Simulation of Finite Transducers ", " Exercises", " Bibliographic Notes", " 3.4 Parsing", " 3.4.1 Definition of Parsing", " 3.4.2 Top-Down Parsing", " 3.4.3 Bottom-Up Parsing", " 3.4.4 Comparison of Top-Down and Bottom-Up Parsing", " 3.4.5 Grammatical Covering", " Exercises", " Bibliographic Notes", "4. General Parsing Methods", " 4.1 Backtrack Parsing", " 4.1.1 Simulation of a PDT", " 4.1.2 Informal Top-Down Parsing", " 4.1.3 The Top-Down Parsing Algorithm", " 4.1.4 Time and Space Complexity of the Top-Down Parser", " 4.1.5 Bottom-Up Parsing", " Exercises", " Bibliographic Notes ", " 4.2 Tabular Parsing Methods", " 4.2.1 The Cocke-Younger-Kasami Algorithm", " 4.2.2 The Parsing Method of Earley", " Exercises", " Bibliographic Notes", "5. One-Pass No Backtrack Parsing", " 5.1 LL(k) Grammars", " 5.1.1 Definition of LL(k) Grammar", " 5.1.2 Predictive Parsing Algorithms", " 5.1.3 Implications of the LL(k) Definition", " 5.1.4 Parsing LL(1) Grammars", " 5.1.5 Parsing LL(k) Grammars", " 5.1.6 Testing for the LL(k) Condition", " Exercises", " Bibliographic Notes", " 5.2 Deterministic Bottom-Up Parsing", " 5.2.1 Deterministic Shift-Reduce Parsing", " 5.2.2 LR(k) Grammars", " 5.2.3 Implications of the LR(k) Definition", " 5.2.4 Testing for the LR(k) Condition", " 5.2.5 Deterministic Right Parsers for LR(k)", " 5.2.6 Implementation of LL(k) and LR(k) Parsers", " Exercises", " Bibliographic Notes", " 5.3 Precedence Grammars", " 5.3.1 Formal Shift-Reduce Parsing Algorithms", " 5.3.2 Simple Precedence Grammars", " 5.3.3 Extended Precedence Grammars", " 5.3.4 Weak Precedence Grammars", " Exercises", " Bibliographic Notes", " 5.4 Other Classes of Shift-Reduce Parsable Grammars", " 5.4.1 Bounded-Right-Context Grammars", " 5.4.2 Mixed Strategy Precedence Grammars", " 5.4.3 Operator Precedence Grammars", " 5.4.4 Floyd-Evans Production Language", " 5.4.5 Chapter Summary", " Exercises", " Bibliographic Notes ", "6. Limited Backtrack Parsing Algorithms", " 6.1 Limited Backtrack Top-Down Parsing", " 6.1.1 TDPL", " 6.1.2 TDPL and Deterministic Context-Free Languages", " 6.1.3 A Generalization of TDPL", " 6.1.4 Time Complexity of GTDPL Languages", " 6.1.5 Implementation of GTDPL Programs", " Exercises", " Bibliographic Notes ", " 6.2 Limited Backtrack Bottom-Up Parsing", " 6.2.1 Noncanonical Parsing", " 6.2.2 Two-Stack Parsers", " 6.2.3 Colmerauer Precedence Relations", " 6.2.4 Test for Colmerauer Precedence", " Exercises", " Bibliographic Notes ", "Appendix", " A.1 Syntax for an Extensible Base Language", " A.2 Syntax of SNOBL4 Statements", " A.3 Syntax for PL360", " A.4 A Syntax-Directed Translation Scheme for PAL", "Bibliography", "Index to Lemmas, Theorems and Algorithms", "Index to volume I".

Bogen er en ganske nydelig lærebog i parserteori anno 1972. Desværre eller heldigvis er den blevet spist af tidens tand for det er let at lave simpel parsing i diverse script-sprog og tilsvarende svært at lave fx en god konkurrent til en af de gængse compilere til fx C++ fordi både sprog og kodegenerering er komplicerede udover hvad en enkelt person nemt kan overskue.
… (mere)
 
Markeret
bnielsen | 1 anden anmeldelse | Jan 23, 2010 |

Måske også interessante?

Associated Authors

Statistikker

Værker
20
Medlemmer
2,606
Popularitet
#9,857
Vurdering
4.0
Anmeldelser
13
ISBN
75
Sprog
9
Udvalgt
4

Diagrammer og grafer