Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cpl:info:documentatie [2015/10/04 18:19]
cristina.ciocan
cpl:info:documentatie [2017/11/14 08:04] (current)
bogdan.nitulescu
Line 1: Line 1:
 ====== Documentație și alte resurse ====== ====== Documentație și alte resurse ======
  
-===== Documentație =====+===== Instructiuni compilare LLVM 3.8 + CLANG 3.8 din surse ===
  
-  ​Documentație utilă pentru cursul și laboratorul ​de Compilatoare ​+**1. Downloadarea arhivei ​de LLVM 3.8.0[1] în /​home/​student/​Downloads/​**
  
-=== Bibliografie ===+**2. Instalarea surselor în /​home/​student/​packages/​**
  
-* **Compilers ​Principles, Techniques and Tools** - Alfred VAho, Ravi Sethi, Jeffrey DUllman Publisher: Addison Wesley; 2nd edition (August 31, 2006) ISBN: 0321486811 +# 7z x llvm-3.8.0.src.tar.xz
-Este textul de referință pentru bazele teoretice ale compilatoarelor;​ baza pentru cursurile despre analiza sintactică,​ analiza semantică, generarea codului obiectEdiția a 2-a acoperă și cursurile despre optimizări.+
  
-* **{{:​cpl:​info:​irina-athanasiu-lfa.pdf|Limbaje Formale și Automate}}** - Irina Athanasiu - 2002 +# tar -xf llvm-3.8.0.src.tar
-Conține fundamentele teoretice ale analizei sintactice; utilă și pentru a recapitula noțiunile de la cursul LFA.+
  
-== Extra == +# mkdir -p /​home/​student/​packages/​llvm-3.8.0/build
-* **Advanced Compiler Design and Implementation** ​Steven Muchnick Publisher: Morgan Kaufmann (August 15, 1997) ISBN: 1558603204 +
-Referința în ceea ce privește optimizarile,​ și baza pentru cursurile de analiză a fluxului de control, analiza fluxului de date, optimizări intra si interprocedurale,​ analiza de alias, alocarea regiștrilor și planificarea instrucțiunilor.+
  
-* **Engineering a Compiler** ​Keith Cooper, Linda Torczon, Publisher: Morgan Kaufmann (October 27, 2003) ISBN: 155860698X +# mkdir -p /​home/​student/​packages/​llvm-3.8.0/install
-O abordare practică pentru studiul compilatoarelorO puteți folosi pentru explicații clare și informații suplimentare privind analiza sintactică,​ analiza semantică, generarea codului obiect, alocarea regiștrilor și planificarea instrucțiunilor.+
  
-* **Optimizing Compilers for Modern Architectures:​ A Dependence-based Approach** ​Randy Allen, Ken Kennedy, Publisher: Morgan Kaufmann; 1st edition (October 10, 2001) ISBN: 1558602860 +# mv llvm-3.8.0.src /​home/​student/​packages/​llvm-3.8.0/src
-Recomandată pentru a înțelege analiza de dependență,​ algoritmi de vectorizare si paralelizare.+
  
-* **Computer Architecture:​ A Quantitative Approach** - John L. Hennessy, David A. Patterson, Publisher: Morgan Kaufmann; 4 edition (September 27, 2006), ISBN: 0123704901 
-Recomandată pentru a înțelege arhitecturile setului de instrucțiuni și implementarile lor în hardware. 
  
-* **Modern Compiler Design** - DGrune, H. Bal, C. Jacobs, K. Langendoen, Publisher: Wiley; 1st edition (August 30, 2000) ISBN: 0471976970 +**3Downloadarea arhivei ​de CLANG[2] ​și compiler-rt[3] în /​home/​student/​Downloads/​**
-Conține informații suplimentare despre generarea ​de cod, inclusiv pentru limbaje orientate obiect, programarea generică, funcțională sau logică, precum ​și tehnici de garbage collection.+
  
-* **Modern Compiler Implementation in Java** - Andrew W. Appel, Jens Palsberg Publisher: Cambridge University Press; 2 edition (November, 2002) ISBN: 052182060X 
  
 +**4. Instalarea surselor în /​home/​student/​packages/​**
 +
 +# 7z x cfe-3.8.0.src.tar.xz
 +
 +# tar -xf cfe-3.8.0.src.tar
 +
 +# 7z x compiler-rt-3.8.0.src.tar.xz
 +
 +# tar -xf compiler-rt-3.8.0.src.tar
 +
 +# mv compiler-rt-3.8.0.src /​home/​student/​packages/​llvm-3.8.0/​src/​projects/​compiler-rt
 +
 +# mv cfe-3.8.0.src /​home/​student/​packages/​llvm-3.8.0/​src/​projects/​clang
 +
 +
 +**5. Automake**
 +
 +# cd /​home/​student/​packages/​llvm-3.8.0/​build
 +
 +<​code>​
 +cmake -G "Unix Makefiles"​ -DCMAKE_INSTALL_PREFIX=/​home/​student/​packages/​llvm-3.8.0/​install -DCMAKE_BUILD_TYPE=Debug /​home/​student/​packages/​llvm-3.8.0/​src
 +</​code>​
 +
 +**6. Compilarea
 +**
 +# make
 +
 +**7. Instalarea**
 +
 +# make install
 +
 +**8. Configurarea variabilelor de mediu în /​etc/​bash.bashrc**
 +
 +<​code>​
 +export LLVM_INSTALL=/​home/​student/​packages/​llvm-3.8.0/​install
 +
 +export PATH=$LLVM_INSTALL/​bin:​$PATH
 +
 +export LLVM_LIB_SEARCH_PATH=$LLVM_INSTALL/​lib
 +</​code>​
 +
 +**9. Testat**
 +# which lli
 +
 +# which clang
 +
 +La final ar trebui să putem folosi direct binarele de llvm 3.8
 +
 +[1] http://​llvm.org/​releases/​3.8.0/​llvm-3.8.0.src.tar.xz
 +
 +[2] http://​llvm.org/​releases/​3.8.0/​cfe-3.8.0.src.tar.xz
 +
 +[3] http://​llvm.org/​releases/​3.8.0/​compiler-rt-3.8.0.src.tar.xz
 +
 +
 +
 +===== Documentație =====
 +
 +  * Documentație utilă pentru cursul și laboratorul de Compilatoare :
 +{{section>​cpl:​res:​materiale&​noheader&​nofooter&​noindent}}
 ===== Social media ===== ===== Social media =====
  
   * [[https://​www.facebook.com/​compilatoare|Pagina cursului de Facebook]]   * [[https://​www.facebook.com/​compilatoare|Pagina cursului de Facebook]]
  
cpl/info/documentatie.1443971986.txt.gz · Last modified: 2015/10/04 18:19 by cristina.ciocan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0