| Index Entry | | Section |
|
% | | |
| %require : | | PTHL Code to Write |
|
* | | |
| *.cc: | | File Conventions |
| *.cc: Definitions of functions and variables : | | File Conventions |
| *.hh: | | File Conventions |
| *.hh: Declarations : | | File Conventions |
| *.hxx: | | File Conventions |
| *.hxx: Inlined definitions : | | File Conventions |
|
- | | |
| --bindings-compute: | | TC-3 |
| --bindings-display: | | TC-3 |
| --bounds-checks-add: | | TC-B |
| --desugar: | | TC-D |
| --desugar-for: | | TC-D |
| --desugar-string-cmp: | | TC-D |
| --escapes-compute: | | TC-E |
| --escapes-display: | | TC-E |
| --inline: | | TC-I |
| --llvm-compute: | | TC-L |
| --llvm-display: | | TC-L |
| --llvm-runtime-display: | | TC-L |
| --object-bindings-compute: | | TC-3 |
| --object-desugar: | | TC-O |
| --object-rename: | | TC-4 Options |
| --object-types-compute: | | TC-4 Samples |
| --overfun-bindings-compute: | | TC-A |
| --overfun-bounds-checks-add: | | TC-B |
| --overfun-desugar: | | TC-D |
| --overfun-inline: | | TC-I |
| --overfun-prune: | | TC-I |
| --overfun-types-compute: | | TC-4 Samples |
| --overfun-types-compute: | | TC-A |
| --prune: | | TC-I |
| --rename: | | TC-R |
| --target-arm: | | TC-Y |
| --target-ia32: | | TC-X |
| --typed: | | TC-4 Samples |
| --types-compute: | | TC-4 Samples |
| -T: | | TC-4 Samples |
|
8 | | |
| 80 columns maximum : | | Matters of Style |
|
⇒ | | |
| ⇒: | | PTHL Samples |
|
A | | |
| accept : | | src/ast |
| accept : | | src/ast |
| accept : | | src/ast |
| accept : | | src/ast |
| access.* : | | src/frame |
| access.* : | | src/translate |
| Accessors: | | Use of C++ Features |
| activation block: | | Glossary |
| aliasing: | | Use of C++ Features |
| ARM: | | TC-Y |
| arm : | | src/target |
| arm-assembly.* : | | src/target/arm |
| arm-codegen.* : | | src/target/arm |
| arm-layout.* : | | src/target/arm |
| array.* : | | src/type |
| ASM: | | TC-9 |
| Assem: | | src/assem |
| assembly.* : | | src/target |
| attribute.* : | | src/type |
| AUTHORS.txt: | | The Top Level |
| Autoconf: | | The GNU Build System |
| Automake: | | The GNU Build System |
| Autotools Tutorial : | | Bibliography |
| auxiliary class: | | Name Conventions |
| Avoid static class members (EC47) : | | Use of C++ Features |
|
B | | |
| basic block: | | TC-6 Scheduling Samples |
| Be concise : | | Documentation Style |
| binder.* : | | src/bind |
| binder.* : | | src/object |
| binding: | | TC-3 Samples |
| binop.brg : | | src/target/mips |
| binop.brg : | | src/target/ia32 |
| binop.brg : | | src/target/arm |
| Bison: | | Flex & Bison |
| bison++.in : | | build-aux |
| Bjarne Stroustrup : | | Bibliography |
| block structure: | | TC-E Goals |
| Bookshop: | | Bibliography |
| Boost.org : | | Bibliography |
| bounds-checking-visitor.* : | | src/desugar |
| build: | | Glossary |
| builtin-types.* : | | src/type |
| BURG: Fast Optimal Instruction Selection and Tree Parsing : | | Bibliography |
|
C | | |
| C++ Primer : | | Bibliography |
| call.brg : | | src/target/mips |
| call.brg : | | src/target/ia32 |
| call.brg : | | src/target/arm |
| canonicalization: | | TC-6 |
| chunk: | | TC-2 Chunks |
| chunk: | | TC-2 Code to Write |
| cjump.brg : | | src/target/mips |
| cjump.brg : | | src/target/ia32 |
| cjump.brg : | | src/target/arm |
| Clang: | | Clang |
| class.* : | | src/type |
| cloner.* : | | src/astclone |
| Code duplication: | | Use of C++ Features |
| codegen.* : | | src/target |
| codegen.* : | | src/target/mips |
| codegen.* : | | src/target/ia32 |
| color.* : | | src/regalloc |
| comment.* : | | src/assem |
| common.hh : | | src |
| commute: | | TC-6 Canonicalization Samples |
| Compilers and Compiler Generators, an introduction with C++ : | | Bibliography |
| Compilers: Principles, Techniques and Tools : | | Bibliography |
| conflict graph: | | TC-8 |
| contract.* : | | lib/misc |
| Cool: The Classroom Object-Oriented Compiler : | | Bibliography |
| cpu.* : | | src/target |
| cpu.* : | | src/target/mips |
| cpu.* : | | src/target/ia32 |
| cpu.* : | | src/target/arm |
| created_type_set : | | src/ast |
| CStupidClassName : | | Bibliography |
| curriculum: | | Glossary |
|
D | | |
| default-visitor.* : | | src/ast |
| Design Patterns: Elements of Reusable Object-Oriented Software: | | Bibliography |
| Design Patterns: Elements of Reusable Object-Oriented Software : | | Bibliography |
| desugar-visitor.* : | | src/object |
| desugar-visitor.* : | | src/desugar |
| distcheck : | | Making a Tarball |
| DISTCHECK_CONFIGURE_FLAGS : | | Making a Tarball |
| dmalloc: | | Valgrind |
| Do not copy tests or test frame works : | | Rules of the Game |
| Do not declare many variables on one line : | | Matters of Style |
| Document classes in their *.hh file : | | Documentation Style |
| Document namespaces in lib*.hh files : | | Documentation Style |
| Don't hesitate working with other groups : | | Rules of the Game |
| Don't use inline in declarations : | | Matters of Style |
| Dragon Book: | | Bibliography |
| driver: | | src |
| dump : | | Use of C++ Features |
| dump : | | lib/misc |
| dynamic_cast : | | Use of C++ Features |
|
E | | |
| ECN: | | Bibliography |
| ECN: | | Bibliography |
| Effective C++ : | | Bibliography |
| Effective Modern C++ : | | Bibliography |
| Effective STL : | | Bibliography |
| Engineering a simple, efficient code generator generator : | | Bibliography |
| epilogue.cc : | | src/target/mips |
| epilogue.cc : | | src/target/ia32 |
| epilogue.cc : | | src/target/arm |
| EPITA Library: | | Bibliography |
| error.* : | | lib/misc |
| error→: | | PTHL Samples |
| escapable.* : | | src/ast |
| escape : | | lib/misc |
| escape.* : | | lib/misc |
| escapes-collector.* : | | src/llvmtranslate |
| escapes-visitor.* : | | src/escapes |
| escapes::EscapesVisitor : | | TC-E Code to Write |
| ESN: | | Bibliography |
| exp.brg : | | src/target/mips |
| exp.brg : | | src/target/ia32 |
| exp.brg : | | src/target/arm |
| exp.hh : | | src/translate |
| Explicit template instantiation : | | File Conventions |
|
F | | |
| FDL, GNU Free Documentation License: | | GNU Free Documentation License |
| field.* : | | src/type |
| Flex: | | Flex & Bison |
| flex++.in : | | build-aux |
| flex-lexer.hh : | | lib/misc |
| flow graph: | | TC-8 |
| flowgraph.* : | | src/liveness |
| foo_get : | | Use of C++ Features |
| foo_set : | | Use of C++ Features |
| fragment.* : | | src/tree |
| fragment.* : | | src/assem |
| fragments.* : | | src/tree |
| frame.* : | | src/frame |
| function.* : | | src/type |
| fwd.hh: forward declarations : | | File Conventions |
|
G | | |
| gas-assembly.* : | | src/target/ia32 |
| gas-layout.* : | | src/target/ia32 |
| GCC: | | GCC |
| GDB: | | GDB |
| Generic Visitors in C++ : | | Bibliography |
| get : | | lib/misc |
| GLIBCPP_FORCE_NEW : | | Valgrind |
| GLIBCXX_FORCE_NEW : | | Valgrind |
| GNU Build System: | | The GNU Build System |
| GotW: | | Bibliography |
| GOTWN: | | Bibliography |
| graph : | | lib/misc |
| graph.* : | | lib/misc |
| Guard included files (*.hh & *.hxx) : | | File Conventions |
| Guru of the Week : | | Bibliography |
|
H | | |
| havm : | | TC-5 Primitive Samples |
| HAVM: | | HAVM |
| HAVM: | | Glossary |
| helper class: | | Name Conventions |
| Hide auxiliary classes : | | Name Conventions |
| HIR: | | TC-5 |
| host: | | Glossary |
| How not to go about a programming assignment : | | Bibliography |
| Hunt code duplication : | | Use of C++ Features |
| Hunt Leaks : | | Use of C++ Features |
|
I | | |
| I386: | | TC-X |
| IA-32: | | TC-X |
| IA-32: | | Glossary |
| ia32 : | | src/target |
| identifier.* : | | src/temp |
| If something is fishy, say it : | | Rules of the Game |
| indent.* : | | lib/misc |
| inliner.* : | | src/inlining |
| INSTR: | | TC-7 |
| instr.* : | | src/assem |
| instruction selection: | | TC-7 |
| interference graph: | | TC-8 |
| interference-graph.* : | | src/liveness |
|
K | | |
| Keep superclasses on the class declaration line : | | Matters of Style |
|
L | | |
| label.* : | | src/temp |
| label.* : | | src/assem |
| layout.hh : | | src/assem |
| Le Monde en Tique: | | Bibliography |
| Leave no space between a function name and its argument(s), either formal or actual : | | Matters of Style |
| Leave no space between template name and effective parameters : | | Matters of Style |
| Leave one space between TEMPLATE and formal parameters : | | Matters of Style |
| level.* : | | src/translate |
| Lex: | | Flex & Bison |
| Lex & Yacc : | | Bibliography |
| libassem.* : | | src/assem |
| libllvmtranslate.* : | | src/llvmtranslate |
| libmodule.*: Pure interface : | | File Conventions |
| libparse.hh : | | src/parse |
| libregalloc.* : | | src/regalloc |
| libtarget.* : | | src/target |
| Libtool: | | The GNU Build System |
| libtranslate.* : | | src/translate |
| libtype.* : | | src/type |
| LIR: | | TC-6 |
| liveness analysis: | | TC-8 |
| liveness.* : | | src/liveness |
| LLVM: | | Clang |
| LLVM IR: | | TC-L |
| llvm-type-visitor.* : | | src/llvmtranslate |
| location.hh : | | src/parse |
| location.hh : | | src/ast |
|
M | | |
| Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler : | | Bibliography |
| malloc : | | TC-5 Builtin Calls Samples |
| mem.brg : | | src/target/mips |
| mem.brg : | | src/target/ia32 |
| mem.brg : | | src/target/arm |
| method.* : | | src/type |
| mips : | | src/target |
| misc::error : | | lib/misc |
| misc::scoped_map<Key, Data> : | | lib/misc |
| misc::variant<T0, T1> : | | lib/misc |
| misc::variant<T0, Ts...> : | | TC-1 Code to Write |
| Modern C++ Design -- Generic Programming and Design Patterns Applied : | | Bibliography |
| Modern Compiler Implementation in C, Java, ML : | | Bibliography |
| Module, namespace, and directory likethis : | | File Conventions |
| MonoBURG: | | MonoBURG |
| monoburg++.in : | | build-aux |
| move.* : | | src/assem |
| move.brg : | | src/target/mips |
| move.brg : | | src/target/ia32 |
| move.brg : | | src/target/arm |
| move_load.brg : | | src/target/mips |
| move_load.brg : | | src/target/ia32 |
| move_load.brg : | | src/target/arm |
| move_store.brg : | | src/target/mips |
| move_store.brg : | | src/target/ia32 |
| move_store.brg : | | src/target/arm |
|
N | | |
| Name private/protected members like_this_ : | | Name Conventions |
| Name public members like_this : | | Name Conventions |
| Name the parent class super_type : | | Name Conventions |
| Name your classes LikeThis : | | Name Conventions |
| Name your using type alias foo_type : | | Name Conventions |
| named.* : | | src/type |
| nested function: | | TC-E Goals |
| NEWS: | | Making a Tarball |
| nil.* : | | src/type |
| Nolimips: | | Nolimips |
| non-local variable: | | TC-E Goals |
| non-object-visitor.* : | | src/ast |
|
O | | |
| Object Management Group : | | Bibliography |
| object-visitor.* : | | src/ast |
| object::Renamer : | | TC-4 Options |
| One class LikeThis per files like-this.* : | | File Conventions |
| oper.* : | | src/assem |
| Order class members by visibility first : | | Matters of Style |
|
P | | |
| panther.el : | | build-aux |
| parsetiger.yy : | | src/parse |
| Parsing Techniques -- A Practical Guide : | | Bibliography |
| Pointers and references are part of the type : | | Matters of Style |
| Portland Pattern Repository: | | Bibliography |
| position.hh : | | src/parse |
| Prefer C Comments for Long Comments : | | Documentation Style |
| Prefer C++ Comments for One Line Comments : | | Documentation Style |
| Prefer dynamic_cast of references : | | Use of C++ Features |
| Prefer member functions to algorithms with the same names (ES44) : | | Use of STL |
| Prefer standard algorithms to hand-written loops (ES43) : | | Use of STL |
| pretty-printer.* : | | src/ast |
| pretty-printer.* : | | src/type |
| Programming: Principles and Practice Using C++ : | | Bibliography |
| prologue.hh : | | src/target/mips |
| prologue.hh : | | src/target/ia32 |
| prologue.hh : | | src/target/arm |
| pruner.* : | | src/inlining |
| put : | | lib/misc |
| Put initializations below the constructor declaration : | | Matters of Style |
| Python: | | Python |
|
R | | |
| rebox: | | Documentation Style |
| rebox: | | build-aux |
| rebox.el : | | build-aux |
| record.* : | | src/type |
| ref.* : | | lib/misc |
| regallocator.* : | | src/regalloc |
| register allocation: | | TC-9 |
| renamer.* : | | src/bind |
| renamer.* : | | src/object |
| runtime, Tiger: | | src/target |
| runtime, Tiger: | | src/llvmtranslate |
| runtime-freebsd.s : | | src/target/ia32 |
| runtime-gnu-linux.s : | | src/target/ia32 |
| runtime.cc : | | src/target/mips |
| runtime.s : | | src/target/mips |
| runtime.s : | | src/target/arm |
|
S | | |
| scantiger.ll : | | src/parse |
| scholarship: | | Glossary |
| schooling: | | Glossary |
| scoped-map.* : | | lib/misc |
| scope_begin : | | lib/misc |
| scope_end : | | lib/misc |
| sequence point: | | TC-6 Canonicalization Samples |
| set.* : | | lib/misc |
| snippet: | | Glossary |
| Specify comparison types for associative containers of pointers (ES20) : | | Use of STL |
| SPIM: | | SPIM |
| spim-assembly.* : | | src/target/mips |
| spim-layout.* : | | src/target/mips |
| SPOT : une bibliothèque de vérification de propriétés de logique temporelle à temps linéaire : | | Bibliography |
| stack frame: | | Glossary |
| static hierarchy: | | Glossary |
| Stay out of reserved names : | | Name Conventions |
| STL Home : | | Bibliography |
| stm.brg : | | src/target/mips |
| stm.brg : | | src/target/ia32 |
| stm.brg : | | src/target/arm |
| SWIG: | | SWIG |
| symbol.* : | | lib/misc |
|
T | | |
| tarball name: | | Package Name and Version |
| target: | | Glossary |
| target.* : | | src/target |
| target.* : | | src/target/mips |
| target.* : | | src/target/ia32 |
| target.* : | | src/target/arm |
| tasks.*: Impure interface : | | File Conventions |
| tc : | | src |
| tc.cc : | | src |
| temp-set.* : | | src/temp |
| temp.* : | | src/temp |
| temp.brg : | | src/target/mips |
| temp.brg : | | src/target/ia32 |
| temp.brg : | | src/target/arm |
| test, unit: | | TC-1 Code to Write |
| test-flowgraph.cc : | | src/liveness |
| test-regalloc.cc : | | src/regalloc |
| Testing student-made compilers : | | Bibliography |
| Tests are part of the project : | | Rules of the Game |
| The Design and Evolution of C++ : | | Bibliography |
| The Dragon Book : | | Bibliography |
| The Elements of Style : | | Bibliography |
| Thinking in C++ Volume 1 : | | Bibliography |
| Thinking in C++ Volume 2 : | | Bibliography |
| Thou Shalt Not Copy Code : | | Rules of the Game |
| Thou Shalt Not Possess Thy Neighbor's Code : | | Rules of the Game |
| tiger-ftdetect.vim : | | build-aux |
| tiger-runtime.c : | | src/target |
| tiger-runtime.c : | | src/llvmtranslate |
| tiger-syntax.vim : | | build-aux |
| tiger.el : | | build-aux |
| timer.* : | | lib/misc |
| traces: | | TC-6 Scheduling Samples |
| traits: | | Bibliography |
| traits: | | Glossary |
| Traits: a new and useful template technique : | | Bibliography |
| translation.hh : | | src/translate |
| translator.hh : | | src/translate |
| translator.hh : | | src/llvmtranslate |
| tree.brg : | | src/target/mips |
| tree.brg : | | src/target/ia32 |
| tree.brg : | | src/target/arm |
| typable.* : | | src/ast |
| type checking: | | TC-4 |
| type-checker.* : | | src/type |
| type-checker.* : | | src/object |
| type-constructor.* : | | src/ast |
| type.* : | | src/type |
| type::Error : | | TC-4 Options |
| type::Type* : | | src/ast |
| type::Type* : | | src/ast |
| typeid : | | Use of C++ Features |
| types.hh : | | src/type |
| type_set : | | src/ast |
|
U | | |
| unique.* : | | lib/misc |
| unit test: | | TC-1 Code to Write |
| Use const references in arguments to save copies (EC22) : | | Use of C++ Features |
| Use dump as a member function returning a stream : | | Use of C++ Features |
| Use dynamic_cast for type cases : | | Use of C++ Features |
| Use foo_get , not get_foo : | | Use of C++ Features |
| Use override : | | Matters of Style |
| Use pointers when passing an object together with its management : | | Use of C++ Features |
| Use rebox.el to mark up paragraphs : | | Documentation Style |
| Use references for aliasing : | | Use of C++ Features |
| Use the Imperative : | | Documentation Style |
| Use virtual methods, not type cases : | | Use of C++ Features |
| Use ‘\directive’ : | | Documentation Style |
|
V | | |
| Valgrind: | | Valgrind |
| variant : | | PTHL Code to Write |
| variant.* : | | lib/misc |
| visitor.* : | | src/tree |
| visitor.hh : | | src/ast |
| visitor.hh : | | src/assem |
| vtable : | | Glossary |
|
W | | |
| Write correct English : | | Documentation Style |
| Write Documentation in Doxygen : | | Documentation Style |
| Writing Compilers and Interpreters -- An Applied Approach Using C++ : | | Bibliography |
|
X | | |
| X86: | | TC-X |
|
Y | | |
| Yacc: | | Flex & Bison |
|