Exp parseTerm() { if (CurrentToken.Kind == TokenKind.LBS) { return(parseBracket()); } else if (CurrentToken.Kind == TokenKind.RBS) { error("多余的右括号"); MoveNext(); return(null); } else if (CurrentToken.IsLiteral()) { return(parseLiteral()); } else if (CurrentToken.Kind == TokenKind.Ident && NextToken.Kind == TokenKind.Colon) { return(pareNV()); } else if (CurrentToken.Kind == TokenKind.Ident) { return(parseIdent()); } else { return(null); } }
bool expIsInExp() { if (isNewLine()) { return(false); } return(CurrentKind == TokenKind.Ident || CurrentKind == TokenKind.LBS || CurrentToken.IsLiteral()); }