高级编程语言编译成机器码相关

一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 可执行文件(executables)

字节码(Bytecode)通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码中间代码AST 的抽象程度比 Bytecode 要更高一级。字节码比机器码占用更小的内存。

汇编语言对应着不同的机器语言指令集。通过相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程

C 语言比汇编语言高级

解释器(interpreter, parser),是一种计算机程序,能够把高端编程语言一行一行解释运行。

编译器compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
// Compiler basics: lisp to assembly 逐个字符迭代
// 词法分析(字符流char stream 转换成标记流token stream) -> 语法分析(更具语法规则生成 AST) -> 语义分析