relwork: started compilers section
Some checks failed
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.10) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, 1.6) (push) Has been cancelled
CI / Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} (x64, ubuntu-latest, pre) (push) Has been cancelled

This commit is contained in:
2025-03-18 10:32:14 +01:00
parent de5493ca3e
commit d514b07434
3 changed files with 64 additions and 4 deletions

View File

@ -844,3 +844,57 @@ Publisher: Multidisciplinary Digital Publishing Institute},
urldate = {2025-03-16},
date = {2025-03},
}
@book{aho_compilers_2006,
location = {{USA}},
title = {Compilers: Principles, Techniques, and Tools (2nd Edition)},
isbn = {0-321-48681-1},
publisher = {Addison-Wesley Longman Publishing Co., Inc.},
author = {Aho, Alfred V. and Lam, Monica S. and Sethi, Ravi and Ullman, Jeffrey D.},
date = {2006},
file = {PDF:C\:\\Users\\danwi\\Zotero\\storage\\ISZAKRX9\\Aho et al. - 2006 - Compilers Principles, Techniques, and Tools (2nd Edition).pdf:application/pdf},
}
@online{lindholm_java_2025,
title = {The Java® Virtual Machine Specification},
url = {https://docs.oracle.com/javase/specs/jvms/se24/html/},
author = {Lindholm, Tim and Yellin, Frank and Bracha, Gilad and Buckley, Alex and Smith, Daniel},
urldate = {2025-03-18},
date = {2025-02},
}
@online{gcc_gcc_2025,
title = {{GCC} online documentation},
url = {https://gcc.gnu.org/onlinedocs/},
author = {{GCC}},
urldate = {2025-03-18},
date = {2025-01},
}
@book{cooper_engineering_2022,
edition = {3},
title = {Engineering a Compiler},
isbn = {978-0-12-815412-0},
url = {http://dx.doi.org/10.1016/C2014-0-01395-0},
publisher = {Elsevier},
author = {Cooper, Keith D. and Torczon, Linda},
urldate = {2025-03-18},
date = {2022},
langid = {english},
}
@inproceedings{lattner_llvm_2004,
title = {{LLVM}: a compilation framework for lifelong program analysis \& transformation},
url = {https://ieeexplore.ieee.org/abstract/document/1281665},
doi = {10.1109/CGO.2004.1281665},
shorttitle = {{LLVM}},
abstract = {We describe {LLVM} (low level virtual machine), a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. {LLVM} defines a common, low-level code representation in static single assignment ({SSA}) form, with several novel features: a simple, language-independent type-system that exposes the primitives commonly used to implement high-level language features; an instruction for typed address arithmetic; and a simple mechanism that can be used to implement the exception handling features of high-level languages (and setjmp/longjmp in C) uniformly and efficiently. The {LLVM} compiler framework and code representation together provide a combination of key capabilities that are important for practical, lifelong analysis and transformation of programs. To our knowledge, no existing compilation approach provides all these capabilities. We describe the design of the {LLVM} representation and compiler framework, and evaluate the design in three ways: (a) the size and effectiveness of the representation, including the type information it provides; (b) compiler performance for several interprocedural problems; and (c) illustrative examples of the benefits {LLVM} provides for several challenging compiler problems.},
eventtitle = {International Symposium on Code Generation and Optimization, 2004. {CGO} 2004.},
pages = {75--86},
booktitle = {International Symposium on Code Generation and Optimization, 2004. {CGO} 2004.},
author = {Lattner, C. and Adve, V.},
urldate = {2025-03-18},
date = {2004-03},
keywords = {Algorithm design and analysis, Application software, Arithmetic, High level languages, Information analysis, Performance analysis, Program processors, Runtime, Software safety, Virtual machining},
file = {Full Text PDF:C\:\\Users\\danwi\\Zotero\\storage\\P2U5LRF2\\Lattner and Adve - 2004 - LLVM a compilation framework for lifelong program analysis & transformation.pdf:application/pdf;IEEE Xplore Abstract Record:C\:\\Users\\danwi\\Zotero\\storage\\U58QV47G\\1281665.html:text/html},
}