A man in some sort of establishment, smiling while he is taking off or putting on glasses.
A man tells a joke at a local diner.
Not all establishments are a diner.  Smiling does not imply he tells a joke.
exists e1 p1 x1 x2 x3 x4.((exists e2 s1 x5.(a_off(s1) & Manner(e2,s1) & Theme(e2,x5) & Actor(e2,x1) & v_take(e2) & n_glass(x5)) | exists e3 x6.(on(e3,x6) & n_glass(x6) & Actor(e3,x1) & v_put(e3))) & n_male(x1) & while(e1,p1) & Actor(e1,x1) & v_smile(e1) & in(x1,x2) & of(x2,x4) & n_establishment(x4) & Time(x2,x3) & n_sort(x3) & n_thing(x2) & n_man(x1))
exists e1 s1 x1 x2 x3.(Theme(e1,x2) & Actor(e1,x1) & v_tell(e1) & at(x2,x3) & n_diner(x3) & a_local(s1) & Theme(s1,x3) & n_joke(x2) & n_man(x1))