- This topic has 2개 답변, 2명 참여, and was last updated 11 years 전에 by
인베인. This post has been viewed 18 times
-
게시글
-
1. Compile#> cd llvm/tools
#> svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
#> cd clang
#> make1. 사용방법
#> clang implicit-def.c -std=c89 ( GCC 호환 옵션 지원)
#> clang -arch ppc -arch linux -fsyntax-only portability.c ( -arch 옵션 지원)
#> time clang -parse-noop INPUT/carbon_h.c (퍼포먼스 분석 옵션 : -Eonly, -parse-noop, -stats)2. High Level Architecutre
AST->LLVM:
AST : Semantic analysis, type checking, Builds Abstract Syntax Trees for valid input
Parse : Hand built recursive descent(C99 Now, ObjC/C++ Later)
Lex : Lexing, Preprocessing, and pragma handling(C/C++/ObjC), Indentifier hash table,
tokens, macros, literals
Basic : Source Manager(Locatins, ranges, buffer, file caching), Diagnostics,
target description, language dialect control
LLVM (Suppport/System): Casting, CommandLine, MemoryBuffer, MappedFile
FoldingSet, SmallVector, SmallSet, StringMap, SamllString, APInt3. Non Goals
Q1) 기존 GCC을 제거하기 위해 예를 들면 llvm-gcc를 만든 것이 목표인가?
Goal이 근본적으로 GCC와는 다르며, GCC의 존재를 긍정적으로 생각한다.Q2) C언어 이외에도 지원을 할것인가?
Java, Ada, FORTRAN을 위한 계획을 가지고 있지 않음.* 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치
- 답변은 로그인 후 가능합니다.