
<aside> 💡 **컴파일(compile)**이란?

컴파일러가 시작되기 전에 전역 컴파일러 상태가 생성. 컴파일러상태 구조체는 ccompilerFlag, stack, PyArena 등 컴파일 과정중 유지해야 하는 여러정보를 포함한다.
// **Cpython/Python/compile.c**
struct compiler {
PyObject *c_filename;
struct symtable *c_st;
_PyFutureFeatures c_future; /* module's __future__ */
PyCompilerFlags c_flags;
int c_optimize; /* optimization level */
int c_interactive; /* true if in interactive mode */
int c_nestlevel;
PyObject *c_const_cache; /* Python dict holding all constants,
including names tuple */
struct compiler_unit *u; /* compiler state for current block */
PyObject *c_stack; /* Python list holding compiler_unit ptrs */
PyAr
c_arena : 할당된 모든 메모리 저장