# babel是怎么解析代码的?

大致分为下面四步:

  1. input => tokenizer => tokens,先对输入代码进行分词,根据最小有效语法单元,对字符串进行切割。
  2. tokens => parser => AST,然后进行语法分析,会涉及到读取、暂存、回溯、暂存点销毁等操作。
  3. AST => transformer => newAST,然后转换生成新的 AST。
  4. newAST => codeGenerator => output,最后根据新生成的 AST 输出目标代码。