llvm cookbook 2.4 实现parser

本文实现一个自顶向下的解析。

递归构造AST:

static int current_token;

static void next_token() {
  current_token = get_token();
}

static BaseAST* BaseParser() {
  switch(current_token) {
    default: return 0;
    case IDENTIFIER_TOKEN: return identifier_parser();
    case NUMERIC_TOKEN: return numeric_parser();
    case '(': return paran_parser();
  }
}

你可能感兴趣的:(llvm cookbook 2.4 实现parser)