$(VAR) X=hoge echo $${X}
VARが"all:"とかだと二行目はコマンドとして扱う必要があり、VARがカラだとタブは無視されてXに対する代入になる
そして、コマンドと代入だと、バックスラッシュやコメントのシャープの扱いが違う
struct CommandStmt : public Stmt {
Value* expr;
StringPiece orig;
};
しょうがないので、「タブではじまってるんだからたぶんコマンドでしょ」と予想してパースしておき、間違ってたらorigを再パースする