void Terminal(out Expression exp)
{
exp = null;
if (la.kind == 1) {
Get();
exp = new Variable(t.val);
if (!SymbolTable.IsInScope(t.val) && !Options.BookVersion) {
errors.SemErr(t.line, t.col, string.Format("Undeclared variable '{0}'", t.val));
}
} else if (la.kind == 2) {
Get();
exp = new Number(int.Parse(t.val));
} else if (la.kind == 47) {
Get();
exp = new Bool(true);
} else if (la.kind == 48) {
Get();
exp = new Bool(false);
} else if (la.kind == 6) {
Get();
Expr(out exp);
Expect(9);
} else SynErr(56);
}