본 글은 필자가 2021년도 2학기에 프로그래밍언어론 수업을 듣고 퀴즈 준비차 작성한 글입니다.
Whole System
From Source code,
- Parser ( -> Parse Tree)
- Lexical Analyzer ( -> Tokens)
- Syntatic Analyzer ( ->Parse Tree)
- Chomsky Hierarchy 중 Context Free Grammar
- Compiler (->Assembly lanugage)
- Semantic Analyzer
- Semantics: Variables, Polymorphism, Scope
- Compiler vs. Interpreter
- Etc.
- Dynamic Compilation(JIT Compilation)
- Virtual Machine
- Interpretive Compiler
- Semantic Analyzer
- Assembler ( -> Object file/ Machine's binary format)
- Linker ( -> Executable file)
- Static Linking / Dynamic Linking
- Delayed Linking: Loadtime Dynamic Linking / Run-time Dynamic Linking
- Loader (-> Running program in memory)
- Variable Binding
- Allocation of Activation Record
- Activation Record: on Function, Activation record variable
- Static Allocation
- Dynamic Allocation: Stack, Heap
- Problem: How can the inner function know the most recent activation for outer function
- Nesting Link, Displays, Lambda linking
- Parameter Passing
- Parameter type: Formal, Actual / Positional, Named Parameter
- Parameter Passing: Passing by value/result/value-result // reference // macro expansion / name / need
Language System
- gcc, IDE(통합환경)
- Intepreter / Compiler / Intepretive Compiler
- Virtual Machine (JVM)
- Profiling
- Dynamic Compilation (JIT)
Context Free Grammar
- elements of CFG: Token, Non-terminal, Start symbol, Production rule
- Normal Form: EBNF, BNF
Semantics
1. Variables
- Type: Primitive type & Constructed type
- Rules
- Scope rules: regulate the visibility of the identifier
- Type rules: regulate the expected types of arguments and returned value for the operations of a language
- Type annotation / Checking
- Equivalence
2. Polymorphism
: functions with extra flexibility
- Ad hoc Polymorphism
- Overloading
- Parameter Coerion
- Universal Polymorphism
- Subtype Polymorphism
- Parametric Polymorphism
3. Scope
- Scope annotation & inference
- Static Scoping
- Dynamic Scoping
Memory
1. Stack
- Activation record
- Activation of function: Return address, link to
- Activation-specific variable
'Undergraduate lectures' 카테고리의 다른 글
[DataMining] 바이오빅데이터와데이터마이닝 2. Clustering(클러스터링) 모델 (0) | 2021.12.18 |
---|---|
[DataMining] 바이오빅데이터와데이터마이닝 1. Classification(분류) 모델 (0) | 2021.12.18 |
[DataStructures] 자료구조 정리 (0) | 2020.12.18 |
[데이터베이스] 데이터베이스 정리 (0) | 2020.12.18 |
[Mathematics] 수치해석 정리 (0) | 2020.12.18 |