本文实现一个自顶向下的解析。
递归构造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();
}
}