컴파일러 - 이것 저것

shint의 이미지





 

 

 

최초의 컴파일러 코볼

★ 1 패스 컴파일 - 터보C 
★ 2 패스 컴파일 - 어셈블리 
★ 3 패스 컴파일 - MSVC

스마트 TV 에서 PNaCl 로 DirectX 를 웹에서 사용가능

다양한 컴파일 방식이 보여지고 있습니다.

asm.js / v8 / LLVM / PNaCl / NaCl / JIT

Qt / Elrang / Ruby / Lua / Mono

Apache Harmony / Haskell / Clang / WebAssembly

아파치'로도 뭔가 하는걸 보면. SQL 같은 DB 로도 구현이 가능할것 같습니다. ㅇ_ㅇ;;

PyGPU 에서는 GPU 를 통한 컴파일 가속을 지원하고 있습니다.

PyGPU 컴파일 / SciPy / PyConSG

LLVM - C++
Anaconda Accelerate - Python
Alea GPU - C++ C#
GPGPU PGI - C++

Distcc - 분산빌드(컴파일) 속도 50% 향상

기타 성능 향상
SIMD. SSE. AVX. MMX.
HyperThread. MPI.
DXVA. VPU.
CUPTI

//
Simple one-Pass Compiler
http://slideplayer.com/slide/8577002/

Classification of Compilers
https://www.slideshare.net/sarmad-ali/classification-of-compilers

Multi-pass compiler
https://en.wikipedia.org/wiki/Multi-pass_compiler

1 A Simple one-Pass Compiler (to Generate Code for the JVM) Chapter 2 COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University,
http://slideplayer.com/slide/7805610/

Lecture 02: Compiler Overview Kwangman Man (http://compiler.sangji.ac.kr, SangJi University.
http://slideplayer.com/slide/10747417/

Two Pass Compiler-Compiler Construction-Lecture Notes, Study notes for Compiler Construction. Quaid-i-Azam University
https://www.docsity.com/en/two-pass-compiler-compiler-construction-lecture-notes/167970/

Three pass Compiler - Compiler Construction - Lecture Notes, Study notes for Compiler Construction. Quaid-i-Azam University
https://www.docsity.com/en/three-pass-compiler-compiler-construction-lecture-notes/203844/

Two Pass Compiler
https://prezi.com/jopqvmu0hptz/two-pass-compiler/

//
Compiler Design - Architecture
https://www.tutorialspoint.com/compiler_design/compiler_design_architecture.htm

Pass : A pass refers to the traversal of a compiler through the entire program.
Phase : A phase of a compiler is a distinguishable stage, which takes input from the previous stage, processes and yields output that can be used as input for the next stage. A pass can have more than one phase.

Pass : 패스는 전체 프로그램을 통해 컴파일러를 순회하는 것을 의미합니다.
단계 : 컴파일러의 단계는 구별 가능한 단계이며, 이전 단계의 입력을 받아 다음 단계의 입력으로 사용할 수있는 출력을 처리하고 산출합니다. 패스에는 둘 이상의 단계가있을 수 있습니다.

Tiny Three-Pass Compiler
https://www.codewars.com/kata/tiny-three-pass-compiler

//
Compiling one module: HscMain
https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/HscMain

The Glasgow Haskell Compiler

DRLVM Jitrino Just-in-time Compiler
https://harmony.apache.org/subcomponents/drlvm/JIT.html

Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

Apache Harmony - Open Source Java Platform

//
Two Pass Assemblers
http://www.entcengg.com/two-pass-assemblers/

Chapter 0: Administrivia
http://cs.nyu.edu/~gottlieb/courses/2000s/2008-09-fall/compilers/lectures/lecture-01.html

//
컴파일러가 어떻게 동작하는가 - 1분 요약 (CC)
https://www.youtube.com/watch?v=VLAzykeSp04

A really simple compiler written in Ruby
https://github.com/charles-l/koona

//
[명령프롬프트(도스)(cmd)창에서 C 컴파일 & 빌드] - 1. 환경설정
http://devdoo.tistory.com/41

(자알쓰) JIT 컴파일
https://perfectacle.github.io/2017/08/07/js-jit-compile/

컴파일러 입문 : an introduction compiler
http://www.kangcom.com/sub/view.asp?sku=200603090010

최초의 컴파일러를 만든 그레이스 호퍼 제독 이야기
http://teus.me/414

[IT 정보] 프로그래밍 언어 : 컴파일 언어와 인터프리터 언어의 차이점
http://smartreview.tistory.com/55

[구 크라이엔진3 메뉴얼] Resource Compiler - 리소스 컴파일러 사용하기 ( 2 판 )
http://ko.cryenginekorea.wikidok.net/wp-d/59bcf1954d22db97397e32ae/View

컴파일러 제작 원리와 실제
http://mobile.kyobobook.co.kr/showcase/book/KOR/9788993995138

C언어-분할컴파일을-통한-static-extern-확인
http://donghwada.tistory.com/entry/C%EC%96%B8%EC%96%B4-%EB%B6%84%ED%95%A0%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%9D%84-%ED%86%B5%ED%95%9C-static-extern-%ED%99%95%EC%9D%B8

//
llvm이란-clang-비트코드-포함
http://kyejusung.com/2015/11/llvm%EC%9D%B4%EB%9E%80-clang-%EB%B9%84%ED%8A%B8%EC%BD%94%EB%93%9C-%ED%8F%AC%ED%95%A8/

//
왜 WebAssembly가 asm.js보다 빠를까?
http://hacks.mozilla.or.kr/2017/05/why-webassembly-is-faster-than-asm-js/

asm.js에 대해서
https://blog.outsider.ne.kr/927

Asm.js: The JavaScript Compile Target
https://johnresig.com/blog/asmjs-javascript-compile-target/

Asm.js, universal compatibility to applications
http://www.scriptol.com/programming/asm-js.php

//
Google's high performance, open source, JavaScript engine.
https://developers.google.com/v8/

Performance Tips for JavaScript in V8
https://www.html5rocks.com/ko/tutorials/speed/v8/

크롬 V8
https://ko.wikipedia.org/wiki/%ED%81%AC%EB%A1%AC_V8

//
Mono Project - Cross platform, open source .NET framework - 윈도우 리눅스 무료 C++ C# 컴파일러 | 한메일
http://www.mono-project.com/download/#download-win

//
Chrome Native Client (NaCl, pNaCl) 정리
http://egloos.zum.com/Aimez/v/1868756

PNaCl Demos
https://gonativeclient.appspot.com/demo/bullet

Portable Native Client: The "pinnacle" of speed, security, and portability
https://blog.chromium.org/2013/11/portable-native-client-pinnacle-of.html

NaCl and PNaCl
https://developer.chrome.com/native-client/nacl-and-pnacl

ReactOS 0.3.17 in Chrome ( PNaCL & QEMU )
https://www.youtube.com/watch?v=rFpopBB92Yo

C++ on the Web (GDCE 2013)
https://www.slideshare.net/andreweissflog3/gdce2013-cpp-ontheweb

#pnacl from:flohofwoe
https://twitter.com/search?q=%23pnacl%20from%3Aflohofwoe

//

Microsoft .NET Framework
http://softwareji.tistory.com/63

.NET Framework 버전 정리하기
https://m.blog.naver.com/PostView.nhn?blogId=gboarder&logNo=90085358506&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

Creating simple programming with ASP.NET
http://slideplayer.com/slide/6641241/

.NET Framework 3.0 소개
https://www.microsoft.com/korea/msdn/netframework/using/documentation/aa479861.aspx

[Td 2015]windows, linux, mac 신경 안 쓴다. .net 2015와 더더 좋아지는 c# 살짝 훔쳐보기(김명신)
https://www.slideshare.net/sangdonkim9022/td-2015windows-linux-mac-net-2015-c

윈도우에서 .NET Framework 설치 오류 및 에러 해결 방안
http://guslabview.tistory.com/114

.NET Framework 버전 및 종속성

https://msdn.microsoft.com/ko-kr/library/bb822049(v=vs.100).aspx


세벌의 이미지